Skip to content

Commit d6f5b20

Browse files
committed
feat: add pre-commit and ci
1 parent af1d819 commit d6f5b20

File tree

2 files changed

+75
-0
lines changed

2 files changed

+75
-0
lines changed

.github/workflows/ci.yml

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,54 @@ jobs:
1010
runs-on: ubuntu-latest
1111
steps:
1212
- uses: actions/checkout@v4
13+
with:
14+
submodules: true
1315
- uses: actions/setup-go@v5
16+
- uses: moonrepo/setup-rust@v1
17+
with:
18+
components: rustfmt, clippy
1419
- uses: pre-commit/[email protected]
1520
with:
1621
extra_args: --all-files
22+
23+
tests:
24+
runs-on: ubuntu-latest
25+
steps:
26+
- uses: actions/checkout@v4
27+
with:
28+
lfs: true
29+
submodules: true
30+
- uses: moonrepo/setup-rust@v1
31+
- run: |
32+
cd go-runner
33+
cargo test --all
34+
35+
36+
compat-integration-test-walltime:
37+
runs-on: codspeed-macro
38+
steps:
39+
- uses: actions/checkout@v4
40+
with:
41+
submodules: true
42+
- uses: actions/setup-go@v5
43+
- uses: moonrepo/setup-rust@v1
44+
with:
45+
cache-target: release
46+
47+
- name: Run the benchmarks
48+
uses: CodSpeedHQ/action@main
49+
with:
50+
working-directory: example
51+
run: cargo r --manifest-path ../go-runner/Cargo.toml -- test -bench=.
52+
53+
check:
54+
runs-on: ubuntu-latest
55+
if: always()
56+
needs:
57+
- lint
58+
- tests
59+
- compat-integration-test-walltime
60+
steps:
61+
- uses: re-actors/alls-green@release/v1
62+
with:
63+
jobs: ${{ toJson( needs ) }}

.pre-commit-config.yaml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ repos:
66
- id: end-of-file-fixer
77
- id: check-yaml
88
- id: check-json
9+
exclude: ^go-runner/testdata/
910
- id: check-merge-conflict
1011
- id: check-added-large-files
1112

@@ -14,3 +15,30 @@ repos:
1415
hooks:
1516
- id: go-mod-tidy
1617
- id: go-fmt
18+
19+
- repo: https://github.com/doublify/pre-commit-rust
20+
rev: v1.0
21+
hooks:
22+
- id: fmt
23+
args: [--all, --]
24+
files: ^go-runner/
25+
pass_filenames: false
26+
additional_dependencies: []
27+
entry: bash -c 'cd go-runner && cargo fmt --all'
28+
language: system
29+
30+
- id: cargo-check
31+
args: [--all-targets]
32+
files: ^go-runner/
33+
pass_filenames: false
34+
additional_dependencies: []
35+
entry: bash -c 'cd go-runner && cargo check --all-targets'
36+
language: system
37+
38+
- id: clippy
39+
args: [--all-targets, --, -D, warnings]
40+
files: ^go-runner/
41+
pass_filenames: false
42+
additional_dependencies: []
43+
entry: bash -c 'cd go-runner && cargo clippy --all-targets -- -D warnings'
44+
language: system

0 commit comments

Comments
 (0)