2023-01-28 12:32:30 +00:00
|
|
|
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:
|
2023-07-01 21:32:47 +00:00
|
|
|
- name: Download source
|
|
|
|
uses: actions/download-artifact@v3
|
|
|
|
with:
|
|
|
|
name: internal-source
|
2023-07-04 20:53:46 +00:00
|
|
|
path: internal-source
|
2023-07-01 21:32:47 +00:00
|
|
|
|
2023-07-01 12:30:57 +00:00
|
|
|
- name: Download bundle (Windows x86)
|
2023-01-28 12:32:30 +00:00
|
|
|
uses: actions/download-artifact@v3
|
2023-07-01 12:30:57 +00:00
|
|
|
with:
|
|
|
|
name: openttd-windows-x86
|
2023-07-04 20:53:46 +00:00
|
|
|
path: openttd-windows-x86
|
2023-07-01 12:30:57 +00:00
|
|
|
|
|
|
|
- name: Download bundle (Windows x64)
|
|
|
|
uses: actions/download-artifact@v3
|
|
|
|
with:
|
|
|
|
name: openttd-windows-x64
|
2023-07-04 20:53:46 +00:00
|
|
|
path: openttd-windows-x64
|
2023-07-01 12:30:57 +00:00
|
|
|
|
|
|
|
- name: Download bundle (MacOS)
|
|
|
|
uses: actions/download-artifact@v3
|
|
|
|
with:
|
|
|
|
name: openttd-macos-universal
|
2023-07-04 20:53:46 +00:00
|
|
|
path: openttd-macos-universal
|
2023-07-01 12:30:57 +00:00
|
|
|
|
|
|
|
- name: Download bundle (Linux)
|
|
|
|
uses: actions/download-artifact@v3
|
|
|
|
with:
|
|
|
|
name: openttd-linux-generic
|
2023-07-04 20:53:46 +00:00
|
|
|
path: openttd-linux-generic
|
2023-01-28 12:32:30 +00:00
|
|
|
|
|
|
|
- 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::"
|
|
|
|
)
|