-
Notifications
You must be signed in to change notification settings - Fork 0
158 lines (152 loc) · 4.98 KB
/
test-workflow.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
156
157
158
name: Test Build Workflow
on:
schedule:
- cron: '0 0 * * *' # Run daily at midnight
workflow_dispatch:
push:
tags:
- 'v1'
- 'v1-test'
paths:
- 'action.yml'
- '.github/workflows/test-build-workflow.yml'
pull_request:
branches: [ master ]
paths:
- 'action.yml'
- '.github/workflows/test-build-workflow.yml'
jobs:
test-coverage-build:
strategy:
matrix:
include:
- os: ubuntu-latest
target: x86_64-unknown-linux-gnu
use-cross: false
- os: ubuntu-latest
target: i686-unknown-linux-gnu
use-cross: false
- os: ubuntu-latest
target: aarch64-unknown-linux-gnu
use-cross: true
- os: ubuntu-latest
target: armv7-unknown-linux-gnueabihf
use-cross: true
- os: windows-latest
target: x86_64-pc-windows-msvc
use-cross: false
- os: windows-latest
target: i686-pc-windows-msvc
use-cross: false
- os: windows-latest
target: aarch64-pc-windows-msvc
use-cross: false
- os: macos-13 # Intel
target: x86_64-apple-darwin
use-cross: false
- os: macos-14 # M1/M2 (aarch64)
target: aarch64-apple-darwin
use-cross: false
- os: ubuntu-latest
target: x86_64-pc-windows-gnu
use-cross: true
label: '[Wine] x86_64-pc-windows-gnu'
- os: ubuntu-latest
target: i686-pc-windows-gnu
use-cross: true
label: '[Wine] i686-pc-windows-gnu'
runs-on: ${{ matrix.os }}
steps:
- name: Checkout Test Repository
uses: actions/checkout@v4
with:
repository: Sewer56/prs-rs
ref: d08599ed5473616f57d57a0966939e1a5dbda9b4
- name: Test Coverage Build
uses: Reloaded-Project/devops-rust-test-and-coverage@v1-test
with:
rust-toolchain: stable
target: ${{ matrix.target }}
use-cross: ${{ matrix.use-cross }}
features: 'c-exports,std'
no-default-features: true
additional-test-args: '--ignored --test-threads=1'
codecov-token: ${{ secrets.CODECOV_TOKEN }}
test-nightly-beta-build:
strategy:
matrix:
rust-toolchain: [nightly, beta]
runs-on: ubuntu-latest
steps:
- name: Checkout Test Repository
uses: actions/checkout@v4
with:
repository: Sewer56/prs-rs
ref: d08599ed5473616f57d57a0966939e1a5dbda9b4
- name: Test Nightly/Beta Build
uses: Reloaded-Project/devops-rust-test-and-coverage@v1-test
with:
rust-toolchain: ${{ matrix.rust-toolchain }}
target: x86_64-unknown-linux-gnu
features: 'c-exports,std'
no-default-features: true
additional-test-args: '--ignored --test-threads=1'
codecov-token: ${{ secrets.CODECOV_TOKEN }}
test-skipping-rust-install:
strategy:
matrix:
include:
- os: ubuntu-latest
rust-toolchain: stable
target: x86_64-unknown-linux-gnu
- os: windows-latest
rust-toolchain: stable
target: x86_64-pc-windows-msvc
- os: macos-13 # Intel
rust-toolchain: stable
target: x86_64-apple-darwin
runs-on: ${{ matrix.os }}
steps:
- name: Checkout Test Repository
uses: actions/checkout@v4
with:
repository: Sewer56/prs-rs
ref: d08599ed5473616f57d57a0966939e1a5dbda9b4
- name: Install Rust toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: ${{ matrix.rust-toolchain }}
target: ${{ matrix.target }}
- name: Test Skipping Rust Install
uses: Reloaded-Project/devops-rust-test-and-coverage@v1-test
with:
rust-toolchain: ${{ matrix.rust-toolchain }}
target: ${{ matrix.target }}
install-rust-toolchain: false
codecov-token: ${{ secrets.CODECOV_TOKEN }}
test-skipping-rust-cache:
runs-on: ubuntu-latest
steps:
- name: Checkout Test Repository
uses: actions/checkout@v4
with:
repository: Sewer56/prs-rs
ref: d08599ed5473616f57d57a0966939e1a5dbda9b4
- name: Test Skipping Rust Cache
uses: Reloaded-Project/devops-rust-test-and-coverage@v1-test
with:
setup-rust-cache: false
codecov-token: ${{ secrets.CODECOV_TOKEN }}
test-skipping-coverage-upload:
runs-on: ubuntu-latest
steps:
- name: Checkout Test Repository
uses: actions/checkout@v4
with:
repository: Sewer56/prs-rs
ref: d08599ed5473616f57d57a0966939e1a5dbda9b4
- name: Test Skipping Coverage Upload
uses: Reloaded-Project/devops-rust-test-and-coverage@v1-test
with:
upload-coverage: false
codecov-token: ${{ secrets.CODECOV_TOKEN }}