-
Notifications
You must be signed in to change notification settings - Fork 0
103 lines (64 loc) · 2.44 KB
/
onTagCreateRelease.yml
File metadata and controls
103 lines (64 loc) · 2.44 KB
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
name: Create Release
on:
push:
tags:
- "v*" # Push events to matching v*, i.e. v1.0, v20.15.10
jobs:
build:
name: Create Release
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Create release name using the tag name
run: |
githubRef=${{ github.ref }}
githubRef="${githubRef/'refs/tags'/''}"
githubRef="${githubRef/'/'/''}"
githubRef="${githubRef/'v'/''}"
echo "releaseLabel=$githubRef" >> $GITHUB_ENV
- name: Print release label
run: echo $releaseLabel
- name: Create release directory
run: mkdir -p release/bin
### Generate minified javascript file
- name: Create temp directory
run: mkdir temp
- name: Combine javascript files into a single file
run: find ./ui/javascript -name '*.js' -exec cat {} \; > ./temp/javaxt-express.js
- name: Minify the combined file
uses: nizarmah/auto-minify@v2.1
with:
directory: ./temp
output: ./release/bin
overwrite: true
- name: Insert release info into the minified file
run: |
sudo chmod 777 ./release/bin/javaxt-express.js
printf '%s\n%s\n' "//javaxt-express ${{ env.releaseLabel }}" "$(cat ./release/bin/javaxt-express.js)" >./release/bin/javaxt-express.js
### Generate jar file
- name: Set up JDK 11
uses: actions/setup-java@v2
with:
java-version: '11'
distribution: 'adopt'
- name: Install Maven
run: sudo apt install maven
- name: Check Maven Version
run: mvn -version
- name: Build jar using Maven
run: mvn --batch-mode install verify -U -X
### Create zip file
- name: Copy jar file from the dist to the release directory
run: cp dist/javaxt-express*.jar release/bin/javaxt-express.jar
- name: Copy release assets to the release directory
run: cp -r src ui LICENSE.TXT release
- name: Create zip file
run: cd release; zip -r ../javaxt-express_v${{ env.releaseLabel }}.zip *
### Upload zip file to javaxt.com
- name: Upload release to server
run: >-
curl -X POST -L
-H "Authorization: ${{ secrets.UPLOAD_AUTH }}"
-F "file=@javaxt-express_v${{ env.releaseLabel }}.zip;type=application/zip"
"${{ secrets.UPLOAD_URL }}"