fork: drop upstream's CI workflows

Gitea runs .github/workflows alongside .gitea/workflows, so pushing this
fork started firing BloopAI's pipelines on our runner. Three of them
trigger on push -- test.yml, remote-deploy-dev.yml and relay-deploy-dev.yml
-- and the deploy pair aims at BloopAI's own infrastructure. They fail on
missing secrets rather than doing anything, but a fork should not be
attempting to deploy to the infrastructure of the project it forked from,
and the noise buries our own build.

The prod deploy and release workflows are workflow_dispatch or
repository_dispatch only, so they were not firing, but they are equally
meaningless here and go with the rest.

.gitea/workflows/container.yml is now the only CI in this repo. Anything
worth salvaging -- test.yml especially, once it is pointed at our own
runner -- is recoverable from history.
This commit is contained in:
rob thijssen
2026-07-21 15:48:21 +03:00
parent ccff6fc539
commit de5d85504d
9 changed files with 0 additions and 2002 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -1,172 +0,0 @@
name: Publish to npm
on:
release:
types: [released]
workflow_dispatch:
inputs:
tag_name:
description: "Release tag (e.g., v1.2.3)"
required: true
release_id:
description: "GitHub release ID"
required: true
concurrency:
group: publish
cancel-in-progress: true
permissions:
contents: write
packages: write
id-token: write # Required for OIDC trusted publishing
env:
# Node 22.22.2 regresses `npm install -g npm@...` with
# `Cannot find module 'promise-retry'`. Pin a known-good patch until the
# upstream Node/npm regression is resolved.
NODE_VERSION: 22.22.1
PNPM_VERSION: 10.13.1
jobs:
publish:
runs-on: ubuntu-latest
# Only run for main app releases (not remote-v* tags) that were converted from pre-release
if: github.event.release.prerelease == false && !startsWith(github.event.release.tag_name, 'remote-')
steps:
- uses: actions/checkout@v6
with:
ref: ${{ github.event.release.tag_name || inputs.tag_name }}
- name: Setup Node
uses: ./.github/actions/setup-node
- name: Upgrade npm for OIDC support
run: npm install -g npm@11.12.0
- name: Download release assets
uses: actions/github-script@v8
env:
RELEASE_ID: ${{ inputs.release_id }}
with:
script: |
const fs = require('fs');
const path = require('path');
const releaseId = context.payload.release?.id || process.env.RELEASE_ID;
console.log("releaseId:", releaseId);
if (!releaseId) {
core.setFailed('No release ID found.');
return;
}
const release = await github.rest.repos.getRelease({
owner: context.repo.owner,
repo: context.repo.repo,
release_id: releaseId
});
// Find the .tgz file
const tgzAsset = release.data.assets.find(asset => asset.name.endsWith('.tgz'));
if (!tgzAsset) {
core.setFailed('No .tgz file found in release assets');
return;
}
// Download the asset
const response = await github.rest.repos.getReleaseAsset({
owner: context.repo.owner,
repo: context.repo.repo,
asset_id: tgzAsset.id,
headers: {
Accept: 'application/octet-stream'
}
});
// Save to npx-cli directory
const filePath = path.join('npx-cli', tgzAsset.name);
fs.writeFileSync(filePath, Buffer.from(response.data));
console.log(`Downloaded ${tgzAsset.name} to ${filePath}`);
// Set output for next step
core.setOutput('package-file', filePath);
core.setOutput('package-name', tgzAsset.name);
- name: Verify package integrity
id: verify
run: |
cd npx-cli
# List files to confirm download
ls -la *.tgz
# Verify the package can be read
npm pack --dry-run || echo "Note: This is expected to show differences since we're using the pre-built package"
# Extract package name from the downloaded file
PACKAGE_FILE=$(ls *.tgz | head -n1)
echo "package-file=$PACKAGE_FILE" >> $GITHUB_OUTPUT
- name: Publish to npm
run: |
cd npx-cli
# Publish the exact same package that was tested
PACKAGE_FILE="${{ steps.verify.outputs.package-file }}"
echo "Publishing $PACKAGE_FILE to npm..."
npm publish "$PACKAGE_FILE" --provenance --access public
echo "✅ Successfully published to npm!"
- name: Update release description
uses: actions/github-script@v8
env:
RELEASE_ID: ${{ inputs.release_id }}
with:
script: |
const releaseId = context.payload.release?.id || process.env.RELEASE_ID;;
// Fetch the release to get the current body
const release = await github.rest.repos.getRelease({
owner: context.repo.owner,
repo: context.repo.repo,
release_id: releaseId
});
const currentBody = release.data.body || '';
await github.rest.repos.updateRelease({
owner: context.repo.owner,
repo: context.repo.repo,
release_id: releaseId,
body: currentBody + '\n\n✅ **Published to npm registry**'
});
# Promote the tag-specific Tauri update manifest to the fixed endpoint
# so existing desktop app users receive the update notification.
promote-tauri-update:
runs-on: ubuntu-latest
if: github.event.release.prerelease == false && !startsWith(github.event.release.tag_name, 'remote-')
steps:
- name: Configure AWS CLI for R2
run: |
aws configure set aws_access_key_id ${{ secrets.R2_BINARIES_ACCESS_KEY_ID }}
aws configure set aws_secret_access_key ${{ secrets.R2_BINARIES_SECRET_ACCESS_KEY }}
aws configure set default.region auto
- name: Copy update manifest to live endpoint
run: |
TAG="${{ github.event.release.tag_name || inputs.tag_name }}"
ENDPOINT="${{ secrets.R2_BINARIES_ENDPOINT }}"
BUCKET="${{ secrets.R2_BINARIES_BUCKET }}"
echo "Promoting update manifest for $TAG to live endpoint..."
aws s3 cp \
"s3://$BUCKET/binaries/$TAG/tauri/latest.json" \
"s3://$BUCKET/binaries/tauri-update/latest.json" \
--endpoint-url "$ENDPOINT" --content-type "application/json"
echo "Update manifest promoted: binaries/tauri-update/latest.json"

View File

@@ -1,28 +0,0 @@
name: Relay Deploy Dev
on:
push:
branches:
- main
paths:
- crates/relay-tunnel/**
workflow_dispatch:
jobs:
run-relay-deploy:
name: Deploy Relay Dev
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Dispatch dev relay deployment workflow
uses: peter-evans/repository-dispatch@28959ce8df70de7be546dd1250a005dd32156697 # v4.0.1
with:
token: ${{ secrets.REMOTE_DEPLOYMENT_TOKEN }}
repository: BloopAI/vibe-kanban-remote-deployment
event-type: vibe-kanban-relay-deploy-dev
client-payload: |
{
"ref": "${{ github.ref_name }}",
"sha": "${{ github.sha }}"
}

View File

@@ -1,104 +0,0 @@
name: Deploy Relay Prod
on:
workflow_dispatch:
inputs:
version_type:
description: "Version bump type"
required: true
default: "patch"
type: choice
options:
- patch
- minor
- major
concurrency:
group: relay-deploy-${{ github.ref_name }}
cancel-in-progress: true
permissions:
contents: write
env:
RUST_TOOLCHAIN: nightly-2025-12-04
jobs:
release-and-deploy:
runs-on: ubuntu-latest
steps:
- name: Install cargo-edit
uses: taiki-e/cache-cargo-install-action@34ce5120836e5f9f1508d8713d7fdea0e8facd6f # v3.0.1
with:
tool: cargo-edit
git: https://github.com/killercup/cargo-edit
rev: 96a3879fe3bafda6d0f943b642997fbf03e235cd # v0.13.9
- uses: actions/checkout@v6
with:
token: ${{ secrets.GITHUB_TOKEN }}
ssh-key: ${{ secrets.DEPLOY_KEY }}
- name: Determine and update version
id: version
run: |
# Get current version from crates/relay-tunnel/Cargo.toml
current_version=$(grep '^version = ' crates/relay-tunnel/Cargo.toml | head -1 | sed 's/version = "\(.*\)"/\1/')
echo "Current relay-tunnel version: $current_version"
# Parse version components
IFS='.' read -r major minor patch <<< "$current_version"
# Bump based on type
case "${{ github.event.inputs.version_type }}" in
major)
major=$((major + 1))
minor=0
patch=0
;;
minor)
minor=$((minor + 1))
patch=0
;;
patch)
patch=$((patch + 1))
;;
esac
new_version="${major}.${minor}.${patch}"
new_tag="relay-v${new_version}"
# Update version in crates/relay-tunnel/Cargo.toml
cd crates/relay-tunnel
cargo set-version "$new_version"
cargo update relay-tunnel
cd ../..
echo "New version: $new_version"
echo "New tag: $new_tag"
echo "new_version=$new_version" >> $GITHUB_OUTPUT
echo "new_tag=$new_tag" >> $GITHUB_OUTPUT
echo "new_ref=$new_tag" >> $GITHUB_OUTPUT
- name: Commit changes and create tag
run: |
git config --local user.email "action@github.com"
git config --local user.name "GitHub Action"
git add crates/relay-tunnel/Cargo.toml crates/relay-tunnel/Cargo.lock
git commit -m "chore: bump relay-tunnel version to ${{ steps.version.outputs.new_version }}"
git tag -a ${{ steps.version.outputs.new_tag }} -m "Relay release ${{ steps.version.outputs.new_tag }}"
git push
git push --tags
- name: Dispatch relay deployment workflow
uses: peter-evans/repository-dispatch@28959ce8df70de7be546dd1250a005dd32156697 # v4.0.1
with:
token: ${{ secrets.REMOTE_DEPLOYMENT_TOKEN }}
repository: BloopAI/vibe-kanban-remote-deployment
event-type: vibe-kanban-relay-deploy-prod
client-payload: |
{
"ref": "${{ steps.version.outputs.new_ref }}",
"sha": "${{ github.sha }}",
"version": "${{ steps.version.outputs.new_version }}"
}

View File

@@ -1,22 +0,0 @@
name: Create Relay Release
on:
repository_dispatch:
types: [relay-deploy-success]
jobs:
create-release:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Create GitHub Release
uses: softprops/action-gh-release@153bb8e04406b158c6c84fc1615b65b24149a1fe # v2
with:
tag_name: ${{ github.event.client_payload.tag }}
name: ${{ github.event.client_payload.tag }}
generate_release_notes: true
body: |
## Relay Tunnel Service Release
Deployed to ${{ github.event.client_payload.environment }}

View File

@@ -1,29 +0,0 @@
name: Remote Deploy Dev
on:
push:
branches:
- main
paths:
- crates/remote/**
- packages/remote-web/**
workflow_dispatch:
jobs:
run-remote-deploy:
name: Deploy Remote Dev
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Dispatch dev remote deployment workflow
uses: peter-evans/repository-dispatch@28959ce8df70de7be546dd1250a005dd32156697 # v4.0.1
with:
token: ${{ secrets.REMOTE_DEPLOYMENT_TOKEN }}
repository: BloopAI/vibe-kanban-remote-deployment
event-type: vibe-kanban-remote-deploy-dev
client-payload: |
{
"ref": "${{ github.ref_name }}",
"sha": "${{ github.sha }}"
}

View File

@@ -1,112 +0,0 @@
name: Deploy Remote Prod
on:
workflow_dispatch:
inputs:
version_type:
description: "Version bump type"
required: true
default: "patch"
type: choice
options:
- patch
- minor
- major
concurrency:
group: remote-deploy-${{ github.ref_name }}
cancel-in-progress: true
permissions:
contents: write
env:
RUST_TOOLCHAIN: nightly-2025-12-04
jobs:
release-and-deploy:
runs-on: ubuntu-latest
steps:
- name: Install cargo-edit
uses: taiki-e/cache-cargo-install-action@34ce5120836e5f9f1508d8713d7fdea0e8facd6f # v3.0.1
with:
tool: cargo-edit
git: https://github.com/killercup/cargo-edit
rev: 96a3879fe3bafda6d0f943b642997fbf03e235cd # v0.13.9
- uses: actions/checkout@v6
with:
token: ${{ secrets.GITHUB_TOKEN }}
ssh-key: ${{ secrets.DEPLOY_KEY }}
- name: Setup SSH Agent for private dependencies
uses: webfactory/ssh-agent@dc588b651fe13675774614f8e6a936a468676387 # v0.9.0
with:
ssh-private-key: ${{ secrets.VK_PRIVATE_DEPLOY_KEY }}
- name: Determine and update version
id: version
run: |
# Get current version from crates/remote/Cargo.toml
current_version=$(grep '^version = ' crates/remote/Cargo.toml | head -1 | sed 's/version = "\(.*\)"/\1/')
echo "Current remote version: $current_version"
# Parse version components
IFS='.' read -r major minor patch <<< "$current_version"
# Bump based on type
case "${{ github.event.inputs.version_type }}" in
major)
major=$((major + 1))
minor=0
patch=0
;;
minor)
minor=$((minor + 1))
patch=0
;;
patch)
patch=$((patch + 1))
;;
esac
new_version="${major}.${minor}.${patch}"
new_tag="remote-v${new_version}"
# Update version in crates/remote/Cargo.toml
cd crates/remote
cargo set-version "$new_version"
cargo update remote
cd ../..
echo "New version: $new_version"
echo "New tag: $new_tag"
echo "new_version=$new_version" >> $GITHUB_OUTPUT
echo "new_tag=$new_tag" >> $GITHUB_OUTPUT
echo "new_ref=$new_tag" >> $GITHUB_OUTPUT
- name: Stop SSH agent
run: ssh-agent -k
- name: Commit changes and create tag
run: |
git config --local user.email "action@github.com"
git config --local user.name "GitHub Action"
git add crates/remote/Cargo.toml crates/remote/Cargo.lock
git commit -m "chore: bump remote version to ${{ steps.version.outputs.new_version }}"
git tag -a ${{ steps.version.outputs.new_tag }} -m "Remote release ${{ steps.version.outputs.new_tag }}"
git push
git push --tags
- name: Dispatch remote deployment workflow
uses: peter-evans/repository-dispatch@28959ce8df70de7be546dd1250a005dd32156697 # v4.0.1
with:
token: ${{ secrets.REMOTE_DEPLOYMENT_TOKEN }}
repository: BloopAI/vibe-kanban-remote-deployment
event-type: vibe-kanban-remote-deploy-prod
client-payload: |
{
"ref": "${{ steps.version.outputs.new_ref }}",
"sha": "${{ github.sha }}",
"version": "${{ steps.version.outputs.new_version }}"
}

View File

@@ -1,22 +0,0 @@
name: Create Remote Release
on:
repository_dispatch:
types: [remote-deploy-success]
jobs:
create-release:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Create GitHub Release
uses: softprops/action-gh-release@153bb8e04406b158c6c84fc1615b65b24149a1fe # v2
with:
tag_name: ${{ github.event.client_payload.tag }}
name: ${{ github.event.client_payload.tag }}
generate_release_notes: true
body: |
## Remote Service Release
✅ Deployed to ${{ github.event.client_payload.environment }}

View File

@@ -1,347 +0,0 @@
name: Test
on:
pull_request:
branches:
- main
paths-ignore:
- .github/workflows/**
- '!.github/workflows/test.yml'
push:
branches:
- main
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
env:
CARGO_TERM_COLOR: always
NODE_VERSION: 22
PNPM_VERSION: 10.13.1
RUST_TOOLCHAIN: nightly-2025-12-04
RUNNER_LABEL: &runner_label ubuntu-24.04
jobs:
changes:
runs-on: *runner_label
if: github.event_name == 'pull_request'
permissions:
contents: read
pull-requests: read
outputs:
frontend: ${{ steps.filter.outputs.frontend }}
backend: ${{ steps.filter.outputs.backend }}
backend-remote: ${{ steps.filter.outputs['backend-remote'] }}
tauri: ${{ steps.filter.outputs.tauri }}
steps:
- uses: actions/checkout@v6
- uses: dorny/paths-filter@0bc4621a3135347011ad047f9ecf449bf72ce2bd # v3.0.0
id: filter
with:
filters: |
frontend:
- 'packages/local-web/**'
- 'packages/web-core/**'
- 'packages/remote-web/**'
- 'packages/ui/**'
- 'shared/**'
- 'scripts/check-i18n.sh'
- 'scripts/check-unused-i18n-keys.mjs'
- 'scripts/check-legacy-frontend-paths.sh'
- 'scripts/legacy-frontend-paths-allowlist.txt'
- 'pnpm-lock.yaml'
- 'pnpm-workspace.yaml'
- 'package.json'
- '.npmrc'
- '.github/workflows/test.yml'
- '.github/actions/**'
backend:
- 'crates/api-types/**'
- 'crates/client-info/**'
- 'crates/db/**'
- 'crates/deployment/**'
- 'crates/desktop-bridge/**'
- 'crates/embedded-ssh/**'
- 'crates/executors/**'
- 'crates/git/**'
- 'crates/git-host/**'
- 'crates/local-deployment/**'
- 'crates/mcp/**'
- 'crates/preview-proxy/**'
- 'crates/relay-client/**'
- 'crates/relay-control/**'
- 'crates/relay-hosts/**'
- 'crates/relay-protocol/**'
- 'crates/relay-tunnel-core/**'
- 'crates/relay-types/**'
- 'crates/relay-webrtc/**'
- 'crates/relay-ws/**'
- 'crates/remote-info/**'
- 'crates/review/**'
- 'crates/server/**'
- 'crates/services/**'
- 'crates/trusted-key-auth/**'
- 'crates/utils/**'
- 'crates/workspace-manager/**'
- 'crates/worktree-manager/**'
- 'crates/ws-bridge/**'
- 'Cargo.toml'
- 'Cargo.lock'
- 'shared/**'
- 'scripts/prepare-db.js'
- 'pnpm-lock.yaml'
- 'package.json'
- 'rustfmt.toml'
- 'rust-toolchain.toml'
- '.cargo/**'
- '.github/workflows/test.yml'
- '.github/actions/**'
backend-remote:
- 'crates/remote/**'
- 'crates/relay-tunnel/**'
- 'crates/relay-tunnel-core/**'
- 'crates/ws-bridge/**'
- 'crates/api-types/**'
- 'crates/relay-types/**'
- 'crates/utils/**'
- 'Cargo.toml'
- 'Cargo.lock'
- 'shared/**'
- 'rustfmt.toml'
- 'rust-toolchain.toml'
- '.cargo/**'
- 'pnpm-lock.yaml'
- 'package.json'
- '.github/workflows/test.yml'
- '.github/actions/**'
tauri:
- 'crates/tauri-app/**'
- 'crates/api-types/**'
- 'crates/client-info/**'
- 'crates/db/**'
- 'crates/deployment/**'
- 'crates/desktop-bridge/**'
- 'crates/embedded-ssh/**'
- 'crates/executors/**'
- 'crates/git/**'
- 'crates/git-host/**'
- 'crates/local-deployment/**'
- 'crates/mcp/**'
- 'crates/preview-proxy/**'
- 'crates/relay-client/**'
- 'crates/relay-control/**'
- 'crates/relay-hosts/**'
- 'crates/relay-protocol/**'
- 'crates/relay-tunnel-core/**'
- 'crates/relay-types/**'
- 'crates/relay-webrtc/**'
- 'crates/relay-ws/**'
- 'crates/remote-info/**'
- 'crates/review/**'
- 'crates/server/**'
- 'crates/services/**'
- 'crates/trusted-key-auth/**'
- 'crates/utils/**'
- 'crates/workspace-manager/**'
- 'crates/worktree-manager/**'
- 'crates/ws-bridge/**'
- 'Cargo.toml'
- 'Cargo.lock'
- 'rustfmt.toml'
- 'rust-toolchain.toml'
- '.cargo/**'
- 'package.json'
- 'pnpm-lock.yaml'
- 'pnpm-workspace.yaml'
- '.npmrc'
- '.github/workflows/test.yml'
- '.github/actions/**'
frontend-checks:
needs: changes
if: always() && (needs.changes.outputs.frontend == 'true' || needs.changes.result == 'skipped')
runs-on: *runner_label
steps:
- uses: actions/checkout@v6
- name: Setup Node
uses: ./.github/actions/setup-node
- name: Install dependencies
run: pnpm install
- name: Run frontend checks
env:
NODE_OPTIONS: --max-old-space-size=8192
run: |
npx concurrently \
--kill-others-on-fail \
--names "local:lint,local:fmt,local:build,remote:fmt,remote:build,ui:check,ui:lint,ui:fmt,core:check,core:fmt,i18n,i18n:unused,legacy" \
--timings \
"cd packages/local-web && npm run lint" \
"cd packages/local-web && npm run format:check" \
"cd packages/local-web && npm run build" \
"cd packages/remote-web && npm run format:check" \
"cd packages/remote-web && npm run build" \
"cd packages/ui && npm run check" \
"cd packages/ui && npm run lint" \
"cd packages/ui && npm run format:check" \
"cd packages/web-core && npm run check" \
"cd packages/web-core && npm run format:check" \
"GITHUB_BASE_REF=${{ github.base_ref || 'main' }} ./scripts/check-i18n.sh" \
"node scripts/check-unused-i18n-keys.mjs" \
"./scripts/check-legacy-frontend-paths.sh"
backend-schema-checks:
needs: changes
if: always() && (needs.changes.outputs.backend == 'true' || needs.changes.result == 'skipped')
runs-on: *runner_label
env:
SCCACHE_GHA_ENABLED: "true"
RUSTC_WRAPPER: "sccache"
steps:
- uses: actions/checkout@v6
- name: Setup Rust
uses: ./.github/actions/cargo-checks-common-setup
with:
toolchain: ${{ env.RUST_TOOLCHAIN }}
cache-key: backend-schema-checks-${{ runner.os }}-${{ runner.arch }}-${{ env.RUNNER_LABEL }}
setup-node: 'true'
setup-sqlx-cli: 'true'
- name: Check generated types
run: npm run generate-types:check
- name: Sqlx checks
run: npm run prepare-db:check
backend-remote-checks:
needs: changes
if: >-
always()
&& (needs.changes.outputs['backend-remote'] == 'true' || needs.changes.result == 'skipped')
&& (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository)
runs-on: *runner_label
env:
SCCACHE_GHA_ENABLED: "true"
RUSTC_WRAPPER: "sccache"
steps:
- uses: actions/checkout@v6
- name: Setup Rust
uses: ./.github/actions/cargo-checks-common-setup
with:
toolchain: ${{ env.RUST_TOOLCHAIN }}
components: rustfmt, clippy
cache-key: backend-remote-checks-${{ runner.os }}-${{ runner.arch }}-${{ env.RUNNER_LABEL }}
setup-node: 'true'
setup-sqlx-cli: 'true'
- name: Setup SSH Agent for private dependencies
uses: webfactory/ssh-agent@dc588b651fe13675774614f8e6a936a468676387 # v0.9.0
with:
ssh-private-key: ${{ secrets.VK_PRIVATE_DEPLOY_KEY }}
- name: Check remote Cargo.lock is consistent
run: |
cargo metadata --locked --format-version 1 --manifest-path crates/remote/Cargo.toml > /dev/null
cargo metadata --locked --format-version 1 --manifest-path crates/relay-tunnel/Cargo.toml > /dev/null
- name: Check formatting
run: |
cargo fmt --all --manifest-path crates/remote/Cargo.toml -- --check
cargo fmt --all --manifest-path crates/relay-tunnel/Cargo.toml -- --check
- name: Run Clippy
run: |
cargo clippy --all-targets --manifest-path crates/remote/Cargo.toml -- -D warnings
cargo clippy --all-targets --manifest-path crates/relay-tunnel/Cargo.toml -- -D warnings
- name: Check generated types
run: npm run remote:generate-types:check
- name: Sqlx checks
run: npm run remote:prepare-db:check
backend-clippy:
needs: changes
if: always() && (needs.changes.outputs.backend == 'true' || needs.changes.result == 'skipped')
runs-on: *runner_label
env:
SCCACHE_GHA_ENABLED: "true"
RUSTC_WRAPPER: "sccache"
steps:
- uses: actions/checkout@v6
- name: Setup Rust
uses: ./.github/actions/cargo-checks-common-setup
with:
toolchain: ${{ env.RUST_TOOLCHAIN }}
components: rustfmt, clippy
cache-key: backend-clippy-${{ runner.os }}-${{ runner.arch }}-${{ env.RUNNER_LABEL }}
- name: Run Clippy and fmt checks
run: |
set -x
cargo fmt --all -- --check & pid_fmt=$!
cargo clippy --workspace --all-targets --exclude vibe-kanban-tauri -- -D warnings
wait $pid_fmt
backend-test:
needs: changes
if: always() && (needs.changes.outputs.backend == 'true' || needs.changes.result == 'skipped')
runs-on: *runner_label
env:
SCCACHE_GHA_ENABLED: "true"
RUSTC_WRAPPER: "sccache"
steps:
- uses: actions/checkout@v6
- name: Setup Rust
uses: ./.github/actions/cargo-checks-common-setup
with:
toolchain: ${{ env.RUST_TOOLCHAIN }}
cache-key: backend-test-${{ runner.os }}-${{ runner.arch }}-${{ env.RUNNER_LABEL }}
- name: Install cargo-nextest
uses: taiki-e/cache-cargo-install-action@34ce5120836e5f9f1508d8713d7fdea0e8facd6f # v3.0.1
with:
tool: cargo-nextest
git: https://github.com/nextest-rs/nextest
rev: 6e4a9d6f2c4964f30ff54a8cd5466f8869267daa # cargo-nextest-0.9.132
- name: Run Cargo tests
run: cargo nextest run --workspace --exclude vibe-kanban-tauri
tauri-checks:
needs: changes
if: always() && (needs.changes.outputs.tauri == 'true' || needs.changes.result == 'skipped')
runs-on: *runner_label
env:
SCCACHE_GHA_ENABLED: "true"
RUSTC_WRAPPER: "sccache"
steps:
- uses: actions/checkout@v6
- name: Setup Rust
uses: ./.github/actions/cargo-checks-common-setup
with:
toolchain: ${{ env.RUST_TOOLCHAIN }}
components: rustfmt, clippy
cache-key: tauri-checks-${{ runner.os }}-${{ runner.arch }}-${{ env.RUNNER_LABEL }}
- name: Install Linux dependencies
run: |
sudo apt-get update
sudo apt-get install -y libwebkit2gtk-4.1-dev build-essential \
libssl-dev libayatana-appindicator3-dev librsvg2-dev \
libxdo-dev file pkg-config xdg-utils
- name: Run Tauri fmt, clippy, and compile checks
run: |
cargo fmt --all --manifest-path crates/tauri-app/Cargo.toml -- --check
cargo clippy --all-targets --manifest-path crates/tauri-app/Cargo.toml -- -D warnings
cargo check -p vibe-kanban-tauri