@@ -86,8 +86,8 @@ jobs:
with:
version: ${{ needs.source.outputs.version }}
upload-cdn:
name: Upload (CDN)
upload:
name: Upload
needs:
- source
- docs
@@ -101,6 +101,25 @@ jobs:
# The always() makes sure the rest is always evaluated.
if: always() && needs.source.result == 'success' && needs.docs.result == 'success' && needs.linux-legacy.result == 'success' && needs.linux.result == 'success' && needs.macos.result == 'success' && needs.windows.result == 'success' && (needs.windows-store.result == 'success' || needs.windows-store.result == 'skipped')
runs-on: ubuntu-latest
# This job is empty, but ensures no upload job starts before all targets finished and are successful.
steps:
- name: Build completed
run: |
true
- upload
# As windows-store is condition, we need to check ourselves if we need to run.
# Yes, you even need to do this if you yourself don't depend on the condition.
if: always() && needs.source.result == 'success' && needs.upload.result == 'success'
uses: ./.github/workflows/upload-cdn.yml
secrets: inherit
@@ -113,11 +132,13 @@ jobs:
name: Upload (Steam)
- linux
- macos
- windows
if: needs.source.outputs.trigger_type == 'new-master' || needs.source.outputs.trigger_type == 'new-tag'
# Additionally, only nightlies and releases go to Steam; not PRs.
if: always() && needs.source.result == 'success' && needs.upload.result == 'success' && (needs.source.outputs.trigger_type == 'new-master' || needs.source.outputs.trigger_type == 'new-tag')
uses: ./.github/workflows/upload-steam.yml
@@ -130,11 +151,13 @@ jobs:
name: Upload (GOG)
if: needs.source.outputs.trigger_type == 'new-tag'
# Additionally, only releases go to GOG; not nightlies or PRs.
if: always() && needs.source.result == 'success' && needs.upload.result == 'success' && needs.source.outputs.trigger_type == 'new-tag'
uses: ./.github/workflows/upload-gog.yml
Status change: