Nsfplay3 wxWidgets build test #14
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-latest | |
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 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: | | |
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: make mingw-w64-ucrt-x86_64-gcc mingw-w64-i686-gcc | |
- name: wxWidgets Cache Key | |
shell: msys2 {0} | |
run: echo WXHASH=$(git ls-tree 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: | | |
make wx | |
export PATH="/mingw32/bin:$PATH" WXCMAKE=make32; make wx | |
- name: Make 64-bit | |
shell: msys2 {0} | |
run: export OUTDIR=output/make64 INTDIR=intermediate/make64 ; make cmd gui | |
- name: Make 32-bit | |
shell: msys2 {0} | |
run: export PATH="/mingw32/bin:$PATH" OUTDIR=output/make32 INTDIR=intermediate/make32 WXL_LIBTYPE=gcc_lib ; make cmd gui 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/ |