From 6c9a608fe6f093bbae7808bd723e6bc34b09827b Mon Sep 17 00:00:00 2001 From: Brendan Golden Date: Sat, 14 Sep 2024 19:06:09 +0100 Subject: [PATCH] ci: actually read the documentation and turns out ye can do things smarter --- .forgejo/workflows/push.yaml | 26 ++++++++------------------ 1 file changed, 8 insertions(+), 18 deletions(-) diff --git a/.forgejo/workflows/push.yaml b/.forgejo/workflows/push.yaml index 8c1a1ad..373a552 100644 --- a/.forgejo/workflows/push.yaml +++ b/.forgejo/workflows/push.yaml @@ -21,11 +21,7 @@ jobs: pull-requests: read # Set job outputs to values from filter step outputs: - forgejo: ${{ steps.filter.outputs.forgejo }} - minutes: ${{ steps.filter.outputs.minutes }} - events: ${{ steps.filter.outputs.events }} - handovers: ${{ steps.filter.outputs.handovers }} - budget: ${{ steps.filter.outputs.budgets }} + scripts: ${{ steps.filter.outputs.changes }} steps: # make sure the code is available - uses: https://code.forgejo.org/actions/checkout@v4 @@ -38,8 +34,6 @@ jobs: id: filter with: filters: | - forgejo: - - '.forgejo/**/*' minutes: - 'Minutes/**/*' events: @@ -56,31 +50,27 @@ jobs: needs: changes strategy: matrix: - script: [ handovers, minutes, budget, events ] + # script: [ handovers, minutes, budget, events ] + script: ${{ fromJSON(needs.changes.outputs.scripts) }} permissions: # needs this to create tags and releases contents: write steps: # the if statements are to only run if there are changes in the sub dir # get the repo first - - if: ${{ format('needs.changes.outputs.{0}', matrix.script) == 'true' }} - uses: https://code.forgejo.org/actions/checkout@v4 - - if: ${{ format('needs.changes.outputs.{0}', matrix.script) == 'true' }} - uses: https://forgejo.skynet.ie/Skynet/actions/get_lfs@v3 + - uses: https://code.forgejo.org/actions/checkout@v4 + - uses: https://forgejo.skynet.ie/Skynet/actions/get_lfs@v3 with: repository: ${{ gitea.repository }} ref_name: ${{ gitea.ref_name }} # actual script to run the build process - - if: ${{ format('needs.changes.outputs.{0}', matrix.script) == 'true' }} - run: nix run .#${{ matrix.script }} + - run: nix run .#${{ matrix.script }} # zip the files so they can be released - - if: ${{ format('needs.changes.outputs.{0}', matrix.script) == 'true' }} - run: | + - run: | mkdir releases zip -r releases/${{ matrix.script }}.zip pdf_${{ matrix.script }} # upload them so they are available at https://forgejo.skynet.ie/Computer_Society/open-goverance/releases/tag/minutes_latest - - if: ${{ format('needs.changes.outputs.{0}', matrix.script) == 'true' }} - uses: https://forgejo.skynet.ie/Skynet/actions-forgejo-release@v1 + - uses: https://forgejo.skynet.ie/Skynet/actions-forgejo-release@v1 with: token: ${{ secrets.API_TOKEN_FORGEJO }} direction: upload