Skip to content

Commit 78e4713

Browse files
authored
Merge pull request rust-lang#188 from GuillaumeGomez/simplify-ci
Simplify CI
2 parents be5caeb + 4ef0d19 commit 78e4713

File tree

2 files changed

+49
-43
lines changed

2 files changed

+49
-43
lines changed

.github/workflows/ci.yml

Lines changed: 24 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,21 @@ on:
44
- push
55
- pull_request
66

7+
env:
8+
# Enable backtraces for easier debugging
9+
RUST_BACKTRACE: 1
10+
711
jobs:
812
build:
913
runs-on: ubuntu-latest
1014

1115
strategy:
1216
fail-fast: false
1317
matrix:
14-
libgccjit_version: ["libgccjit.so", "libgccjit_without_int128.so", "libgccjit12.so"]
18+
libgccjit_version:
19+
- { gcc: "libgccjit.so", extra: "" }
20+
- { gcc: "libgccjit_without_int128.so", extra: "" }
21+
- { gcc: "libgccjit12.so", extra: "--no-default-features" }
1522

1623
steps:
1724
- uses: actions/checkout@v2
@@ -28,7 +35,7 @@ jobs:
2835
uses: dawidd6/action-download-artifact@v2
2936
with:
3037
workflow: main.yml
31-
name: ${{ matrix.libgccjit_version }}
38+
name: ${{ matrix.libgccjit_version.gcc }}
3239
path: gcc-build
3340
repo: antoyo/gcc
3441
search_artifacts: true # Because, instead, the action only check the last job ran and that won't work since we want multiple artifacts.
@@ -78,19 +85,10 @@ jobs:
7885
key: ${{ runner.os }}-cargo-build-target-${{ hashFiles('rust-toolchain') }}
7986

8087
- name: Build
81-
if: matrix.libgccjit_version != 'libgccjit12.so'
82-
run: |
83-
./prepare_build.sh
84-
./build.sh
85-
cargo test
86-
./clean_all.sh
87-
88-
- name: Build
89-
if: matrix.libgccjit_version == 'libgccjit12.so'
9088
run: |
9189
./prepare_build.sh
92-
./build.sh --no-default-features
93-
cargo test --no-default-features
90+
./build.sh ${{ matrix.libgccjit_version.extra }}
91+
cargo test ${{ matrix.libgccjit_version.extra }}
9492
./clean_all.sh
9593
9694
- name: Prepare dependencies
@@ -106,29 +104,25 @@ jobs:
106104
command: build
107105
args: --release
108106

109-
- name: Test
110-
if: matrix.libgccjit_version != 'libgccjit12.so'
107+
- name: Test mini_tests
111108
run: |
112-
# Enable backtraces for easier debugging
113-
export RUST_BACKTRACE=1
114-
115-
# Reduce amount of benchmark runs as they are slow
116-
export COMPILE_RUNS=2
117-
export RUN_RUNS=2
109+
./test.sh --release --clean --build-sysroot --mini-tests ${{ matrix.libgccjit_version.extra }}
118110
119-
./test.sh --release
111+
- name: Test std_tests
112+
run: |
113+
./test.sh --release --std-tests ${{ matrix.libgccjit_version.extra }}
120114
121-
- name: Test
122-
if: matrix.libgccjit_version == 'libgccjit12.so'
115+
- name: Test test_libcore
123116
run: |
124-
# Enable backtraces for easier debugging
125-
export RUST_BACKTRACE=1
117+
./test.sh --release --test-libcore ${{ matrix.libgccjit_version.extra }}
126118
127-
# Reduce amount of benchmark runs as they are slow
128-
export COMPILE_RUNS=2
129-
export RUN_RUNS=2
119+
- name: Test extended_sysroot_tests
120+
run: |
121+
./test.sh --release --extended-tests ${{ matrix.libgccjit_version.extra }}
130122
131-
./test.sh --release --no-default-features
123+
- name: Test test_rustc
124+
run: |
125+
./test.sh --release --test-rustc ${{ matrix.libgccjit_version.extra }}
132126
133127
duplicates:
134128
runs-on: ubuntu-latest

test.sh

Lines changed: 25 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,14 @@ export LIBRARY_PATH="$GCC_PATH"
1717
flags=
1818
gcc_master_branch=1
1919
channel="debug"
20-
func=all
20+
funcs=()
2121
build_only=0
2222

2323
while [[ $# -gt 0 ]]; do
2424
case $1 in
2525
--release)
2626
codegen_channel=release
27+
channel="release"
2728
shift
2829
;;
2930
--release-sysroot)
@@ -40,37 +41,41 @@ while [[ $# -gt 0 ]]; do
4041
flags="$flags --features $1"
4142
shift
4243
;;
43-
--release)
44-
channel="release"
45-
shift
46-
;;
4744
"--test-rustc")
48-
func=test_rustc
45+
funcs+=(test_rustc)
4946
shift
5047
;;
5148

5249
"--test-libcore")
53-
func=test_libcore
50+
funcs+=(test_libcore)
5451
shift
5552
;;
5653

5754
"--clean-ui-tests")
58-
func=clean_ui_tests
55+
funcs+=(clean_ui_tests)
56+
shift
57+
;;
58+
"--clean")
59+
funcs+=(clean)
5960
shift
6061
;;
6162

6263
"--std-tests")
63-
func=std_tests
64+
funcs+=(std_tests)
6465
shift
6566
;;
6667

6768
"--extended-tests")
68-
func=extended_sysroot_tests
69+
funcs+=(extended_sysroot_tests)
70+
shift
71+
;;
72+
"--mini-tests")
73+
funcs+=(mini_tests)
6974
shift
7075
;;
7176

7277
"--build-sysroot")
73-
func=build_sysroot
78+
funcs+=(build_sysroot)
7479
shift
7580
;;
7681
"--build")
@@ -87,14 +92,14 @@ done
8792
if [[ $channel == "release" ]]; then
8893
export CHANNEL='release'
8994
CARGO_INCREMENTAL=1 cargo rustc --release $flags
90-
shift
9195
else
9296
echo $LD_LIBRARY_PATH
9397
export CHANNEL='debug'
9498
cargo rustc $flags
9599
fi
96100

97101
if (( $build_only == 1 )); then
102+
echo "Since it's `build-only`, exiting..."
98103
exit
99104
fi
100105

@@ -289,4 +294,11 @@ function all() {
289294
test_rustc
290295
}
291296

292-
$func
297+
if [ ${#funcs[@]} -eq 0 ]; then
298+
echo "No command passed, running `--all`..."
299+
all
300+
else
301+
for t in ${funcs[@]}; do
302+
$t
303+
done
304+
fi

0 commit comments

Comments
 (0)