2023-01-28 15:00:52 +00:00
|
|
|
name: Upload (GOG)
|
|
|
|
|
|
|
|
on:
|
|
|
|
workflow_call:
|
|
|
|
inputs:
|
|
|
|
version:
|
|
|
|
required: true
|
|
|
|
type: string
|
|
|
|
|
|
|
|
jobs:
|
|
|
|
upload:
|
|
|
|
name: Upload (GOG)
|
|
|
|
|
|
|
|
runs-on: ubuntu-20.04
|
|
|
|
|
|
|
|
steps:
|
2023-07-01 21:32:47 +00:00
|
|
|
- name: Download source
|
2024-01-25 21:22:33 +00:00
|
|
|
uses: actions/download-artifact@v4
|
2023-07-01 21:32:47 +00:00
|
|
|
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)
|
2024-01-25 21:22:33 +00:00
|
|
|
uses: actions/download-artifact@v4
|
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)
|
2024-01-25 21:22:33 +00:00
|
|
|
uses: actions/download-artifact@v4
|
2023-07-01 12:30:57 +00:00
|
|
|
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)
|
2024-01-25 21:22:33 +00:00
|
|
|
uses: actions/download-artifact@v4
|
2023-07-01 12:30:57 +00:00
|
|
|
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)
|
2024-01-25 21:22:33 +00:00
|
|
|
uses: actions/download-artifact@v4
|
2023-07-01 12:30:57 +00:00
|
|
|
with:
|
|
|
|
name: openttd-linux-generic
|
2023-07-04 20:53:46 +00:00
|
|
|
path: openttd-linux-generic
|
2023-01-28 15:00:52 +00:00
|
|
|
|
|
|
|
- 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::"
|
|
|
|
)
|