Nsfplay3 wxWidgets build test #21
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: NSFPlay 3 Builds | |
on: | |
push: | |
branches: [ "nsfplay3" ] | |
pull_request: | |
branches: [ "nsfplay3" ] | |
workflow_dispatch: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
build-msvc: | |
name: Windows MSVC | |
runs-on: windows-2019 | |
steps: | |
- name: Checkout Files | |
uses: actions/checkout@v4 | |
- name: Setup MSVC | |
uses: microsoft/setup-msbuild@v2 | |
- name: wxWidgets Cache Key | |
shell: pwsh | |
run: echo "WXHASH=$(git ls-tree --object-only HEAD wx)" >> $env:GITHUB_ENV | |
- name: Cache wxWidgets | |
id: cache-wx | |
uses: actions/cache@v4 | |
with: | |
path: wxlib | |
key: wx-msvc-${{ env.WXHASH }} | |
- name: Build wxWidgets | |
if: steps.cache-wx.outputs.cache-hit != 'true' | |
shell: cmd | |
run: | | |
echo on | |
git submodule init | |
git submodule update --depth 1 | |
cd wx | |
git submodule init | |
git submodule update --depth 1 | |
cd .. | |
set WXB_NODEBUG=1 | |
set WXB_NOPAUSE=1 | |
wxlib.bat | |
- name: Build 64-bit | |
run: msbuild nsfplay.sln -t:rebuild -property:Configuration=Release -property:Platform=x64 | |
- name: Build 32-bit | |
run: msbuild nsfplay.sln -t:rebuild -property:Configuration=Release -property:Platform=x86 | |
- name: Prepare Artifacts | |
shell: pwsh | |
run: | | |
mkdir artifact64 | |
cp nsfplay.txt artifact64 | |
cp output/x64/Release/nsfplay.exe artifact64 | |
cp output/x64/Release/nsfplac.exe artifact64 | |
cp output/Win32/Release/nsfplay.dll artifact64 | |
mkdir artifact32 | |
cp nsfplay.txt artifact32 | |
cp output/Win32/Release/nsfplay.exe artifact32 | |
cp output/Win32/Release/nsfplac.exe artifact32 | |
cp output/Win32/Release/nsfplay.dll artifact32 | |
echo "BUILD_TAG=$(git log -1 --format="%ad--%h" --date=format-local:"%Y-%m-%d-%H%M%S")" >> $env:GITHUB_ENV | |
- name: Upload 64-bit Artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: nsfplay3-win64--${{ env.BUILD_TAG }} | |
path: artifact64/ | |
- name: Upload 32-bit Artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: nsfplay3-win32--${{ env.BUILD_TAG }} | |
path: artifact32/ | |
build-msys2: | |
name: Windows MSYS2 | |
runs-on: windows-latest | |
steps: | |
- name: Checkout Files | |
uses: actions/checkout@v4 | |
- name: Setup MSYS2 | |
uses: msys2/setup-msys2@v2 | |
with: | |
msystem: UCRT64 | |
install: git make mingw-w64-ucrt-x86_64-gcc mingw-w64-i686-gcc mingw-w64-ucrt-x86_64-cmake mingw-w64-i686-cmake | |
- name: wxWidgets Cache Key | |
shell: msys2 {0} | |
run: echo "WXHASH=$(git ls-tree --object-only HEAD wx)" >> $env:GITHUB_ENV | |
- name: Cache wxWidgets | |
id: cache-wx | |
uses: actions/cache@v4 | |
with: | |
path: wxlib | |
key: wx-msys2-${{ env.WXHASH }} | |
- name: Build wxWidgets | |
if: steps.cache-wx.outputs.cache-hit != 'true' | |
shell: msys2 {0} | |
run: | | |
export WXCMAKE=make64 | |
make wxlib | |
export PATH="/mingw32/bin:$PATH" | |
export WXCMAKE=make32 | |
make wxlib | |
- name: Make 64-bit | |
shell: msys2 {0} | |
run: | | |
export OUTDIR=output/make64 INTDIR=intermediate/make64 | |
make cmd nsfplay | |
- name: Make 32-bit | |
shell: msys2 {0} | |
run: | | |
export PATH="/mingw32/bin:$PATH" | |
export OUTDIR=output/make32 INTDIR=intermediate/make32 | |
export WXL_LIBDIR=gcc_lib | |
make cmd nsfplay winamp | |
- name: Prepare Artifacts | |
shell: pwsh | |
run: | | |
mkdir artifact64 | |
cp nsfplay.txt artifact64 | |
cp output/make64/nsfplay.exe artifact64 | |
cp output/make64/nsfplac.exe artifact64 | |
cp output/make32/nsfplay.dll artifact64 | |
mkdir artifact32 | |
cp nsfplay.txt artifact32 | |
cp output/make32/nsfplay.exe artifact32 | |
cp output/make32/nsfplac.exe artifact32 | |
cp output/make32/nsfplay.dll artifact32 | |
echo "BUILD_TAG=$(git log -1 --format="%ad--%h" --date=format-local:"%Y-%m-%d-%H%M%S")" >> $env:GITHUB_ENV | |
- name: Upload 64-bit Artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: nsfplay3-win64-ucrt--${{ env.BUILD_TAG }} | |
path: artifact64/ | |
- name: Upload 32-bit Artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: nsfplay3-win32-mingw--${{ env.BUILD_TAG }} | |
path: artifact32/ | |
build-ubuntu: | |
name: Ubuntu | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout Files | |
uses: actions/checkout@v4 | |
- name: Setup Ubuntu | |
run: | | |
sudo apt-get update | |
sudo apt-get install git make gcc cmake libgtk-3-dev | |
- name: wxWidgets Cache Key | |
run: echo "WXHASH=$(git ls-tree --object-only HEAD wx)" >> $env:GITHUB_ENV | |
- name: Cache wxWidgets | |
id: cache-wx | |
uses: actions/cache@v4 | |
with: | |
path: wxlib | |
key: wx-ubuntu-${{ env.WXHASH }} | |
- name: Build wxWidgets | |
if: steps.cache-wx.outputs.cache-hit != 'true' | |
run: make wxlib | |
- name: Make | |
run: make cmd nsfplay | |
- name: Prepare Artifacts | |
run: | | |
mkdir artifact | |
cp nsfplay.txt artifact | |
cp output/make/nsfplay artifact | |
cp output/make/nsfplac artifact | |
echo "BUILD_TAG=$(git log -1 --format="%ad--%h" --date=format-local:"%Y-%m-%d-%H%M%S")" >> $env:GITHUB_ENV | |
- name: Upload Artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: nsfplay3-ubuntu--${{ env.BUILD_TAG }} | |
path: artifact/ |