Skip to content

Commit 3256718

Browse files
committed
feat: add pre-commit and ci
1 parent e0b4422 commit 3256718

File tree

2 files changed

+76
-0
lines changed

2 files changed

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

0 commit comments

Comments
 (0)