From 7fc5218e32fb6e4fcdb015d36fb428f58b8c3b7e Mon Sep 17 00:00:00 2001 From: Will Binns-Smith Date: Mon, 3 Jun 2024 09:40:38 -0700 Subject: [PATCH] Use ast-grep GitHub action and pin versions This uses the official ast-grep GitHub Action [0] instead of installing it from npm in the clippy job. Thanks for the suggestion from @HerringtonDarkholme! [0] https://github.com/ast-grep/action [1] https://github.com/vercel/turbo/pull/5637#issuecomment-1666751193 --- .github/workflows/turbopack-test.yml | 19 +++++++++++++++---- .github/workflows/turborepo-test.yml | 19 +++++++++++++++---- .vscode/extensions.json | 3 ++- 3 files changed, 32 insertions(+), 9 deletions(-) diff --git a/.github/workflows/turbopack-test.yml b/.github/workflows/turbopack-test.yml index b5313e8d62acc..56007eb804997 100644 --- a/.github/workflows/turbopack-test.yml +++ b/.github/workflows/turbopack-test.yml @@ -204,6 +204,21 @@ jobs: run: | CARGO_BUILD_TARGET="wasm32-wasip1-threads" RUSTFLAGS="-D warnings -A deprecated" cargo groups check turbopack-wasi --release + # From https://github.com/ast-grep/action/tree/v1.5/?tab=readme-ov-file#inputs + ast_grep_lint: + runs-on: ubuntu-latest + name: Turbopack ast-grep lint + steps: + - name: Set turbopack paths + run: echo "GITHUB_TURBOPACK_PATHS=$(cargo groups list turbopack | awk '{ print $2 }' | tr '\n' ' ')" >> $GITHUB_ENV + - name: Checkout + uses: actions/checkout@v4 + - name: ast-grep lint step + uses: wbinnssmith/action@wbinnssmith/paths-schema + with: + paths: ${{ env.GITHUB_TURBOPACK_PATHS }} + version: 0.23.0 + turbopack_rust_clippy: needs: [turbopack_rust_check] name: Turbopack rust clippy @@ -226,10 +241,6 @@ jobs: run: | RUSTFLAGS="-D warnings -A deprecated" cargo groups clippy turbopack --features rustls-tls - - name: Run ast-grep lints - run: | - npx --package @ast-grep/cli -- ast-grep scan $(cargo groups list turbopack | awk '{ print $2 }' | tr '\n' ' ') - next_dev_check: needs: [determine_jobs] if: needs.determine_jobs.outputs.turbopack == 'true' || needs.determine_jobs.outputs.cargo_on_main == 'true' diff --git a/.github/workflows/turborepo-test.yml b/.github/workflows/turborepo-test.yml index c48db48e79eed..4b9687d1f555c 100644 --- a/.github/workflows/turborepo-test.yml +++ b/.github/workflows/turborepo-test.yml @@ -314,6 +314,21 @@ jobs: run: | cargo groups check turborepo-libraries --features rustls-tls + # From https://github.com/ast-grep/action/tree/v1.5/?tab=readme-ov-file#inputs + ast_grep_lint: + runs-on: ubuntu-latest + name: Turborepo ast-grep lint + steps: + - name: Set turborepo paths + run: echo "GITHUB_TURBOREPO_PATHS=$(cargo groups list turborepo | awk '{ print $2 }' | tr '\n' ' ')" >> $GITHUB_ENV + - name: Checkout + uses: actions/checkout@v4 + - name: ast-grep lint step + uses: wbinnssmith/action@wbinnssmith/paths-schema + with: + paths: ${{ env.GITHUB_TURBOREPO_PATHS }} + version: 0.23.0 + rust_clippy: needs: [rust_check] name: Turborepo rust clippy @@ -335,10 +350,6 @@ jobs: run: | cargo groups clippy turborepo-libraries --features rustls-tls -- --deny clippy::all - - name: Run ast-grep lints - run: | - npx --package @ast-grep/cli -- ast-grep scan $(cargo groups list turborepo-libraries | awk '{ print $2 }' | tr '\n' ' ') - rust_test: needs: [rust_check] strategy: diff --git a/.vscode/extensions.json b/.vscode/extensions.json index ad340c8680b83..4727b2583bd31 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -17,6 +17,7 @@ "windmilleng.vscode-go-autotest", "yzhang.markdown-all-in-one", "zxh404.vscode-proto3", - "mihaipopescu.Cram" + "mihaipopescu.Cram", + "ast-grep.ast-grep-vscode" ] }