-
Notifications
You must be signed in to change notification settings - Fork 6
74 lines (74 loc) · 2.43 KB
/
build.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
name: build
on: [push, pull_request]
env:
OSSRH_JIRA_PASSWORD: ${{ secrets.OSSRH_JIRA_PASSWORD }}
jobs:
create-staging-repo:
env:
STAGING: true
name: Create staging repository
runs-on: ubuntu-latest
outputs:
staging-repo: ${{ steps.create-repo.outputs.repo }}
steps:
- uses: actions/checkout@v2
- id: create-repo
if: startsWith(github.ref, 'refs/tags/v') == true
run: "mvn -B --settings mvnsettings.xml nexus-staging:rc-open -DserverId=ossrh -DnexusUrl=https://oss.sonatype.org/ -DstagingProfileId=72c1cc10566951 -DopenedRepositoryMessageFormat='\n::set-output name=repo::%s'"
build-native:
name: Build native libs
needs: create-staging-repo
runs-on: ${{ matrix.runner }}
defaults:
run:
shell: ${{ matrix.shell }}
strategy:
fail-fast: false
matrix:
include:
- os: windows
runner: windows-2019
shell: msys2 {0}
platform: windows-x86_64
- os: macos
runner: macos-12 #x86_64
shell: bash
platform: macosx-x86_64
- os: macos
runner: macos-12-large #arm64
shell: bash
platform: macosx-arm64
- os: linux
runner: ubuntu-latest
shell: bash
platform: linux-x86_64
- os: linux
runner: buildjet-4vcpu-ubuntu-2204-arm
shell: bash
platform: linux-arm64
env:
SIGN_KEY: ${{ secrets.SIGN_KEY }}
SIGN_KEY_PASS: ${{ secrets.SIGN_KEY_PASS }}
STAGING_REPO: ${{ needs.create-staging-repo.outputs.staging-repo }}
DETECTED_PLATFORM: ${{ matrix.platform }}
STAGING: ${{ startsWith(github.ref, 'refs/tags/v') }}
steps:
- uses: actions/checkout@v2
- uses: msys2/setup-msys2@v2
if: matrix.os == 'windows'
with:
install: base-devel gcc
path-type: inherit
- uses: ilammy/msvc-dev-cmd@v1
- uses: maxim-lobanov/setup-xcode@v1
if: matrix.os == 'macos'
with:
xcode-version: latest-stable
- name: Build native binaries
run: ./build.sh deploy
if: matrix.os != 'linux'
- name: Build native binaries in centos container
if: matrix.os == 'linux'
uses: docker://ghcr.io/gliwka/centos7-toolchain:main@sha256:6e5d9801e5171a014c8d63b6fbdadd0dbe4ea5a624d59ec67fe954d0862fbdff
with:
args: ./build.sh deploy