Implement a more robust cleanup strategy #71
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build gFwens (pull request) | |
on: | |
pull_request: | |
paths-ignore: | |
- "README.md" | |
- 'examples/**' | |
- ".gitignore" | |
- ".github/workflows/build-master.yml" | |
env: | |
STEAMWORKS_LIB_BASEDIR: "./deps" | |
jobs: | |
fetch-dependencies: | |
runs-on: ubuntu-latest | |
env: | |
STEAMWORKS_URL: ${{ secrets.STEAMWORKS_SDK_URL }} | |
STEAMWORKS_SDK_URL_150: ${{ secrets.STEAMWORKS_SDK_URL_150 }} | |
steps: | |
- run: | | |
wget https://github.com/premake/premake-core/releases/download/v5.0.0-alpha15/premake-5.0.0-alpha15-windows.zip -qO- | busybox unzip - | |
wget $STEAMWORKS_URL -qO- | busybox unzip - | |
wget https://github.com/premake/premake-core/releases/download/v5.0.0-alpha15/premake-5.0.0-alpha15-linux.tar.gz -qO- | tar zxf - | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: premake-persistence | |
path: ./premake* | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: sdk-persistence-32 | |
path: ./sdk* | |
# Dealing with the difference in the x64 steamworks requirements | |
- run: | | |
rm -R ./sdk | |
wget $STEAMWORKS_SDK_URL_150 -qO- | busybox unzip - | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: sdk-persistence-64 | |
path: ./sdk* | |
### | |
build-win: | |
runs-on: windows-2019 | |
needs: fetch-dependencies | |
strategy: | |
matrix: | |
arch: [32, 64] | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
repository: facepunch/gmod-module-base | |
ref: refs/heads/development | |
path: gmodheaders | |
- uses: actions/checkout@v4 | |
with: | |
path: gfwens | |
- uses: actions/download-artifact@v4 | |
with: | |
name: premake-persistence | |
path: gfwens | |
- uses: actions/download-artifact@v4 | |
with: | |
name: sdk-persistence-64 | |
path: gfwens/deps | |
- uses: microsoft/setup-msbuild@v2 | |
# Dumb way of doing this but oh well. Saves fight premake on this. | |
- name: "Compile Binary" | |
if: ${{ matrix.arch == 64 }} | |
run: | | |
cd gfwens | |
./premake5.exe vs2019 | |
MSBuild.exe /p:Configuration=Release /property:Platform=x${{matrix.arch}} | |
- name: "Compile Binary" | |
if: ${{ matrix.arch != 64 }} | |
run: | | |
cd gfwens | |
./premake5.exe vs2019 | |
MSBuild.exe /p:Configuration=Release | |
### | |
build-linux: | |
runs-on: ubuntu-latest | |
needs: fetch-dependencies | |
strategy: | |
matrix: | |
arch: [32, 64] | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
repository: facepunch/gmod-module-base | |
ref: refs/heads/development | |
path: gmodheaders | |
- uses: actions/checkout@v4 | |
with: | |
path: gfwens | |
- uses: actions/download-artifact@v4 | |
with: | |
name: premake-persistence | |
path: gfwens | |
- uses: actions/download-artifact@v4 | |
with: | |
name: sdk-persistence-64 | |
path: gfwens/deps | |
- name: "Compile Binary" | |
run: | | |
sudo apt update && sudo apt install gcc-multilib g++-multilib -y | |
cd gfwens | |
chmod +x ./premake5 | |
./premake5 gmake2 | |
make config=release_x${{matrix.arch}} | |
release: | |
name: Build Cleanup | |
runs-on: ubuntu-latest | |
if: always() | |
needs: [build-linux, build-win] | |
steps: | |
- uses: geekyeggo/delete-artifact@v5 | |
with: | |
name: | | |
premake-persistence | |
sdk-persistence-32 | |
sdk-persistence-64 | |