feat: release workflow waits on every other checks to run #22
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: Lints and tests | |
on: | |
push: | |
branches: ['main'] | |
pull_request: | |
branches: ['**'] | |
types: [opened, synchronize] | |
workflow_dispatch: | |
jobs: | |
commit-check: | |
runs-on: ubuntu-20.04 | |
name: Check conventional commit compliance | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
ref: ${{ github.event.pull_request.head.sha }} | |
- name: Check commits | |
uses: cocogitto/cocogitto-action@v3 | |
frontend-checks: | |
runs-on: ubuntu-20.04 | |
name: Frontend checks | |
needs: [commit-check] | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: volta-cli/action@v4 | |
- run: yarn install --immutable | |
- name: Frontend check | |
run: yarn check | |
- name: Frontend lint | |
run: yarn lint | |
- run: yarn playwright install --with-deps | |
- name: Frontend test | |
run: yarn test | |
- uses: actions/upload-artifact@v3 | |
if: always() | |
with: | |
name: playwright-report | |
path: playwright-report/ | |
retention-days: 30 | |
backend-checks: | |
runs-on: ubuntu-20.04 | |
name: Backend checks | |
needs: [commit-check, frontend-checks] | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: Swatinem/rust-cache@v2 | |
with: | |
shared-key: whooosh-ubuntu-20.04 | |
workspaces: src-tauri | |
- uses: dtolnay/rust-toolchain@stable | |
- uses: awalsh128/cache-apt-pkgs-action@latest | |
with: | |
packages: libgtk-3-dev libwebkit2gtk-4.0-dev libayatana-appindicator3-dev librsvg2-dev | |
version: 1.0 | |
- name: Backend check | |
run: cargo check --manifest-path src-tauri/Cargo.toml | |
- name: Backend lint | |
run: | | |
cargo fmt --manifest-path src-tauri/Cargo.toml --all -- --check | |
cargo clippy --manifest-path src-tauri/Cargo.toml -- -D warnings | |
- name: Backend test | |
run: cargo test --manifest-path src-tauri/Cargo.toml |