mirror of
https://github.com/JGRennison/OpenTTD-patches.git
synced 2024-11-04 06:00:15 +00:00
125 lines
3.8 KiB
YAML
125 lines
3.8 KiB
YAML
|
name: Upload (GOG)
|
||
|
|
||
|
on:
|
||
|
workflow_call:
|
||
|
inputs:
|
||
|
version:
|
||
|
required: true
|
||
|
type: string
|
||
|
|
||
|
jobs:
|
||
|
upload:
|
||
|
name: Upload (GOG)
|
||
|
|
||
|
runs-on: ubuntu-20.04
|
||
|
|
||
|
steps:
|
||
|
- name: Download all bundles
|
||
|
uses: actions/download-artifact@v3
|
||
|
|
||
|
- name: Install GOG Galaxy Build Creator
|
||
|
run: |
|
||
|
wget https://cdn.gog.com/open/galaxy/pipeline/build_creator/gnu-linux/GOGGalaxyBuildCreator-1.4.0.AppImage
|
||
|
7z x GOGGalaxyBuildCreator-1.4.0.AppImage
|
||
|
chmod +x ./app/GOGGalaxyPipelineBuilder
|
||
|
|
||
|
- name: Install OpenGFX
|
||
|
shell: bash
|
||
|
run: |
|
||
|
mkdir -p gog/opengfx/baseset
|
||
|
cd gog/opengfx/baseset
|
||
|
|
||
|
echo "::group::Download OpenGFX"
|
||
|
curl -L https://cdn.openttd.org/opengfx-releases/7.1/opengfx-7.1-all.zip -o opengfx-all.zip
|
||
|
echo "::endgroup::"
|
||
|
|
||
|
echo "::group::Unpack OpenGFX"
|
||
|
unzip opengfx-all.zip
|
||
|
echo "::endgroup::"
|
||
|
|
||
|
rm -f opengfx-all.zip
|
||
|
|
||
|
- name: Install OpenMSX
|
||
|
shell: bash
|
||
|
run: |
|
||
|
mkdir -p gog/openmsx/baseset
|
||
|
cd gog/openmsx/baseset
|
||
|
|
||
|
echo "::group::Download OpenMSX"
|
||
|
curl -L https://cdn.openttd.org/openmsx-releases/0.4.2/openmsx-0.4.2-all.zip -o openmsx-all.zip
|
||
|
echo "::endgroup::"
|
||
|
|
||
|
echo "::group::Unpack OpenGFX"
|
||
|
unzip openmsx-all.zip
|
||
|
tar xf openmsx-*.tar
|
||
|
echo "::endgroup::"
|
||
|
|
||
|
rm -f openmsx-all.zip openmsx-*.tar
|
||
|
|
||
|
- name: Install OpenSFX
|
||
|
shell: bash
|
||
|
run: |
|
||
|
mkdir -p gog/opensfx/baseset
|
||
|
cd gog/opensfx/baseset
|
||
|
|
||
|
echo "::group::Download OpenSFX"
|
||
|
curl -L https://cdn.openttd.org/opensfx-releases/1.0.3/opensfx-1.0.3-all.zip -o opensfx-all.zip
|
||
|
echo "::endgroup::"
|
||
|
|
||
|
echo "::group::Unpack OpenSFX"
|
||
|
unzip opensfx-all.zip
|
||
|
tar xf opensfx-*.tar
|
||
|
echo "::endgroup::"
|
||
|
|
||
|
rm -f opensfx-all.zip opensfx-*.tar
|
||
|
|
||
|
- name: Upload to GOG
|
||
|
run: |
|
||
|
echo "::group::Extracting source"
|
||
|
mkdir source
|
||
|
(
|
||
|
cd source
|
||
|
tar -xf ../internal-source/source.tar.gz --strip-components=1
|
||
|
)
|
||
|
echo "::endgroup::"
|
||
|
|
||
|
(
|
||
|
cd gog
|
||
|
|
||
|
echo "::group::Prepare Win32"
|
||
|
unzip ../openttd-windows-x86/openttd-*-windows-win32.zip
|
||
|
mv openttd-*-windows-win32 win32
|
||
|
echo "::endgroup::"
|
||
|
|
||
|
echo "::group::Prepare Win64"
|
||
|
unzip ../openttd-windows-x64/openttd-*-windows-win64.zip
|
||
|
mv openttd-*-windows-win64 win64
|
||
|
echo "::endgroup::"
|
||
|
|
||
|
echo "::group::Prepare macOS"
|
||
|
mkdir macos
|
||
|
(
|
||
|
cd 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 linux
|
||
|
echo "::endgroup::"
|
||
|
|
||
|
echo "::group::Preparing build files"
|
||
|
cp ../source/os/gog/*.json .
|
||
|
for json in $(ls *.json); do
|
||
|
sed -i 's/VERSION/${{ inputs.version }}/g;s/CLIENT_ID/${{ secrets.GOG_CLIENT_ID }}/g;s/CLIENT_SECRET/${{ secrets.GOG_CLIENT_SECRET }}/g' ${json}
|
||
|
done
|
||
|
echo "::endgroup::"
|
||
|
|
||
|
echo "::group::Upload to GOG"
|
||
|
../app/GOGGalaxyPipelineBuilder build-game --username "${{ secrets.GOG_USERNAME }}" --password "${{ secrets.GOG_PASSWORD }}" --branch Testing windows.json
|
||
|
../app/GOGGalaxyPipelineBuilder build-game --username "${{ secrets.GOG_USERNAME }}" --password "${{ secrets.GOG_PASSWORD }}" --branch Testing macos.json
|
||
|
../app/GOGGalaxyPipelineBuilder build-game --username "${{ secrets.GOG_USERNAME }}" --password "${{ secrets.GOG_PASSWORD }}" --branch Testing linux.json
|
||
|
echo "::endgroup::"
|
||
|
)
|