-
Notifications
You must be signed in to change notification settings - Fork 63
106 lines (90 loc) · 3.26 KB
/
build_and_publish_jar.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
# This workflow will build Speedb library on Mac i86 and ARM, Ubuntu i86 and Arm, Windows i86. Then build a jar and publish to Maven central
#
name: build all and publish jar
on:
workflow_dispatch:
jobs:
pre_build:
runs-on: ubu4mvn
env:
VERSION_FILE: speedb/version.h
outputs:
out1: ${{ steps.find_version.outputs.verSion }}
steps:
- name: 'Cleanup build folder'
run: |
ls -la ./
rm -rf ./* || true
rm -rf ./.??* || true
ls -la ./
- name: 'Checkout GitHub Action'
uses: actions/checkout@v3
- name: 'find_version'
id: 'find_version'
run: |
major=$(grep '_MAJOR\s\+[0-9]\+' "$VERSION_FILE" | sed 's/[^0-9]\+//') && echo $major
minor=$(grep '_MINOR\s\+[0-9]\+' "$VERSION_FILE" | sed 's/[^0-9]\+//') && echo $minor
patch=$(( $(grep '_PATCH\s\+[0-9]\+' "$VERSION_FILE" | sed 's/[^0-9]\+//') + 1 )) && echo $patch
echo "verSion=$major.$minor.$patch" >> $GITHUB_OUTPUT
Mac_i86_Bld:
needs: pre_build
uses: ./.github/workflows/ci_macos.yml
with:
verSion: ${{ needs.pre_build.outputs.out1 }}
Mac_ARM_Bld:
needs: pre_build
uses: ./.github/workflows/ci_macos_ARM.yml
with:
verSion: ${{ needs.pre_build.outputs.out1 }}
Ubu_ARM_Bld:
needs: pre_build
uses: ./.github/workflows/bld_java_ubu_arm.yml
with:
verSion: ${{ needs.pre_build.outputs.out1 }}
Windows_Bld:
needs: pre_build
uses: ./.github/workflows/ci_windows.yml
with:
verSion: ${{ needs.pre_build.outputs.out1 }}
secrets:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_BUCKET: ${{ secrets.AWS_BUCKET }}
Build_and_upload:
needs: [pre_build, Mac_i86_Bld, Windows_Bld, Ubu_ARM_Bld]
runs-on: ubu4mvn
env:
VERSION_FILE: speedb/version.h
VERSION: ${{needs.pre_build.outputs.out1}}
outputs:
out1: ${{ steps.find_version.outputs.verSion }}
steps:
- name: 'Cleanup build folder'
run: |
ls -la ./
rm -rf ./* || true
rm -rf ./.??* || true
ls -la ./
- name: 'Checkout GitHub Action'
uses: actions/checkout@v3
- name: 'build'
run: |
export JAVA_HOME="$(jrunscript -e 'java.lang.System.out.println(java.lang.System.getProperty("java.home"));')"
export LIB_JAVA_VERSION=11.0.17
export the_version=${{ steps.find_version.outputs.verSion }}
make DEBUG_LEVEL=0 -j 16 rocksdbjava
cd java
mkdir src/main/resources
cp target/libspeedbjni-linux64.so src/main/resources
echo "aws s3 --profile nd7 cp --recursive s3://spdb-builder/jar_test/v$VERSION/ java/src/main/resources/"
sleep 180
aws s3 --profile nd7 cp --recursive s3://spdb-builder/jar_test/v$VERSION/ src/main/resources/
ls -l src/main/resources/
cp ../../../../../templ/pom.xml .
mvn versions:set -DnewVersion=$VERSION-SNAPSHOT
mvn deploy -X -e -DskipTests
mvn versions:set -DnewVersion=$the_version
#mvn clean deploy -P release -X -e -DskipTests
- name: show path
run: |
echo "versions:set -DnewVersion=$VERSION-SNAPSHOT"