diff options
Diffstat (limited to '.github/workflows')
| -rw-r--r-- | .github/workflows/build-announcements.yml | 32 |
1 files changed, 23 insertions, 9 deletions
diff --git a/.github/workflows/build-announcements.yml b/.github/workflows/build-announcements.yml index 17c2246..426b621 100644 --- a/.github/workflows/build-announcements.yml +++ b/.github/workflows/build-announcements.yml @@ -19,35 +19,49 @@ on: permissions: contents: write -concurrency: - group: build-announcements-${{ github.event.client_payload.branch || github.event.inputs.branch }} - cancel-in-progress: false - jobs: - build: + select: runs-on: ubuntu-latest + outputs: + branches: ${{ steps.target.outputs.branches }} steps: - - name: Resolve target branch + - name: Resolve target branches id: target env: DISPATCH_BRANCH: ${{ github.event.client_payload.branch }} INPUT_BRANCH: ${{ github.event.inputs.branch }} run: | + if [ "$GITHUB_EVENT_NAME" = schedule ]; then + echo 'branches=["stable","testing"]' >> "$GITHUB_OUTPUT" + exit 0 + fi BRANCH="${DISPATCH_BRANCH:-${INPUT_BRANCH:-stable}}" case "$BRANCH" in stable|testing|unstable) ;; *) echo "::error::invalid or missing branch: '$BRANCH'"; exit 1 ;; esac - echo "branch=$BRANCH" >> "$GITHUB_OUTPUT" + echo "branches=[\"$BRANCH\"]" >> "$GITHUB_OUTPUT" + + build: + needs: select + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + branch: ${{ fromJSON(needs.select.outputs.branches) }} + concurrency: + group: build-announcements-${{ matrix.branch }} + cancel-in-progress: false + steps: - uses: actions/checkout@v4 with: - ref: ${{ steps.target.outputs.branch }} + ref: ${{ matrix.branch }} - name: Build announcements.json run: python3 .github/scripts/build-announcements.py env: - RELEASE_BRANCH: ${{ steps.target.outputs.branch }} + RELEASE_BRANCH: ${{ matrix.branch }} SOURCE_REPO: AeroCore-IO/AeroCore-OS GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} TZ: UTC |
