Skip to content

Commit

Permalink
ci: Improve GitHub Action modularity (#18861)
Browse files Browse the repository at this point in the history
- Closes: #19351
- Switch to using the official [typos GitHub Action](https://github.com/crate-ci/typos/blob/master/docs/github-action.md)
- Move the typos check into `actions/check_style`
- Move Squawk Postgres migration check out of `actions/check_style` file into ci.yml
- `actions/check_style` can now be run on stateless/linux runners (previous required self-hosted MacOS runner)
- ci.yml: Split old `style` into checks into those that can run statelessly (linux) and everything else into a new `migration` group which benefit from the full git checkout available on the MacOS runners.
- ci.yml: Move `Check unused dependencies` from style to `linux_tests`
- Add `if: github.repository_owner == 'zed-industries'` to all jobs so they won't try and run on GitHub forks.
  • Loading branch information
notpeter authored and mikayla-maki committed Oct 18, 2024
1 parent 5334e48 commit 6af0df2
Show file tree
Hide file tree
Showing 5 changed files with 42 additions and 39 deletions.
11 changes: 5 additions & 6 deletions .github/actions/check_style/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,11 @@ description: "Checks code formatting use cargo fmt"
runs:
using: "composite"
steps:
- name: Check for Typos with Typos-CLI
uses: crate-ci/[email protected]
with:
config: ./typos.toml

- name: cargo fmt
shell: bash -euxo pipefail {0}
run: cargo fmt --all -- --check

- name: Find modified migrations
shell: bash -euxo pipefail {0}
run: |
export SQUAWK_GITHUB_TOKEN=${{ github.token }}
. ./script/squawk
47 changes: 30 additions & 17 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,10 @@ env:
RUST_BACKTRACE: 1

jobs:
style:
migration_checks:
name: Check Postgres and Protobuf migrations, mergability
if: github.repository_owner == 'zed-industries'
timeout-minutes: 60
name: Check formatting and spelling
runs-on:
- self-hosted
- test
Expand All @@ -37,25 +38,16 @@ jobs:
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4
with:
clean: false
fetch-depth: 0
fetch-depth: 0 # fetch full history

- name: Remove untracked files
run: git clean -df

- name: Check spelling
run: script/check-spelling

- name: Run style checks
uses: ./.github/actions/check_style

- name: Check unused dependencies
uses: bnjbvr/cargo-machete@main

- name: Check licenses are present
run: script/check-licenses

- name: Check license generation
run: script/generate-licenses /tmp/zed_licenses_output
- name: Find modified migrations
shell: bash -euxo pipefail {0}
run: |
export SQUAWK_GITHUB_TOKEN=${{ github.token }}
. ./script/squawk
- name: Ensure fresh merge
shell: bash -euxo pipefail {0}
Expand All @@ -77,6 +69,19 @@ jobs:
input: "crates/proto/proto/"
against: "https://github.com/${GITHUB_REPOSITORY}.git#branch=${BUF_BASE_BRANCH},subdir=crates/proto/proto/"

style:
timeout-minutes: 60
name: Check formatting and spelling
if: github.repository_owner == 'zed-industries'
runs-on:
- buildjet-8vcpu-ubuntu-2204
steps:
- name: Checkout repo
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4

- name: Run style checks
uses: ./.github/actions/check_style

macos_tests:
timeout-minutes: 60
name: (macOS) Run Clippy and tests
Expand All @@ -92,6 +97,14 @@ jobs:
- name: cargo clippy
run: ./script/clippy

- name: Check unused dependencies
uses: bnjbvr/cargo-machete@main

- name: Check licenses
run: |
script/check-licenses
script/generate-licenses /tmp/zed_licenses_output
- name: Run tests
uses: ./.github/actions/run_tests

Expand Down
1 change: 1 addition & 0 deletions .github/workflows/deploy_cloudflare.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ on:
jobs:
deploy-docs:
name: Deploy Docs
if: github.repository_owner == 'zed-industries'
runs-on: ubuntu-latest

steps:
Expand Down
8 changes: 6 additions & 2 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ on:
jobs:
check_formatting:
name: "Check formatting"
if: github.repository_owner == 'zed-industries'
runs-on: ubuntu-latest

steps:
Expand All @@ -29,5 +30,8 @@ jobs:
false
}
- name: Check spelling
run: script/check-spelling docs/
- name: Check for Typos with Typos-CLI
uses: crate-ci/[email protected]
with:
config: ./typos.toml
files: ./docs/
14 changes: 0 additions & 14 deletions script/check-spelling

This file was deleted.

0 comments on commit 6af0df2

Please sign in to comment.