diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 1682f49..a6a5afb 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -15,9 +15,156 @@ concurrency: permissions: contents: read +env: + CARGO_TERM_COLOR: always + jobs: - lint: - name: Lint + rust-fmt: + name: Rust Format check + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Setup Rust toolchain + uses: dtolnay/rust-toolchain@stable + with: + toolchain: nightly + components: rustfmt + + - name: Ensure cargo in PATH + run: echo "$HOME/.cargo/bin" >> $GITHUB_PATH + + - name: Restore cargo cache + uses: Swatinem/rust-cache@v2 + with: + shared-key: ci + + - name: Install cargo-binstall + uses: cargo-bins/cargo-binstall@main + + - name: Setup Protoc + uses: arduino/setup-protoc@v3 + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} + + - name: Install cargo-make + run: cargo binstall -y --force cargo-make + + - name: Check formatting + run: cargo make fmt-check + + rust-check: + name: Rust Check + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Setup Rust toolchain + uses: dtolnay/rust-toolchain@stable + with: + toolchain: nightly + + - name: Ensure cargo in PATH + run: echo "$HOME/.cargo/bin" >> $GITHUB_PATH + + - name: Restore cargo cache + uses: Swatinem/rust-cache@v2 + with: + shared-key: ci + + - name: Install cargo-binstall + uses: cargo-bins/cargo-binstall@main + + - name: Setup Protoc + uses: arduino/setup-protoc@v3 + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} + + - name: Install cargo-make + run: cargo binstall -y --force cargo-make + + - name: Run check + run: cargo make check + + rust-lint: + name: Rust Lint + runs-on: ubuntu-latest + needs: rust-check + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Setup Rust toolchain + uses: dtolnay/rust-toolchain@stable + with: + toolchain: nightly + components: clippy + + - name: Ensure cargo in PATH + run: echo "$HOME/.cargo/bin" >> $GITHUB_PATH + + - name: Restore cargo cache + uses: Swatinem/rust-cache@v2 + with: + shared-key: ci + + - name: Install cargo-binstall + uses: cargo-bins/cargo-binstall@main + + - name: Setup Protoc + uses: arduino/setup-protoc@v3 + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} + + - name: Install cargo-make + run: cargo binstall -y --force cargo-make + + - name: Run Clippy linter + run: cargo make lint + + rust-deny: + name: Rust Deny + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Setup Protoc + uses: arduino/setup-protoc@v3 + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} + + - name: Run cargo-deny + uses: EmbarkStudios/cargo-deny-action@v2 + + rust-audit: + name: Rust Audit + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Setup Rust toolchain + uses: dtolnay/rust-toolchain@stable + with: + toolchain: nightly + + - name: Ensure cargo in PATH + run: echo "$HOME/.cargo/bin" >> $GITHUB_PATH + + - name: Install cargo-binstall + uses: cargo-bins/cargo-binstall@main + + - name: Install cargo-audit + run: cargo binstall -y cargo-audit + + - name: Run cargo-audit + run: cargo audit + + bun-lint: + name: Bun Lint runs-on: ubuntu-latest steps: - name: Checkout repository @@ -40,8 +187,8 @@ jobs: - name: Lint run: bun run lint - test: - name: Unit tests + bun-test: + name: Bun Unit tests runs-on: ubuntu-latest steps: - name: Checkout repository @@ -66,8 +213,8 @@ jobs: NODE_ENV: test run: bun run test - test-e2e: - name: End-to-end tests + bun-test-e2e: + name: Bun End-to-end tests runs-on: ubuntu-latest steps: - name: Checkout repository @@ -92,9 +239,9 @@ jobs: NODE_ENV: test run: bun run test:e2e - build: - name: Build - needs: [lint, test, test-e2e] + bun-build: + name: Bun Build + needs: [bun-lint, bun-test, bun-test-e2e] runs-on: ubuntu-latest steps: - name: Checkout repository diff --git a/README.md b/README.md index 34d4c22..51eaefe 100644 --- a/README.md +++ b/README.md @@ -109,7 +109,7 @@ Content-Type: application/json } ``` -- `Algorithm`: see [documentation](https://shreeed-app.github.io/multi-party-computation-controller-api/enums/grpc_grpc.types.Algorithm.html) for possible enum values. +- `Algorithm`: see [documentation](https://maximedrn.github.io/multi-party-computation-controller-api/enums/grpc_grpc.types.Algorithm.html) for possible enum values. **Response:** `202 Accepted` @@ -171,9 +171,9 @@ Authorization: Bearer } ``` -* `JobType`: see [documentation](https://shreeed-app.github.io/multi-party-computation-controller-api/enums/jobs_jobs.types.JobType.html) for possible enum values. -* `JobStatus`: see [documentation](https://shreeed-app.github.io/multi-party-computation-controller-api/enums/jobs_jobs.types.JobStatus.html) for possible enum values. -* `JobResult`: see [documentation](https://shreeed-app.github.io/multi-party-computation-controller-api/types/jobs_jobs.types.JobResult.html) for possible result structures. +* `JobType`: see [documentation](https://maximedrn.github.io/multi-party-computation-controller-api/enums/jobs_jobs.types.JobType.html) for possible enum values. +* `JobStatus`: see [documentation](https://maximedrn.github.io/multi-party-computation-controller-api/enums/jobs_jobs.types.JobStatus.html) for possible enum values. +* `JobResult`: see [documentation](https://maximedrn.github.io/multi-party-computation-controller-api/types/jobs_jobs.types.JobResult.html) for possible result structures. **Error response:** `404 Not Found` - job does not exist.