@@ -71,17 +71,14 @@ jobs:
7171            run_job : true 
7272    runs-on : ubuntu-22.04 
7373    steps :
74-       - if : ${{ !matrix.run_job }} 
75-         run : | 
76-           echo "Erlang/OTP ${{ matrix.otp_build }} build not required for this branch - skipping job" 
77-           exit 0 
78- 
7974      - uses : actions/checkout@v4 
75+         if : matrix.run_job 
8076        with :
8177          fetch-depth : 50 
8278
8379      - name : " Build Release" 
8480        uses : ./.github/workflows/release_pre_built 
81+         if : matrix.run_job 
8582        with :
8683          otp_version : ${{ matrix.otp_version }} 
8784          otp : ${{ matrix.otp }} 
@@ -90,36 +87,39 @@ jobs:
9087      - name : " Attest docs provenance" 
9188        uses : actions/attest-build-provenance@v2 
9289        id : attest-docs-provenance 
93-         if : ${{  matrix.build_docs }} 
90+         if : matrix.run_job &&  matrix.build_docs
9491        with :
9592          subject-path : " Docs.zip" 
93+ 
9694      - name : " Copy docs provenance" 
97-         if : ${{  matrix.build_docs }} 
95+         if : matrix.run_job &&  matrix.build_docs
9896        run : cp "$ATTESTATION" Docs.zip.sigstore 
9997        env :
10098          ATTESTATION : " ${{ steps.attest-docs-provenance.outputs.bundle-path }}" 
10199
102100      - name : Create Docs Hashes 
103-         if : ${{  matrix.build_docs }} 
101+         if : matrix.run_job &&  matrix.build_docs
104102        run : | 
105103          shasum -a 1   Docs.zip > Docs.zip.sha1sum 
106104          shasum -a 256 Docs.zip > Docs.zip.sha256sum 
107105
108106       - name : " Upload linux release artifacts" 
109107        uses : actions/upload-artifact@v4 
108+         if : matrix.run_job 
110109        with :
111110          name : build-linux-elixir-otp-${{ matrix.otp }} 
112111          path : elixir-otp-${{ matrix.otp }}.zip 
113112
114113      - name : " Upload windows release artifacts" 
115114        uses : actions/upload-artifact@v4 
115+         if : matrix.run_job 
116116        with :
117117          name : build-windows-elixir-otp-${{ matrix.otp }} 
118118          path : elixir-otp-${{ matrix.otp }}.exe 
119119
120120      - name : " Upload doc artifacts" 
121121        uses : actions/upload-artifact@v4 
122-         if : ${{  matrix.build_docs }} 
122+         if : matrix.run_job &&  matrix.build_docs
123123        with :
124124          name : Docs 
125125          path : Docs.zip* 
@@ -145,15 +145,9 @@ jobs:
145145        with :
146146          name : build-${{ matrix.flavor }}-elixir-otp-${{ matrix.otp }} 
147147
148-       - name : " Check download status" 
149-         if : steps.download.outcome != 'success' 
150-         run : | 
151-           echo "Erlang/OTP ${{ matrix.otp_build }} build not found - skipping job" 
152-           exit 0 
153- 
154148      - name : " Sign files with Trusted Signing" 
155-         if : github.repository == 'elixir-lang/elixir' && matrix.flavor == 'windows' 
156149150+         if : github.repository == 'elixir-lang/elixir' && matrix.flavor == 'windows' && steps.download.outcome == 'success' 
157151        with :
158152          azure-tenant-id : ${{ secrets.AZURE_TENANT_ID }} 
159153          azure-client-id : ${{ secrets.AZURE_CLIENT_ID }} 
@@ -168,18 +162,21 @@ jobs:
168162          timestamp-digest : SHA256 
169163
170164      - name : " Attest release provenance" 
171-         uses : actions/attest-build-provenance@v2 
172165        id : attest-provenance 
166+         uses : actions/attest-build-provenance@v2 
167+         if : steps.download.outcome == 'success' 
173168        with :
174169          subject-path : ${{ env.RELEASE_FILE }} 
170+ 
175171      - name : " Copy release .zip provenance" 
172+         if : steps.download.outcome == 'success' 
176173        shell : bash 
177174        run : cp "$ATTESTATION" "${RELEASE_FILE}.sigstore" 
178175        env :
179176          ATTESTATION : " ${{ steps.attest-provenance.outputs.bundle-path }}" 
180177
181178      - name : Create Release Hashes 
182-         if : matrix.flavor == 'windows' 
179+         if : matrix.flavor == 'windows' && steps.download.outcome == 'success'  
183180        shell : pwsh 
184181        run : | 
185182          $sha1 = Get-FileHash "$env:RELEASE_FILE" -Algorithm SHA1 
@@ -189,14 +186,15 @@ jobs:
189186          $sha256.Hash.ToLower() + "  " + $env:RELEASE_FILE | Out-File "$env:RELEASE_FILE.sha256sum" 
190187
191188       - name : Create Release Hashes 
192-         if : matrix.flavor == 'linux' 
189+         if : matrix.flavor == 'linux' && steps.download.outcome == 'success'  
193190        shell : bash 
194191        run : | 
195192          shasum -a 1   "$RELEASE_FILE" > "${RELEASE_FILE}.sha1sum" 
196193          shasum -a 256 "$RELEASE_FILE" > "${RELEASE_FILE}.sha256sum" 
197194
198195       - name : " Upload linux release artifacts" 
199196        uses : actions/upload-artifact@v4 
197+         if : steps.download.outcome == 'success' 
200198        with :
201199          name : sign-${{ matrix.flavor }}-elixir-otp-${{ matrix.otp }} 
202200          path : ${{ env.RELEASE_FILE }}* 
0 commit comments