ci: skip real-env integration in release workflow #125
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: CI | |
| on: | |
| pull_request: | |
| branches: | |
| - main | |
| - dev | |
| types: [opened, synchronize, reopened, ready_for_review] | |
| push: | |
| branches: | |
| - main | |
| permissions: | |
| contents: read | |
| pull-requests: read | |
| concurrency: | |
| group: ci-${{ github.event.pull_request.number || github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| changes: | |
| runs-on: ubuntu-24.04 | |
| outputs: | |
| docs: ${{ steps.filter.outputs.docs }} | |
| gui: ${{ steps.filter.outputs.gui }} | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - id: filter | |
| uses: dorny/paths-filter@v3 | |
| with: | |
| filters: | | |
| docs: | |
| - 'doc/**' | |
| - '.github/actions/setup-node-pnpm/action.yml' | |
| - '.github/workflows/ci.yml' | |
| - '.github/workflows/docs.yml' | |
| - 'package.json' | |
| - 'pnpm-lock.yaml' | |
| - 'pnpm-workspace.yaml' | |
| - 'xtask/**' | |
| gui: | |
| - 'gui/**' | |
| - '.github/actions/build-gui-platform/action.yml' | |
| - '.github/actions/setup-tauri/action.yml' | |
| - '.github/workflows/ci.yml' | |
| - '.github/workflows/release.yml' | |
| - 'package.json' | |
| - 'pnpm-lock.yaml' | |
| - 'pnpm-workspace.yaml' | |
| - 'xtask/**' | |
| validate-monorepo: | |
| if: github.event_name != 'pull_request' || github.event.pull_request.draft == false | |
| runs-on: ubuntu-24.04 | |
| timeout-minutes: 45 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: ./.github/actions/setup-node-pnpm | |
| - uses: ./.github/actions/setup-rust | |
| with: | |
| cache-key: ci | |
| - name: Lint | |
| run: cargo run -p xtask -- lint | |
| - name: Typecheck | |
| run: cargo run -p xtask -- check-type | |
| - name: Build | |
| run: cargo run -p xtask -- build | |
| - name: Rust unit tests | |
| run: cargo test --workspace --exclude tnmsg --exclude tnmsc-integrate-tests --exclude tnmsc-local-tests --exclude tnmsm-integrate-tests --lib --bins | |
| gui-smoke: | |
| needs: changes | |
| if: | | |
| (github.event_name != 'pull_request' || github.event.pull_request.draft == false) && | |
| needs.changes.outputs.gui == 'true' | |
| runs-on: ubuntu-24.04 | |
| timeout-minutes: 30 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: ./.github/actions/setup-node-pnpm | |
| - name: Read GUI version | |
| id: gui-version | |
| run: | | |
| version="$(node -p 'require("./gui/package.json").version')" | |
| echo "version=$version" >> "$GITHUB_OUTPUT" | |
| - uses: ./.github/actions/setup-tauri | |
| with: | |
| version: ${{ steps.gui-version.outputs.version }} | |
| - name: Build GUI | |
| run: cargo run -p xtask -- gui-build | |
| - name: Test GUI | |
| run: pnpm -C gui test | |
| docs-check: | |
| needs: changes | |
| if: | | |
| (github.event_name != 'pull_request' || github.event.pull_request.draft == false) && | |
| needs.changes.outputs.docs == 'true' | |
| runs-on: ubuntu-24.04 | |
| timeout-minutes: 30 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: ./.github/actions/setup-node-pnpm | |
| with: | |
| install-filter: "@truenine/memory-sync-docs..." | |
| - name: Validate docs content | |
| run: pnpm -C doc run validate:content | |
| - name: Lint docs | |
| run: pnpm -C doc run lint | |
| - name: Typecheck docs | |
| run: pnpm -C doc run check:type | |
| - name: Build docs | |
| run: pnpm -C doc run build |