-
-
Notifications
You must be signed in to change notification settings - Fork 0
88 lines (88 loc) · 2.71 KB
/
build-scenamatica.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
name: Build NMS with NMSAction
on:
workflow_call:
secrets:
token:
required: true
inputs:
profile:
default: debug
type: string
required: true
artifact:
default: scenamatica
type: string
required: true
pull-request:
default: false
type: boolean
required: true
jobs:
build:
name: Build with Maven
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Change directory to scenamatica
run: cd Scenamatica
- name: Set up JDK 22
uses: actions/setup-java@v4
with:
java-version: 22
distribution: zulu
- name: Set up Maven
uses: stCarolas/setup-maven@v5
with:
maven-version: 3.8.2
##### NMS 以外のキャッシュを利かせる #####
- name: Try to restore cache
uses: actions/cache/restore@v4
id: restore-cache
if: "!inputs.pull-request"
with:
key: maven-cache-${{ hashFiles('**/pom.xml') }}
path: ~/.m2/repository
enableCrossOsArchive: true
- name: Collect dependencies without NMS
if: "!(inputs.pull-request || steps.restore-cache.outputs.cache-hit == 'true')"
run: |
mvn dependency:go-offline -f Scenamatica/pom.xml
mvn dependency:go-offline -f Bookkeeper/pom.xml
# 失敗することが前提なので↓
continue-on-error: true
- name: Cache dependencies without NMS
if: "!(inputs.pull-request || steps.restore-cache.outputs.cache-hit == 'true')"
uses: actions/cache/save@v4
id: cache-dependencies
with:
key: maven-cache-${{ hashFiles('**/pom.xml') }}
path: ~/.m2/repository
enableCrossOsArchive: true
##### おわり of NMS 以外のキャッシュを利かせる #####
- name: Deploy NMS
uses: TeamKun/NMSAccess@v2
with:
access-token: ${{ secrets.token }}
versions: |
1.18.1 # v1_18_R1
1.18.1 # v1_18_R1
1.17.1 # v1_17_R1
1.16.5 # v1_16_R3
1.16.3 # v1_16_R2
1.16.1 # v1_16_R1
1.15.2 # v1_15_R1
1.14.4 # v1_14_R1
1.13.2 # v1_13_R2
1.13 # v1_13_R1
- name: Build with Maven
run: |
cd Scenamatica
chmod +x build.sh
./build.sh -D"jar.finalName=Scenamatica" -P ${{ inputs.profile }}
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: ${{ inputs.artifact }}
path: Scenamatica/ScenamaticaPlugin/target/Scenamatica.jar
retention-days: 1
if-no-files-found: error