Skip to content

CI

CI #232

Workflow file for this run

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