Skip to content

Another commit to trigger GitHub Action #18

Another commit to trigger GitHub Action

Another commit to trigger GitHub Action #18

Workflow file for this run

name: Build NetLib Browser
on:
push:
paths:
- 'Client App/**'
branches: [ "main" ]
pull_request:
paths:
- 'Client App/**'
branches: [ "main" ]
release:
types:
- created
env:
WXVERSION: v3.2.8
WINDOWS_ARTIFACT_NAME: NetLibBrowser-Windows-x86
LINUX_ARTIFACT_NAME: NetLibBrowser-Linux-x64
MACOS_ARTIFACT_NAME: NetLibBrowser-macOS-x64
jobs:
build-windows:
runs-on: windows-2019
env:
SOLUTION_FILE_PATH: ./Client App/NetLibBrowser.sln
BUILD_CONFIGURATION: Release
BUILD_PLATFORM: x86
BUILD_PLATFORM2: Win32
BUILD_TOOLSET: v141_xp
BUILD_DIRECTORY: ./Client App/Release
WXWIN: D:/wxWidgets/
steps:
- uses: actions/checkout@v4
- uses: ilammy/msvc-dev-cmd@v1
- name: Download wxWidgets
run: |
cd D:/
git clone https://github.com/wxWidgets/wxWidgets.git
cd wxWidgets
git checkout tags/${{ env.WXVERSION }}
git submodule update --init --recursive
cd build/msw
Get-ChildItem *.vcxproj -recurse |
Foreach-Object {
$c = ($_ | Get-Content)
$c = $c -replace 'MultiThreadedDLL','MultiThreaded'
[IO.File]::WriteAllText($_.FullName, ($c -join "`r`n"))
}
- name: Compile wxWidgets
run: |
cd D:/wxWidgets/build/msw
msbuild /m /p:Configuration=${{ env.BUILD_CONFIGURATION }} /p:Platform=${{ env.BUILD_PLATFORM2 }} /p:PlatformToolset=${{ env.BUILD_TOOLSET }} /p:RuntimeLibrary=MultiThreaded wx_vc16.sln
- name: Download UNFLoader
run: |
cd D:/
git clone https://github.com/buu342/N64-UNFLoader
cd N64-UNFLoader
git submodule update --init --recursive
- name: Compile UNFLoader
run: |
cd D:/N64-UNFLoader/UNFLoader
msbuild /m /p:Configuration=${{ env.BUILD_CONFIGURATION }} /p:Platform=${{ env.BUILD_PLATFORM2 }} /p:PlatformToolset=${{ env.BUILD_TOOLSET }} FlashcartLib_Static.vcxproj
- name: Add MSBuild to PATH
uses: microsoft/setup-msbuild@v2
with:
vs-version: '16.0'
msbuild-architecture: x86
- name: Build NetLib Browser
working-directory: ${{ env.GITHUB_WORKSPACE }}
run: |
cd "Client App/Include/"
Copy-Item "D:/N64-UNFLoader/UNFLoader/Release/Flashcart.lib"
cd ../..
msbuild /m /p:Configuration=${{ env.BUILD_CONFIGURATION }} /p:Platform=${{ env.BUILD_PLATFORM }} /p:PlatformToolset=${{ env.BUILD_TOOLSET }} "${{ env.SOLUTION_FILE_PATH }}"
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: ${{ env.WINDOWS_ARTIFACT_NAME }}
path: ${{ env.BUILD_DIRECTORY }}/NetLibBrowser.exe
build-linux:
runs-on: ubuntu-latest
env:
SOURCES_DIRECTORY: Client App
BUILD_DIRECTORY: Client App/build
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: |
sudo apt-get install build-essential libgtk-3-dev freeglut3-dev libftdi1-dev libusb-1.0-0-dev libudev-dev
- name: Build wxWidgets
run: |
git clone https://github.com/wxWidgets/wxWidgets.git
cd wxWidgets
git checkout tags/${{ env.WXVERSION }}
git submodule update --init --recursive
mkdir gtk-build
cd gtk-build
../configure --with-opengl --disable-shared
make -j$(nproc)
sudo make install
sudo ldconfig
- name: Build UNFLoader
run: |
git clone https://github.com/buu342/N64-UNFLoader
cd N64-UNFLoader
git submodule update --init --recursive
cd UNFLoader
make static
cp -f flashcart.a "../../${{ env.SOURCES_DIRECTORY }}/Include/"
- name: Build NetLib Browser
run: |
cd "${{ env.SOURCES_DIRECTORY }}/"
make
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: ${{ env.LINUX_ARTIFACT_NAME }}
path: "${{ env.BUILD_DIRECTORY }}/NetLibBrowser"
build-macos:
runs-on: macos-latest
env:
LIBFTD2XX_VERSION: '1.4.24'
SOURCES_DIRECTORY: Client App
BUILD_DIRECTORY: Client App/build
steps:
- uses: actions/checkout@v4
- name: Install Dependencies
run: |
echo Installing Prerequisites
brew install libftdi
- name: Build wxWidgets
run: |
git clone https://github.com/wxWidgets/wxWidgets.git
cd wxWidgets
git checkout tags/${{ env.WXVERSION }}
git submodule update --init --recursive
mkdir build-cocoa
cd build-cocoa
../configure --with-opengl --disable-shared --disable-sys-libs
make
sudo make install
- name: Build UNFLoader
run: |
git clone https://github.com/buu342/N64-UNFLoader
cd N64-UNFLoader
git submodule update --init --recursive
cd UNFLoader
make static
cp -f flashcart.a "../../${{ env.SOURCES_DIRECTORY }}/Include/"
- name: Build NetLib Browser
run: |
cd "${{ env.SOURCES_DIRECTORY }}/"
make
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: ${{ env.MACOS_ARTIFACT_NAME }}
path: "${{ env.BUILD_DIRECTORY }}/NetLibBrowser"