-
Notifications
You must be signed in to change notification settings - Fork 28
93 lines (83 loc) · 2.94 KB
/
cmake.yml
File metadata and controls
93 lines (83 loc) · 2.94 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
name: C/C++ CI
on:
workflow_dispatch:
schedule:
# run weekly Sun at 5am UTC to keep caches fresh
- cron: '5 5 * * 0'
push:
branches:
- main
pull_request:
branches:
- main
- release-*
permissions:
contents: write
concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true
jobs:
build:
name: ${{ matrix.spec.name }}
runs-on: ${{ matrix.spec.runner }}
container:
image: ${{ matrix.spec.builder }}
env:
BUILD_NUMBER: ${{ github.run_number }}
VCPKG_FEATURE_FLAGS: dependencygraph
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
strategy:
fail-fast: false
matrix:
spec:
- { name: 'Linux x86_64', runner: 'ubuntu-latest', target: 'linux-x64', builder: 'openziti/ziti-builder:v3', test: 'true' }
- { name: 'Linux ARM', runner: 'ubuntu-latest', target: 'linux-arm', builder: 'openziti/ziti-builder:v3' }
- { name: 'Linux ARM64', runner: 'ubuntu-latest', target: 'linux-arm64', builder: 'openziti/ziti-builder:v3' }
- { name: 'MacOS x86_64', runner: 'macos-15-intel', target: 'macOS-x64', test: 'true' }
- { name: 'MacOS arm64', runner: 'macos-15', target: 'macOS-arm64', test: 'true' }
- { name: 'Windows x86_64', runner: 'windows-2022', target: 'windows-x64', test: 'true' }
- { name: 'Windows x86', runner: 'windows-2022', target: 'windows-x86', test: 'true' }
- { name: 'Windows ARM64', runner: 'windows-2022', target: 'windows-arm64' }
- { name: 'Windows ming64', runner: 'windows-2022', target: 'windows-x64-mingw', test: 'true' }
steps:
- name: Add msbuild to PATH
if: startsWith(matrix.spec.runner, 'windows')
uses: microsoft/setup-msbuild@v2
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: run build for ${{ matrix.spec.target }}
uses: ./.github/actions/build
with:
target: ${{ matrix.spec.target }}
test: ${{ matrix.spec.test }}
test_id: ${{ secrets.ZITI_TEST_IDENTITY }}
- name: upload artifacts
uses: actions/upload-artifact@v4
with:
name: ziti-prox-c-${{ matrix.spec.target }}
path: ./build/programs/ziti-prox-c/**/ziti-prox-c*.zip
- name: upload SDK artifacts
uses: actions/upload-artifact@v4
with:
name: ziti-sdk-${{ matrix.spec.target }}
path: ./build/package/ziti-sdk-*
publish:
name: Publish Nightly Artifacts
if: github.ref == 'refs/heads/main'
needs: build
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v5
with:
path: ./artifacts
pattern: ziti-sdk-*
merge-multiple: 'false'
- run: ls -lR ./artifacts
- uses: pyTooling/Actions/releaser@v6.7.0
with:
token: ${{ secrets.GITHUB_TOKEN }}
tag: nightly
rm: true
files: |
./artifacts/*/*.zip