@@ -76,8 +76,8 @@ jobs:
with:
version: ${{ needs.source.outputs.version }}
upload-aws:
name: Upload (AWS)
upload-cdn:
name: Upload (CDN)
needs:
- source
- docs
@@ -90,7 +90,7 @@ jobs:
# The always() makes sure the rest is always evaluated.
if: always() && needs.source.result == 'success' && needs.docs.result == 'success' && needs.linux.result == 'success' && needs.macos.result == 'success' && needs.windows.result == 'success' && (needs.windows-store.result == 'success' || needs.windows-store.result == 'skipped')
uses: ./.github/workflows/upload-aws.yml
uses: ./.github/workflows/upload-cdn.yml
secrets: inherit
deleted file
new file 100644
on:
workflow_call:
inputs:
version:
required: true
type: string
folder:
trigger_type:
jobs:
prepare:
name: Prepare
runs-on: ubuntu-latest
steps:
- name: Download all bundles
uses: actions/download-artifact@v3
- name: Calculate checksums
run: |
echo "::group::Move bundles to a single folder"
mkdir bundles
mv openttd-*/* bundles/
echo "::endgroup::"
cd bundles
for i in $(ls openttd-*); do
echo "::group::Calculating checksums for ${i}"
openssl dgst -r -md5 -hex $i > $i.md5sum
openssl dgst -r -sha1 -hex $i > $i.sha1sum
openssl dgst -r -sha256 -hex $i > $i.sha256sum
done
# Some targets generate files that are meant for our-eyes-only.
# They are stored in the "internal" folder, and contains bundles
# for targets like Windows Store. No user has a benefit of knowing
# they exist, hence: internal.
if [ -e internal ]; then
cd internal
fi
- name: Store bundles
uses: actions/upload-artifact@v3
name: cdn-bundles
path: bundles/*
retention-days: 5
publish:
- prepare
name: Publish
uses: OpenTTD/actions/.github/workflows/rw-cdn-upload.yml@v4
secrets:
CDN_SIGNING_KEY: ${{ secrets.CDN_SIGNING_KEY }}
DEPLOYMENT_APP_ID: ${{ secrets.DEPLOYMENT_APP_ID }}
DEPLOYMENT_APP_PRIVATE_KEY: ${{ secrets.DEPLOYMENT_APP_PRIVATE_KEY }}
artifact-name: cdn-bundles
folder: ${{ inputs.folder }}
version: ${{ inputs.version }}
docs:
if: ${{ inputs.trigger_type == 'new-master' }}
- publish
name: Publish docs
- name: Generate access token
id: generate_token
uses: tibdex/github-app-token@v1
app_id: ${{ secrets.DEPLOYMENT_APP_ID }}
private_key: ${{ secrets.DEPLOYMENT_APP_PRIVATE_KEY }}
repository: OpenTTD/workflows
- name: Trigger 'Publish Docs'
uses: peter-evans/repository-dispatch@v2
token: ${{ secrets.DEPLOYMENT_TOKEN }}
event-type: publish-docs
client-payload: '{"version": "${{ inputs.version }}", "folder": "${{ inputs.folder }}"}'
@@ -14,8 +14,25 @@ jobs:
runs-on: ubuntu-20.04
- name: Download bundle (Windows x86)
name: openttd-windows-x86
- name: Download bundle (Windows x64)
name: openttd-windows-x64
- name: Download bundle (MacOS)
name: openttd-macos-universal
- name: Download bundle (Linux)
name: openttd-linux-generic
- name: Install GOG Galaxy Build Creator
@@ -17,8 +17,25 @@ jobs:
- name: Setup steamcmd
uses: CyberAndrii/setup-steamcmd@v1
Status change: