add ci
This commit is contained in:
parent
f7fe621554
commit
0bbf07728d
59
.github/workflows/ci.yml
vendored
Normal file
59
.github/workflows/ci.yml
vendored
Normal file
@ -0,0 +1,59 @@
|
||||
name: ci
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
pull_request:
|
||||
branches:
|
||||
- "**"
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: Lint CLI
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
sparse-checkout: |
|
||||
clients/cli
|
||||
proto
|
||||
|
||||
- name: Set up Rust
|
||||
uses: dtolnay/rust-toolchain@stable
|
||||
|
||||
- name: Install protoc
|
||||
uses: arduino/setup-protoc@v3
|
||||
|
||||
- name: Set up Rust cache
|
||||
uses: Swatinem/rust-cache@v2
|
||||
with:
|
||||
workspaces: ./clients/cli
|
||||
|
||||
- name: Build CLI
|
||||
working-directory: clients/cli
|
||||
run: |
|
||||
cargo build --profile=ci-build
|
||||
|
||||
- name: Run cargo clippy on Orchestrator
|
||||
working-directory: clients/cli
|
||||
run: |
|
||||
cargo clippy --profile=ci-build --no-deps --all-targets --workspace -- -D warnings
|
||||
|
||||
- name: Test
|
||||
working-directory: clients/cli
|
||||
run: |
|
||||
cargo test --profile=ci-build --tests
|
||||
|
||||
- name: Ensure checked in generated files are up to date
|
||||
run: |
|
||||
if [ -n "$(git status --porcelain)" ]; then \
|
||||
echo "There are uncommitted changes in working tree after building."; \
|
||||
git status; \
|
||||
git --no-pager diff; \
|
||||
exit 1; \
|
||||
else \
|
||||
echo "Git working tree is clean"; \
|
||||
fi;
|
@ -1,8 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
mkdir -p clients/flutter/lib/src/generated
|
||||
protoc --experimental_allow_proto3_optional --dart_out=grpc:clients/flutter/lib/src/generated -Iproto proto/orchestrator.proto
|
||||
dart format clients/flutter/lib/src/generated
|
||||
(cd clients/dummy_client && cargo build || echo clients/dummy_client not found, possibly due to a sparse checkout.)
|
||||
(cd clients/cli && cargo build || echo clients/cli not found, possibly due to a sparse checkout.)
|
||||
(cd orchestrator && cargo build || echo orchestrator/ not found, possibly due a sparse checkout.)
|
Loading…
Reference in New Issue
Block a user