Skip to content

Commit ce5a6fa

Browse files
authored
ci: use self-hosted runners (#350)
* ci: use self-hosted runners * ci: avoid duplicate branch runs * ci: rely on preinstalled rust toolchain * ci: use runner rust path * ci: use preinstalled node and wasm tools
1 parent 9f086f2 commit ce5a6fa

1 file changed

Lines changed: 37 additions & 89 deletions

File tree

.github/workflows/ci.yml

Lines changed: 37 additions & 89 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ name: CI
22

33
on:
44
push:
5+
branches:
6+
- main
57
pull_request:
68

79
env:
@@ -12,120 +14,73 @@ jobs:
1214
# 1
1315
check:
1416
name: Rust project check
15-
runs-on: ubuntu-latest
17+
runs-on: [self-hosted, Linux, X64]
1618
steps:
1719
- uses: actions/checkout@v2
18-
- name: Install latest nightly
19-
uses: actions-rs/toolchain@v1
20-
with:
21-
toolchain: stable
22-
override: true
23-
components: rustfmt, clippy
24-
25-
- name: Install Protoc
26-
uses: arduino/setup-protoc@v2
27-
28-
# `cargo check` command here will use installed `nightly`
29-
# as it is set as an "override" for current directory
20+
- name: Use preinstalled tools
21+
run: |
22+
echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
23+
echo "$HOME/actions-runner/externals/node20/bin" >> "$GITHUB_PATH"
3024
3125
- name: Run cargo check
3226
run: make cargo-check
3327

34-
3528
- name: Run cargo build
3629
run: make build
3730

38-
3931
- name: Run cargo test
4032
run: make test
4133
# 2
4234
fmt:
4335
name: Rust fmt
44-
runs-on: ubuntu-latest
36+
runs-on: [self-hosted, Linux, X64]
4537
steps:
4638
- uses: actions/checkout@v2
47-
- name: Install latest nightly
48-
uses: actions-rs/toolchain@v1
49-
with:
50-
toolchain: stable
51-
override: true
52-
components: rustfmt, clippy
53-
54-
# `cargo check` command here will use installed `nightly`
55-
# as it is set as an "override" for current directory
39+
- name: Use preinstalled tools
40+
run: |
41+
echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
42+
echo "$HOME/actions-runner/externals/node20/bin" >> "$GITHUB_PATH"
5643
5744
- name: Run cargo fmt
5845
run: make fmt
5946
# 3
6047
e2e:
6148
name: Rust e2e sqllogictest
62-
runs-on: ubuntu-latest
49+
runs-on: [self-hosted, Linux, X64]
6350
steps:
6451
- uses: actions/checkout@v2
65-
- name: Install latest nightly
66-
uses: actions-rs/toolchain@v1
67-
with:
68-
toolchain: stable
69-
override: true
70-
components: rustfmt, clippy
71-
72-
- name: Install Protoc
73-
uses: arduino/setup-protoc@v2
74-
75-
# `cargo check` command here will use installed `nightly`
76-
# as it is set as an "override" for current directory
52+
- name: Use preinstalled tools
53+
run: |
54+
echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
55+
echo "$HOME/actions-runner/externals/node20/bin" >> "$GITHUB_PATH"
7756
7857
- name: Run sqllogictest suite
7958
run: make test-slt
8059
# 4
8160
wasm-tests:
8261
name: Wasm cargo tests
83-
runs-on: ubuntu-latest
62+
runs-on: [self-hosted, Linux, X64]
8463
steps:
8564
- uses: actions/checkout@v2
8665

87-
- name: Install stable with wasm target
88-
uses: actions-rs/toolchain@v1
89-
with:
90-
toolchain: stable
91-
target: wasm32-unknown-unknown
92-
override: true
93-
94-
- name: Setup Node.js
95-
uses: actions/setup-node@v4
96-
with:
97-
node-version: 20
98-
99-
- name: Install wasm-pack
100-
uses: jetli/wasm-pack-action@v0.4.0
101-
with:
102-
version: latest
66+
- name: Use preinstalled tools
67+
run: |
68+
echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
69+
echo "$HOME/actions-runner/externals/node20/bin" >> "$GITHUB_PATH"
10370
10471
- name: Run wasm-bindgen tests (wasm32 target)
10572
run: make test-wasm
10673
# 5
10774
wasm-examples:
10875
name: Wasm examples (nodejs)
109-
runs-on: ubuntu-latest
76+
runs-on: [self-hosted, Linux, X64]
11077
steps:
11178
- uses: actions/checkout@v2
11279

113-
- name: Install stable with wasm target
114-
uses: actions-rs/toolchain@v1
115-
with:
116-
toolchain: stable
117-
target: wasm32-unknown-unknown
118-
override: true
119-
120-
- name: Setup Node.js
121-
uses: actions/setup-node@v4
122-
with:
123-
node-version: 20
124-
125-
- name: Install wasm-pack
126-
uses: jetli/wasm-pack-action@v0.4.0
127-
with:
128-
version: latest
80+
- name: Use preinstalled tools
81+
run: |
82+
echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
83+
echo "$HOME/actions-runner/externals/node20/bin" >> "$GITHUB_PATH"
12984
13085
- name: Build wasm package
13186
run: make wasm-build
@@ -135,35 +90,28 @@ jobs:
13590
# 6
13691
native-examples:
13792
name: Native examples
138-
runs-on: ubuntu-latest
93+
runs-on: [self-hosted, Linux, X64]
13994
steps:
14095
- uses: actions/checkout@v2
14196

142-
- name: Install stable toolchain
143-
uses: actions-rs/toolchain@v1
144-
with:
145-
toolchain: stable
146-
override: true
97+
- name: Use preinstalled tools
98+
run: |
99+
echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
100+
echo "$HOME/actions-runner/externals/node20/bin" >> "$GITHUB_PATH"
147101
148102
- name: Run native examples
149103
run: make native-examples
150104
# 7
151105
python-tests:
152106
name: Python bindings tests
153-
runs-on: ubuntu-latest
107+
runs-on: [self-hosted, Linux, X64]
154108
steps:
155109
- uses: actions/checkout@v2
156110

157-
- name: Install stable toolchain
158-
uses: actions-rs/toolchain@v1
159-
with:
160-
toolchain: stable
161-
override: true
162-
163-
- name: Setup Python
164-
uses: actions/setup-python@v5
165-
with:
166-
python-version: "3.12"
111+
- name: Use preinstalled tools
112+
run: |
113+
echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
114+
echo "$HOME/actions-runner/externals/node20/bin" >> "$GITHUB_PATH"
167115
168116
- name: Run python binding tests
169117
run: make test-python

0 commit comments

Comments
 (0)