-
Notifications
You must be signed in to change notification settings - Fork 0
92 lines (78 loc) · 3.03 KB
/
publish.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
name: Publish
on:
workflow_dispatch:
inputs:
version:
required: true
description: The reference or tag
java:
required: true
description: The build java version
jobs:
publish:
name: Publish Mindustry and Arc
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4
with:
path: xpdustry-helper
- name: Set up JDK
uses: actions/setup-java@v3
with:
java-version: ${{ github.event.inputs.java }}
distribution: 'temurin'
- name: Checkout Mindustry
uses: actions/checkout@v4
with:
repository: 'Anuken/Mindustry'
ref: ${{ github.event.inputs.version }}
path: Mindustry
- name: Checkout Arc
uses: actions/checkout@v4
with:
repository: 'Anuken/Arc'
ref: ${{ github.event.inputs.version }}
path: Arc
- name: Install and Setup Minio CLI
run: |
curl https://dl.min.io/client/mc/release/linux-amd64/mc \
--create-dirs \
-o $HOME/minio-binaries/mc
chmod +x $HOME/minio-binaries/mc
export PATH=$PATH:$HOME/minio-binaries/
bash +o history
mc alias set xpdustry https://minio1.xpdustry.com $MINIO_ACCESS_KEY $MINIO_SECRET_KEY
bash -o history
mc cp -r xpdustry/maven-anuken-releases/ ~/.m2/repository
env:
MINIO_ACCESS_KEY: "${{ secrets.MINIO_ACCESS_KEY }}"
MINIO_SECRET_KEY: "${{ secrets.MINIO_SECRET_KEY }}"
- name: Build, Test and Install Mindustry and Arc
env:
VERSION: ${{ github.event.inputs.version }}
run: |
export JITPACK=true
cd ./Arc
sed -i "s/group = 'com.github.Anuken'/group = 'com.github.Anuken.Arc'/" build.gradle
sed -i "s/version = '1.0'/version = '$VERSION'/" build.gradle
./gradlew -Dfile.encoding=UTF-8 -Dhttps.protocols=TLSv1.2 -xtest -xjavadoc assemble publishToMavenLocal
cd ../Mindustry
sed -i "s/group = 'com.github.Anuken'/group = 'com.github.Anuken.Mindustry'/" build.gradle
sed -i "s/^archash=.*/archash=$VERSION/" ./gradle.properties
./gradlew -Pbuildversion="$VERSION" -Dfile.encoding=UTF-8 -Dhttps.protocols=TLSv1.2 -xtest -xjavadoc assemble publishToMavenLocal
- name: Upload Updated Artifacts to S3
run: |
curl https://dl.min.io/client/mc/release/linux-amd64/mc \
--create-dirs \
-o $HOME/minio-binaries/mc
chmod +x $HOME/minio-binaries/mc
export PATH=$PATH:$HOME/minio-binaries/
bash +o history
mc alias set xpdustry https://minio1.xpdustry.com $MINIO_ACCESS_KEY $MINIO_SECRET_KEY
bash -o history
# Upload the updated artifacts to S3
mc cp -r ~/.m2/repository/* xpdustry/maven-anuken-releases/
env:
MINIO_ACCESS_KEY: "${{ secrets.MINIO_ACCESS_KEY }}"
MINIO_SECRET_KEY: "${{ secrets.MINIO_SECRET_KEY }}"