-
-
Notifications
You must be signed in to change notification settings - Fork 20
155 lines (147 loc) · 4.42 KB
/
ci.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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
name: CI
permissions:
contents: read
on:
pull_request:
push:
branches:
- main
- dev
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
env:
CARGO_INCREMENTAL: 0
CARGO_NET_GIT_FETCH_WITH_CLI: true
CARGO_NET_RETRY: 10
CARGO_TERM_COLOR: always
RUST_BACKTRACE: 1
RUSTFLAGS: -D warnings
RUSTUP_MAX_RETRIES: 10
defaults:
run:
shell: bash
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}
cancel-in-progress: true
jobs:
tidy:
uses: taiki-e/github-actions/.github/workflows/tidy.yml@main
test:
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-latest
- os: ubuntu-latest
target: aarch64-unknown-linux-gnu
- os: ubuntu-latest
target: aarch64-unknown-linux-gnu
build_tool: cargo
- os: ubuntu-latest
target: x86_64-unknown-linux-gnu.2.17
build_tool: cargo-zigbuild
- os: macos-latest
- os: macos-13 # x86_64
- os: macos-14 # aarch64
- os: macos-latest
target: x86_64-apple-darwin
- os: macos-latest
target: aarch64-apple-darwin
- os: macos-latest
target: universal-apple-darwin
- os: macos-latest
target: universal-apple-darwin
build_tool: cargo
- os: windows-latest
- os: windows-latest
target: aarch64-pc-windows-msvc
runs-on: ${{ matrix.os || 'ubuntu-latest' }}
timeout-minutes: 60
steps:
- uses: taiki-e/checkout-action@v1
- name: Install Rust
run: rustup update stable --no-self-update
- uses: taiki-e/setup-cross-toolchain-action@v1
with:
target: ${{ matrix.target }}
if: matrix.target != '' && matrix.build_tool == 'cargo'
- run: cargo new --bin test-crate
- uses: ./
with:
dry-run: true
bin: test-crate
target: ${{ matrix.target }}
build-tool: ${{ matrix.build_tool }}
checksum: sha256,sha512,sha1,md5
tar: all
zip: all
manifest-path: test-crate/Cargo.toml
codesign: '-'
leading_dir_test:
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-latest
bin_leading_dir: ''
leading_dir: false
- os: ubuntu-latest
target: aarch64-unknown-linux-gnu
bin_leading_dir: 'opt/bin/leading'
leading_dir: true
- os: ubuntu-latest
target: aarch64-unknown-linux-gnu
build_tool: cargo
bin_leading_dir: 'opt'
- os: ubuntu-latest
target: x86_64-unknown-linux-gnu.2.17
build_tool: cargo-zigbuild
leading_dir: true
- os: macos-latest
- os: macos-13 # x86_64
bin_leading_dir: 'opt/leading-dir'
leading_dir: true
- os: macos-14 # aarch64
bin_leading_dir: 'leading-dir'
- os: macos-latest
target: x86_64-apple-darwin
leading_dir: true
- os: macos-latest
target: aarch64-apple-darwin
leading_dir: false
- os: macos-latest
target: universal-apple-darwin
- os: macos-latest
target: universal-apple-darwin
build_tool: cargo
- os: windows-latest
bin_leading_dir: 'opt/leading-dir/bin'
leading_dir: true
- os: windows-latest
target: aarch64-pc-windows-msvc
bin_leading_dir: 'opt'
runs-on: ${{ matrix.os || 'ubuntu-latest' }}
timeout-minutes: 60
steps:
- uses: taiki-e/checkout-action@v1
- name: Install Rust
run: rustup update stable --no-self-update
- uses: taiki-e/setup-cross-toolchain-action@v1
with:
target: ${{ matrix.target }}
if: matrix.target != '' && matrix.build_tool == 'cargo'
- run: cargo new --bin test-crate
- uses: ./
with:
dry-run: true
bin: test-crate
target: ${{ matrix.target }}
build-tool: ${{ matrix.build_tool }}
checksum: sha256,sha512,sha1,md5
tar: all
zip: all
manifest-path: test-crate/Cargo.toml
codesign: '-'
leading-dir: ${{ matrix.leading_dir }}
bin-leading-dir: ${{ matrix.bin_leading_dir }}