Fix XMLs #96
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: generate-builds | |
on: | |
push: | |
pull_request: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
build-linux: | |
strategy: | |
fail-fast: true | |
runs-on: [self-hosted, Linux] | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: true | |
- name: Install dependencies | |
run: | | |
sudo apt update | |
sudo apt install -y $(cat .github/workflows/apt-deps.txt) file | |
- name: Install latest SDL | |
run: | | |
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" | |
if [ ! -d "SDL2-2.26.1" ]; then | |
wget https://www.libsdl.org/release/SDL2-2.26.1.tar.gz | |
tar -xzf SDL2-2.26.1.tar.gz | |
fi | |
cd SDL2-2.26.1 | |
./configure | |
make -j | |
sudo make install | |
sudo cp -av /usr/local/lib/libSDL* /lib/x86_64-linux-gnu/ | |
- name: Build 2Ship | |
run: | | |
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" | |
cmake --no-warn-unused-cli -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE:STRING=Release | |
cmake --build build-cmake --config Release --target Generate2ShipOtr -j | |
cmake --build build-cmake --config Release -j | |
(cd build-cmake && cpack -G External) | |
mv README.md readme.txt | |
mv build-cmake/*.appimage 2ship.appimage | |
env: | |
CC: gcc | |
CXX: g++ | |
# - name: Upload build | |
# uses: actions/upload-artifact@v4 | |
# with: | |
# name: 2ship-linux | |
# path: | | |
# 2ship.appimage | |
# readme.txt | |
# build-windows: | |
# needs: generate-soh-otr-and-headers | |
# runs-on: windows-latest | |
# steps: | |
# - name: Install dependencies | |
# run: | | |
# choco install ninja | |
# - uses: actions/checkout@v3 | |
# with: | |
# submodules: true | |
# - name: ccache | |
# uses: hendrikmuhs/[email protected] | |
# with: | |
# key: ${{ runner.os }}-ccache-${{ github.ref }}-${{ github.sha }} | |
# restore-keys: | | |
# ${{ runner.os }}-ccache-${{ github.ref }} | |
# ${{ runner.os }}-ccache- | |
# - name: Cache build folder | |
# uses: actions/cache@v4 | |
# with: | |
# key: ${{ runner.os }}-build-${{ github.ref }}-${{ github.sha }} | |
# restore-keys: | | |
# ${{ runner.os }}-build-${{ github.ref }} | |
# ${{ runner.os }}-build- | |
# path: | | |
# build-windows | |
# vcpkg | |
# - name: Configure Developer Command Prompt | |
# uses: ilammy/msvc-dev-cmd@v1 | |
# - name: Download 2ship.otr | |
# uses: actions/download-artifact@v4 | |
# with: | |
# name: 2ship.otr | |
# - name: Download Headers | |
# uses: actions/download-artifact@v4 | |
# with: | |
# name: headers | |
# path: mm/assets | |
# - name: Build 2Ship | |
# env: | |
# VCPKG_ROOT: ${{github.workspace}}/vcpkg | |
# run: | | |
# set $env:PATH="$env:USERPROFILE/.cargo/bin;$env:PATH" | |
# cmake -S . -B build-windows -G Ninja -DCMAKE_MAKE_PROGRAM=ninja -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache | |
# cmake --build build-windows --config Release --parallel 10 | |
# mkdir 2ship-windows | |
# mv ./x64/Release/mm.exe ./2ship-windows/2ship.exe | |
# mkdir 2ship-windows/debug | |
# mkdir 2ship-windows/mods | |
# New-Item 2ship-windows/mods/custom_otr_files_go_here.txt -type file | |
# # mv ./x64/Release/2ship.pdb ./2ship-windows/debug/2ship.pdb | |
# mv ./README.md ./2ship-windows/readme.txt | |
# mv ./build-windows/gamecontrollerdb.txt ./2ship-windows/gamecontrollerdb.txt | |
# mv ./x64/Release/assets ./2ship-windows | |
# mv ./2ship.otr ./2ship-windows/2ship.otr | |
# - name: Upload build | |
# uses: actions/upload-artifact@v4 | |
# with: | |
# name: 2ship-windows | |
# path: 2ship-windows | |
build-windows-self-hosted: | |
runs-on: [self-hosted, Windows] | |
steps: | |
- name: Install dependencies | |
run: | | |
choco install ninja -y | |
choco install gzip -y | |
Add-Content $env:GITHUB_PATH $env:ChocolateyInstall | |
- uses: actions/checkout@v3 | |
with: | |
submodules: true | |
# - name: Cache build folder | |
# uses: actions/cache@v4 | |
# with: | |
# save-always: true | |
# key: ${{ runner.os }}-self-build-${{ github.ref }}-${{ github.sha }} | |
# restore-keys: | | |
# ${{ runner.os }}-self-build-${{ github.ref }} | |
# ${{ runner.os }}-self-build- | |
# path: | | |
# build-windows | |
# vcpkg | |
- name: Configure Developer Command Prompt | |
uses: ilammy/msvc-dev-cmd@v1 | |
- name: Copy Rom | |
run: Copy-Item -Path C:\baserom_mm.z64 -Destination ${{github.workspace}}/OTRExporter/baserom.z64 | |
- name: Build 2Ship | |
env: | |
VCPKG_ROOT: ${{github.workspace}}/vcpkg | |
run: | | |
set $env:PATH="$env:USERPROFILE/.cargo/bin;$env:PATH" | |
cmake -S . -B build-windows -G Ninja -DCMAKE_MAKE_PROGRAM=ninja -DCMAKE_BUILD_TYPE:STRING=Release | |
cmake --build build-windows --config Release --target Generate2ShipOtr --parallel 10 | |
cmake --build build-windows --config Release --parallel 10 | |
(cd build-windows && cpack) | |
cd .. | |
mv _packages/*.zip _packages/2ship-windows.zip | |
# Temporarily replaced with an upload to R2 until we go public | |
# - name: Unzip package | |
# run: Expand-Archive -Path 2ship-windows.zip -DestinationPath 2ship-windows | |
# - name: Upload build | |
# if: ${{ startsWith(github.ref, 'refs/heads/develop') }} | |
# uses: actions/upload-artifact@v4 | |
# with: | |
# name: 2ship-windows | |
# path: 2ship-windows | |
- name: Upload build | |
if: ${{ startsWith(github.ref, 'refs/heads/develop') }} | |
uses: ryand56/r2-upload-action@latest | |
with: | |
r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} | |
r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} | |
r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} | |
r2-bucket: ${{ secrets.R2_BUCKET }} | |
source-dir: _packages | |
destination-dir: ./ |