fix: resolve clippy warnings in orchestrator module #68
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Release | |
| on: | |
| push: | |
| tags: | |
| - "v*" | |
| workflow_dispatch: | |
| permissions: | |
| contents: write | |
| env: | |
| CARGO_TERM_COLOR: always | |
| jobs: | |
| # ─────────────────────────────────────────────── | |
| # Gate: CI checks must pass before any publishing | |
| # ─────────────────────────────────────────────── | |
| ci: | |
| name: CI Checks | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup workspace context | |
| run: bash .github/setup-workspace.sh | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: rustfmt, clippy | |
| - name: Install protobuf compiler | |
| run: sudo apt-get update && sudo apt-get install -y protobuf-compiler | |
| - name: Format check | |
| run: cargo fmt --all -- --check | |
| - name: Clippy | |
| run: cargo clippy --workspace -- -D warnings | |
| - name: Tests | |
| run: cargo test --workspace --lib | |
| # ─────────────────────────────────────────────── | |
| # Windows cross-compile check | |
| # ─────────────────────────────────────────────── | |
| ci-windows: | |
| name: CI Checks (Windows) | |
| runs-on: windows-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup workspace context | |
| shell: bash | |
| run: bash .github/setup-workspace.sh | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Clippy (Windows) | |
| run: cargo clippy --workspace -- -D warnings | |
| - name: Tests (Windows) | |
| run: cargo test --workspace --lib | |
| # ─────────────────────────────────────────────── | |
| # Build CLI binary for Windows | |
| # ─────────────────────────────────────────────── | |
| build-cli-windows: | |
| name: Build CLI (Windows x86_64) | |
| needs: [ci, ci-windows] | |
| runs-on: windows-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup workspace context | |
| shell: bash | |
| run: bash .github/setup-workspace.sh | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| targets: x86_64-pc-windows-msvc | |
| - name: Install protobuf compiler | |
| run: choco install protoc -y | |
| - name: Build CLI | |
| run: cargo build -p a3s-code-cli --release | |
| - name: Upload artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: a3s-code-windows-x86_64 | |
| path: target/release/a3s-code.exe | |
| if-no-files-found: error | |
| # ─────────────────────────────────────────────── | |
| # Publish a3s-code-core to crates.io | |
| # ─────────────────────────────────────────────── | |
| publish-crate: | |
| name: Publish to crates.io | |
| needs: ci | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup workspace context | |
| run: bash .github/setup-workspace.sh | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Install protobuf compiler | |
| run: sudo apt-get update && sudo apt-get install -y protobuf-compiler | |
| - name: Publish a3s-code-core | |
| working-directory: core | |
| env: | |
| CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_TOKEN }} | |
| run: cargo publish --allow-dirty || true | |
| # ─────────────────────────────────────────────── | |
| # Build and publish Node native SDK (reusable) | |
| # ─────────────────────────────────────────────── | |
| publish-node: | |
| name: Node SDK | |
| needs: ci | |
| uses: ./.github/workflows/publish-node.yml | |
| secrets: inherit | |
| # ─────────────────────────────────────────────── | |
| # Build and publish Python native SDK (reusable) | |
| # ─────────────────────────────────────────────── | |
| publish-python: | |
| name: Python SDK | |
| needs: ci | |
| uses: ./.github/workflows/publish-python.yml | |
| secrets: inherit | |
| # ─────────────────────────────────────────────── | |
| # Create GitHub Release | |
| # ─────────────────────────────────────────────── | |
| github-release: | |
| name: GitHub Release | |
| needs: ci | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Generate release notes | |
| run: | | |
| PREV_TAG=$(git tag --sort=-v:refname | grep '^v' | head -2 | tail -1) | |
| if [ -z "$PREV_TAG" ]; then | |
| echo "Initial release" > /tmp/release-notes.md | |
| else | |
| git log "${PREV_TAG}..HEAD" --oneline --no-merges --pretty=format:"- %s" | head -50 > /tmp/release-notes.md | |
| fi | |
| - name: Create release | |
| env: | |
| GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| run: | | |
| if gh release view "$GITHUB_REF_NAME" &>/dev/null; then | |
| echo "Release $GITHUB_REF_NAME already exists" | |
| else | |
| gh release create "$GITHUB_REF_NAME" \ | |
| --title "$GITHUB_REF_NAME" \ | |
| --notes-file /tmp/release-notes.md | |
| fi |