CI #232
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: CI | |
on: [ push, pull_request ] | |
jobs: | |
windows: | |
runs-on: windows-2022 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'true' | |
- name: cache | |
uses: actions/cache@v4 | |
with: | |
path: | | |
~/.m2/repository | |
key: ${{ runner.os }}-cache-${{ hashFiles('**/pom.xml') }} | |
restore-keys: | | |
${{ runner.os }}-cache- | |
- run: choco install innosetup --version 6.2.2 | |
- name: Set up JDK 11 | |
uses: actions/setup-java@v4 | |
with: | |
java-version: 11 | |
distribution: temurin | |
- uses: ilammy/msvc-dev-cmd@v1 # for nmake | |
with: | |
arch: x64 | |
- name: build detours x64 | |
shell: cmd | |
run: | | |
cd detours/src | |
nmake | |
- uses: ilammy/msvc-dev-cmd@v1 # for nmake | |
with: | |
arch: x86 | |
- name: build detours x86 | |
shell: cmd | |
run: | | |
cd detours/src | |
nmake | |
- uses: ilammy/msvc-dev-cmd@v1 # for nmake | |
with: | |
arch: amd64_arm64 | |
- name: build detours aarch64 | |
shell: cmd | |
run: | | |
cd detours/src | |
nmake | |
- name: build launcher | |
run: mvn verify -B | |
- name: x64 installer | |
shell: bash | |
run: ./build-win64.sh | |
- name: x86 installer | |
shell: bash | |
run: ./build-win32.sh | |
- name: AArch64 installer | |
shell: bash | |
run: ./build-win-aarch64.sh | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: windows | |
path: | | |
RuneLiteSetup.exe | |
RuneLiteSetup32.exe | |
RuneLiteSetupAArch64.exe | |
if-no-files-found: error | |
linux: | |
runs-on: ubuntu-20.04 | |
steps: | |
- run: sudo apt update | |
- run: sudo apt install -y gcc-9-aarch64-linux-gnu g++-9-aarch64-linux-gnu | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'true' | |
- name: cache | |
uses: actions/cache@v4 | |
with: | |
path: | | |
~/.m2/repository | |
key: ${{ runner.os }}-cache-${{ hashFiles('**/pom.xml') }} | |
restore-keys: | | |
${{ runner.os }}-cache- | |
- name: Set up JDK 11 | |
uses: actions/setup-java@v4 | |
with: | |
java-version: 11 | |
distribution: temurin | |
- name: build | |
run: mvn verify -B | |
- name: linux-x64 | |
run: ./build-linux-x86_64.sh | |
- name: linux-aarch64 | |
run: ./build-linux-aarch64.sh | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: jar | |
path: target/RuneLite.jar | |
if-no-files-found: error | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: linux | |
path: | | |
RuneLite.AppImage | |
RuneLite-aarch64.AppImage | |
if-no-files-found: error | |
macos: | |
runs-on: macos-11 | |
steps: | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: '3.11' | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'true' | |
- name: cache | |
uses: actions/cache@v4 | |
with: | |
path: | | |
~/.m2/repository | |
key: ${{ runner.os }}-cache-${{ hashFiles('**/pom.xml') }} | |
restore-keys: | | |
${{ runner.os }}-cache- | |
- name: Set up JDK 11 | |
uses: actions/setup-java@v4 | |
with: | |
java-version: 11 | |
distribution: temurin | |
- name: build | |
run: mvn verify -B | |
- name: clone create-dmg | |
run: git clone https://github.com/runelite/create-dmg -b runelite-1.0 | |
- name: build create-dmg | |
run: | | |
set -e | |
cd create-dmg | |
npm install | |
ln -s cli.js create-dmg | |
chmod +x create-dmg | |
- run: echo create-dmg >> $GITHUB_PATH | |
- name: macos-x64 | |
run: ./build-osx-x64.sh --build --dmg | |
- name: macos-aarch64 | |
run: ./build-osx-aarch64.sh --build --dmg | |
# tar app to keep permissions correct | |
- name: tar app | |
run: tar -cf app.tar build/macos-x64/RuneLite.app build/macos-aarch64/RuneLite.app build-osx-x64.sh build-osx-aarch64.sh osx/signing.entitlements | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: macos-dmg | |
path: | | |
RuneLite-x64.dmg | |
RuneLite-aarch64.dmg | |
if-no-files-found: error | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: macos-app | |
path: | | |
app.tar | |
if-no-files-found: error |