[ENG-1663] Prevent middle-click opening new tab #7896
Workflow file for this run
This file contains 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: | |
merge_group: | |
env: | |
SPACEDRIVE_CUSTOM_APT_FLAGS: --no-install-recommends | |
# From: https://github.com/rust-lang/rust-analyzer/blob/master/.github/workflows/ci.yaml | |
CARGO_INCREMENTAL: 0 | |
CARGO_NET_RETRY: 10 | |
RUST_BACKTRACE: short | |
RUSTUP_MAX_RETRIES: 10 | |
# Cancel previous runs of the same workflow on the same branch. | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
typescript: | |
name: TypeScript | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Setup Node.js, pnpm and dependencies | |
uses: ./.github/actions/setup-pnpm | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Perform typechecks | |
run: pnpm typecheck | |
eslint: | |
name: ESLint | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Setup Node.js, pnpm and dependencies | |
uses: ./.github/actions/setup-pnpm | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Perform linting | |
run: pnpm lint | |
rustfmt: | |
name: Rust Formatting | |
runs-on: ubuntu-latest | |
steps: | |
- name: Maximize build space | |
if: ${{ runner.os == 'Linux' }} | |
uses: easimon/maximize-build-space@master | |
with: | |
swap-size-mb: 3072 | |
root-reserve-mb: 6144 | |
remove-dotnet: 'true' | |
remove-codeql: 'true' | |
remove-haskell: 'true' | |
remove-docker-images: 'true' | |
- name: Symlink target to C:\ | |
if: ${{ runner.os == 'Windows' }} | |
shell: powershell | |
run: | | |
New-Item -ItemType Directory -Force -Path C:\spacedrive_target | |
New-Item -Path target -ItemType Junction -Value C:\spacedrive_target | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- uses: dorny/paths-filter@v3 | |
id: filter | |
with: | |
filters: | | |
changes: | |
- 'apps/cli/*/**' | |
- 'apps/desktop/crates/*/**' | |
- 'apps/desktop/src-tauri/*/**' | |
- 'apps/mobile/crates/*/**' | |
- 'apps/server/*/**' | |
- 'core/**' | |
- 'crates/*/**' | |
- 'extensions/*/**' | |
- 'Cargo.toml' | |
- 'Cargo.lock' | |
- name: Setup Rust and Prisma | |
if: steps.filter.outputs.changes == 'true' | |
uses: ./.github/actions/setup-rust | |
with: | |
restore-cache: 'false' | |
- name: Run rustfmt | |
if: steps.filter.outputs.changes == 'true' | |
run: cargo fmt --all -- --check | |
clippy: | |
name: Clippy (${{ matrix.platform }}) | |
runs-on: ${{ matrix.platform }} | |
strategy: | |
matrix: | |
platform: [ubuntu-20.04, macos-14, windows-latest] | |
steps: | |
- name: Maximize build space | |
if: ${{ runner.os == 'Linux' }} | |
uses: easimon/maximize-build-space@master | |
with: | |
swap-size-mb: 3072 | |
root-reserve-mb: 6144 | |
remove-dotnet: 'true' | |
remove-codeql: 'true' | |
remove-haskell: 'true' | |
remove-docker-images: 'true' | |
- name: Symlink target to C:\ | |
if: ${{ runner.os == 'Windows' }} | |
shell: powershell | |
run: | | |
New-Item -ItemType Directory -Force -Path C:\spacedrive_target | |
New-Item -Path target -ItemType Junction -Value C:\spacedrive_target | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- uses: dorny/paths-filter@v3 | |
id: filter | |
with: | |
filters: | | |
changes: | |
- ${{ runner.os == 'Windows' && 'scripts/setup.ps1' || 'scripts/setup.sh' }} | |
- 'scripts/preprep.mjs' | |
- 'apps/cli/*/**' | |
- 'apps/desktop/crates/*/**' | |
- 'apps/desktop/src-tauri/*/**' | |
- 'apps/mobile/crates/*/**' | |
- 'apps/server/*/**' | |
- 'core/**' | |
- 'crates/*/**' | |
- 'extensions/*/**' | |
- 'Cargo.toml' | |
- 'Cargo.lock' | |
- name: Setup System and Rust | |
if: steps.filter.outputs.changes == 'true' | |
uses: ./.github/actions/setup-system | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Run Clippy | |
if: steps.filter.outputs.changes == 'true' | |
uses: actions-rs-plus/clippy-check@v2 | |
with: | |
args: --workspace --all-features | |
# test: | |
# name: Test (${{ matrix.platform }}) | |
# runs-on: ${{ matrix.platform }} | |
# strategy: | |
# matrix: | |
# platform: [ubuntu-20.04, macos-latest, windows-latest] | |
# steps: | |
# - name: Checkout repository | |
# uses: actions/checkout@v4 | |
# | |
# - name: Setup | |
# uses: ./.github/actions/setup | |
# | |
# - name: Test | |
# run: cargo test --workspace --all-features |