diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 06f507b60..14ee36f80 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -6,11 +6,20 @@ jobs: test: name: Build and test runs-on: ubuntu-latest + with: + fetch-depth: 0 steps: - name: Checkout code uses: actions/checkout@v4 + - name: Lint and format + uses: gcr.io/cloud-builders/bazel@sha256:aa6c5ffd0d6d37960715d9c3392ba885e6484322c81c3604a90ccfb15c07c110 + entrypoint: bash + with: + args: ./scripts/lint + + - name: Run unit tests # 7.3.2 uses: gcr.io/cloud-builders/bazel@sha256:aa6c5ffd0d6d37960715d9c3392ba885e6484322c81c3604a90ccfb15c07c110 diff --git a/scripts/lint b/scripts/lint index d42d4f752..fe76746c4 100755 --- a/scripts/lint +++ b/scripts/lint @@ -1,6 +1,14 @@ #!/bin/bash +set -e bazel run @nodejs//:yarn # Run eslint. bazel build @npm//eslint/bin:eslint && bazel-bin/external/npm/eslint/bin/eslint.sh --rulesdir eslint-rules '**/*.ts' + +# Run prettier on .ts files changed against origin/main +CHANGED_TS_FILES=$(git diff --name-only --diff-filter=ACMR origin/main...HEAD -- '*.ts') + +if [ -n "$CHANGED_TS_FILES" ]; then + bazel build @npm//prettier/bin:prettier && bazel-bin/external/npm/prettier/bin/prettier.sh --ignore-path .eslintignore --check $CHANGED_TS_FILES +fi \ No newline at end of file