17 runs-on: ubuntu-latest
20 - name: Download source
21 uses: actions/download-artifact@v4
26 - name: Download bundle (Windows x86)
27 uses: actions/download-artifact@v4
29 name: openttd-windows-x86
30 path: openttd-windows-x86
32 - name: Download bundle (Windows x64)
33 uses: actions/download-artifact@v4
35 name: openttd-windows-x64
36 path: openttd-windows-x64
38 - name: Download bundle (MacOS)
39 uses: actions/download-artifact@v4
41 name: openttd-macos-universal
42 path: openttd-macos-universal
44 - name: Download bundle (Linux)
45 uses: actions/download-artifact@v4
47 name: openttd-linux-generic
48 path: openttd-linux-generic
50 - name: Setup steamcmd
51 uses: CyberAndrii/setup-steamcmd@v1
53 - name: Generate Steam auth code
55 uses: CyberAndrii/steam-totp@v1
57 shared_secret: ${{ secrets.STEAM_SHARED_SECRET }}
59 - name: Upload to Steam
61 echo "::group::Extracting source"
65 tar -xf ../internal-source/source.tar.gz --strip-components=1
73 echo "::group::Prepare Win32"
74 unzip ../openttd-windows-x86/openttd-*-windows-win32.zip
75 mv openttd-*-windows-win32 steam-win32
78 echo "::group::Prepare Win64"
79 unzip ../openttd-windows-x64/openttd-*-windows-win64.zip
80 mv openttd-*-windows-win64 steam-win64
83 echo "::group::Prepare macOS"
87 unzip ../../openttd-macos-universal/openttd-*-macos-universal.zip
91 echo "::group::Prepare Linux"
92 tar xvf ../openttd-linux-generic/openttd-*-linux-generic-amd64.tar.xz
93 mv openttd-*-linux-generic-amd64 steam-linux
96 echo "::group::Preparing build file"
97 if [ "${{ inputs.trigger_type }}" = "new-tag" ]; then
102 cat ../source/os/steam/release.vdf | sed 's/@@DESCRIPTION@@/openttd-${{ inputs.version }}/;s/@@BRANCH@@/'${BRANCH}'/' > release.vdf
106 echo "::group::Upload to Steam"
107 steamcmd +login ${{ secrets.STEAM_USERNAME }} ${{ secrets.STEAM_PASSWORD }} ${{ steps.steam-totp.outputs.code }} +run_app_build $(pwd)/release.vdf +quit