2020-08-01 18:14:57 +02:00
name : Yatopia Build Script
2020-02-26 17:29:12 +01:00
2020-07-18 16:16:33 +02:00
on :
push :
paths-ignore :
- '*.md'
2020-07-18 16:27:44 +02:00
branches :
2020-08-12 15:40:19 +02:00
- ver/1.16.2
2020-08-13 17:53:32 +02:00
- ver/1.16.1
2020-07-18 16:16:33 +02:00
pull_request :
paths-ignore :
- '*.md'
2020-07-18 16:27:44 +02:00
branches :
2020-08-13 17:53:32 +02:00
- ver/1.16.1
2020-08-12 15:40:19 +02:00
- ver/1.16.2
2020-02-26 17:29:12 +01:00
jobs :
build :
runs-on : ubuntu-latest
2020-05-23 13:21:39 +02:00
strategy :
matrix :
2020-07-20 16:24:21 +02:00
java : [ 14 , 11 , 8 ]
2020-05-23 13:21:39 +02:00
2020-02-26 17:29:12 +01:00
steps :
2020-07-18 16:16:33 +02:00
- name : Cancel Previous Runs
2020-07-18 18:59:48 +02:00
uses : styfle/cancel-workflow-action@0.4.1
2020-07-18 16:16:33 +02:00
with :
access_token : ${{ github.token }}
2020-07-18 18:57:55 +02:00
- uses : actions/checkout@v2
2020-05-23 13:21:39 +02:00
- name : Set up JDK ${{ matrix.java }}
2020-07-18 18:57:55 +02:00
uses : actions/setup-java@v1
2020-03-21 17:32:08 +01:00
with :
2020-05-23 13:21:39 +02:00
java-version : ${{ matrix.java }}
2020-07-15 22:06:37 +02:00
- name : Pull Maven Cache
2020-07-18 18:03:26 +02:00
uses : actions/cache@v2
2020-07-15 22:06:37 +02:00
id : maven-cache
2020-07-11 22:31:40 +02:00
with :
path : ~/.m2/repository
key : ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys : ${{ runner.os }}-maven-
2020-07-18 19:45:04 +02:00
- uses : s4u/maven-settings-action@v2.1.0
2020-07-17 17:39:18 +02:00
name : Use ${{ matrix.java }} as the java target
2020-07-17 05:18:15 +02:00
with :
2020-07-17 17:39:18 +02:00
properties : '[{"maven.compiler.target": "${{ matrix.java }}"}]'
2020-08-01 18:14:57 +02:00
- name : Setup Yatopia Project
2020-07-15 22:06:37 +02:00
run : |
git config --global user.email "ci@github.com"
git config --global user.name "Github CI"
2020-08-03 18:48:42 +02:00
sudo chmod -R -f 777 scripts
./yatopia init
2020-07-15 22:06:37 +02:00
- name : Build Maven Depends
if : steps.maven-cache.outputs.cache-hit != 'true'
run : |
cd Tuinity
./tuinity jar
cd ..//
2020-08-01 18:14:57 +02:00
- name : Build Yatopia
2020-02-26 17:29:12 +01:00
run : |
2020-08-03 18:48:42 +02:00
./yatopia full
2020-03-22 17:20:21 +01:00
- name : Upload Artifact
2020-07-18 19:45:04 +02:00
uses : actions/upload-artifact@v2
2020-03-22 17:20:21 +01:00
with :
2020-08-01 18:14:57 +02:00
name : Yatopia-${{ matrix.java }}
2020-08-12 15:40:19 +02:00
path : yatopia-1.16.2-paperclip.jar
2020-07-18 20:52:17 +02:00
- name : Deploy Release
2020-08-12 15:40:19 +02:00
if : github.ref == 'refs/heads/ver/1.16.2'
2020-07-18 20:52:54 +02:00
uses : WebFreak001/deploy-nightly@v1.0.3
2020-07-18 16:58:38 +02:00
env :
2020-07-18 20:52:17 +02:00
GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }} # automatically provided by github actions
2020-07-18 16:58:38 +02:00
with :
2020-08-14 17:48:23 +02:00
upload_url : https://uploads.github.com/repos/YatopiaMC/Yatopia/releases/28703947/assets{?name,label} # find out this value by opening https://api.github.com/repos/<owner>/<repo>/releases in your browser and copy the full "upload_url" value including the {?name,label} part
2020-07-18 20:52:17 +02:00
release_id : 28703947 # same as above (id can just be taken out the upload_url, it's used to find old releases)
2020-08-12 15:40:19 +02:00
asset_path : yatopia-1.16.2-paperclip.jar # path to archive to upload
asset_name : Yatopia-1.16.2-JDK${{ matrix.java }}-paperclip.jar # name to upload the release as, use $$ to insert date (YYYYMMDD) and 6 letter commit hash
2020-07-18 20:52:17 +02:00
asset_content_type : application/zip # required by GitHub API
max_releases : 3 # optional, if there are more releases than this matching the asset_name, the oldest ones are going to be deleted