diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0d58807b..e5eada38 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -22,7 +22,7 @@ env: jobs: lint: - name: Lint + name: Check and Lint runs-on: ubuntu-latest steps: @@ -37,14 +37,20 @@ jobs: repo-token: ${{ secrets.GITHUB_TOKEN }} version: ${{ env.PROTOC_VERSION }} - uses: actions/checkout@v4 + + - name: Check compiled protos for a diff + run: | + make proto-gen check-diff-proto + - name: cargo fmt run: cargo fmt -- --check --color ${{ env.CARGO_TERM_COLOR }} + - name: cargo clippy run: cargo clippy build: - name: Build on rust-${{ matrix.rust-version}} + name: Test and Build on rust-${{ matrix.rust-version }} runs-on: ubuntu-latest strategy: fail-fast: false @@ -71,32 +77,27 @@ jobs: - name: Run Tests run: cargo test --workspace --all-targets --all-features - test-docs-sdk: - name: Docs SDK - runs-on: ubuntu-latest - env: - RUSTDOCFLAGS: -Dwarnings - steps: - - uses: actions/checkout@v4 - - uses: dtolnay/rust-toolchain@nightly - - uses: dtolnay/install@cargo-docs-rs - - run: cargo docs-rs -p dapr - - test-docs-macros: - name: Docs Macros + test-docs: + name: Check Docs - ${{ matrix.crate }} runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + crate: + - dapr + - dapr-macros env: RUSTDOCFLAGS: -Dwarnings steps: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@nightly - uses: dtolnay/install@cargo-docs-rs - - run: cargo docs-rs -p dapr-macros + - run: cargo docs-rs -p ${{ matrix.crate }} publish: name: Publish runs-on: ubuntu-latest - needs: [test-docs-sdk, test-docs-macros, lint, build] + needs: [test-docs, lint, build] if: startswith(github.ref, 'refs/tags/v') steps: diff --git a/Makefile b/Makefile new file mode 100644 index 00000000..81071b1b --- /dev/null +++ b/Makefile @@ -0,0 +1,7 @@ +.PHONY: proto-gen +proto-gen: + cargo run --bin proto-gen + +.PHONY: check-diff-proto +check-diff-proto: + git diff --exit-code ./proto/ \ No newline at end of file