name: Upload (Steam) on: workflow_call: inputs: version: required: true type: string trigger_type: required: true type: string jobs: upload: name: Upload (Steam) runs-on: ubuntu-20.04 steps: - name: Download source uses: actions/download-artifact@v4 with: name: internal-source path: internal-source - name: Download bundle (Windows x86) uses: actions/download-artifact@v4 with: name: openttd-windows-x86 path: openttd-windows-x86 - name: Download bundle (Windows x64) uses: actions/download-artifact@v4 with: name: openttd-windows-x64 path: openttd-windows-x64 - name: Download bundle (MacOS) uses: actions/download-artifact@v4 with: name: openttd-macos-universal path: openttd-macos-universal - name: Download bundle (Linux) uses: actions/download-artifact@v4 with: name: openttd-linux-generic path: openttd-linux-generic - name: Setup steamcmd uses: CyberAndrii/setup-steamcmd@v1 - name: Generate Steam auth code id: steam-totp uses: CyberAndrii/steam-totp@v1 with: shared_secret: ${{ secrets.STEAM_SHARED_SECRET }} - name: Upload to Steam run: | echo "::group::Extracting source" mkdir source ( cd source tar -xf ../internal-source/source.tar.gz --strip-components=1 ) echo "::endgroup::" mkdir steam ( cd steam echo "::group::Prepare Win32" unzip ../openttd-windows-x86/openttd-*-windows-win32.zip mv openttd-*-windows-win32 steam-win32 echo "::endgroup::" echo "::group::Prepare Win64" unzip ../openttd-windows-x64/openttd-*-windows-win64.zip mv openttd-*-windows-win64 steam-win64 echo "::endgroup::" echo "::group::Prepare macOS" mkdir steam-macos ( cd steam-macos unzip ../../openttd-macos-universal/openttd-*-macos-universal.zip ) echo "::endgroup::" echo "::group::Prepare Linux" tar xvf ../openttd-linux-generic/openttd-*-linux-generic-amd64.tar.xz mv openttd-*-linux-generic-amd64 steam-linux echo "::endgroup::" echo "::group::Preparing build file" if [ "${{ inputs.trigger_type }}" = "new-tag" ]; then BRANCH="testing" else BRANCH="nightly" fi cat ../source/os/steam/release.vdf | sed 's/@@DESCRIPTION@@/openttd-${{ inputs.version }}/;s/@@BRANCH@@/'${BRANCH}'/' > release.vdf cat release.vdf echo "::endgroup::" echo "::group::Upload to Steam" steamcmd +login ${{ secrets.STEAM_USERNAME }} ${{ secrets.STEAM_PASSWORD }} ${{ steps.steam-totp.outputs.code }} +run_app_build $(pwd)/release.vdf +quit echo "::endgroup::" )