diff --git a/.github/workflows/container_latest.yml b/.github/workflows/container_latest.yml index ace0ce2fc..9cc97a972 100644 --- a/.github/workflows/container_latest.yml +++ b/.github/workflows/container_latest.yml @@ -28,16 +28,28 @@ permissions: contents: read jobs: + setup: + runs-on: ubuntu-latest + outputs: + variants: ${{ steps.set-variants.outputs.variants }} + steps: + - name: Select variants for this run + id: set-variants + run: | + if [ "${{ github.event_name }}" = "workflow_dispatch" ] && [ "${{ github.event.inputs.variant }}" != "all" ]; then + variants="[\"${{ github.event.inputs.variant }}\"]" + else + variants='["standard","large_disk"]' + fi + echo "variants=$variants" >> "$GITHUB_OUTPUT" + build: + needs: [setup] runs-on: ubuntu-latest - if: | - github.event_name != 'workflow_dispatch' || - github.event.inputs.variant == 'all' || - github.event.inputs.variant == matrix.variant strategy: matrix: platform: [amd64, arm64, arm, 386] - variant: [standard, large_disk] + variant: ${{ fromJSON(needs.setup.outputs.variants) }} steps: - name: Checkout @@ -139,17 +151,11 @@ jobs: create-manifest: runs-on: ubuntu-latest - needs: [build] - if: | - github.event_name != 'pull_request' && - ( - github.event_name != 'workflow_dispatch' || - github.event.inputs.variant == 'all' || - github.event.inputs.variant == matrix.variant - ) + needs: [setup, build] + if: github.event_name != 'pull_request' strategy: matrix: - variant: [standard, large_disk] + variant: ${{ fromJSON(needs.setup.outputs.variants) }} steps: - name: Checkout uses: actions/checkout@v6