-
Notifications
You must be signed in to change notification settings - Fork 98
161 lines (159 loc) · 4.13 KB
/
CI.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
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