From d1db2dcbb03bfdb59e5b51798b6cecf3b3084281 Mon Sep 17 00:00:00 2001 From: Joey Perrott Date: Mon, 31 Jul 2023 17:13:24 +0000 Subject: [PATCH] ci: migrate to using GHA Migrate CI to GHA form CircleCI --- .circleci/bazel.rc | 4 +-- .github/workflows/ci.yml | 61 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 63 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/ci.yml diff --git a/.circleci/bazel.rc b/.circleci/bazel.rc index d99fdea6b..67003efd2 100644 --- a/.circleci/bazel.rc +++ b/.circleci/bazel.rc @@ -19,5 +19,5 @@ test --flaky_test_attempts=2 build --verbose_failures=true # Setup disk cache -build --disk_cache=/home/circleci/bazel_disk_cache -test --disk_cache=/home/circleci/bazel_disk_cache +build --disk_cache=/tmp/bazel_disk_cache +test --disk_cache=/tmp/bazel_disk_cache diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 000000000..6bbacb67c --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,61 @@ +name: CI + +on: + push: + branches: + - main + - '[0-9]+.[0-9]+.x' + pull_request: + types: [opened, synchronize, reopened] + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +permissions: {} + +defaults: + run: + shell: bash + +jobs: + lint: + runs-on: ubuntu-latest + steps: + - name: Initialize environment + uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@0109d498b0f6aae418ed4924a5e5c65695f0ac61 + with: + node-version: 18 + - name: Install node modules + run: yarn install --frozen-lockfile + - name: Confirm code builds with typescript as expected + run: yarn -s check-tooling-setup + - name: Check code lint + run: yarn lint + - name: Check commit message + # Commit message validation is only done on pull requests as its too late to validate once + # it has been merged. + if: github.event_name == 'pull_request' + run: yarn ng-dev commit-message validate-range ${{ github.event.pull_request.base.sha }} ${{ github.event.pull_request.head.sha }} + - name: Check code format + # Code formatting checks are only done on pull requests as its too late to validate once + # it has been merged. + if: github.event_name == 'pull_request' + run: yarn ng-dev format changed --check ${{ github.event.pull_request.base.sha }} + + tests: + runs-on: ubuntu-latest + steps: + - name: Initialize environment + uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@0109d498b0f6aae418ed4924a5e5c65695f0ac61 + with: + node-version: 18 + - name: Setup Bazel + uses: angular/dev-infra/github-actions/bazel/setup@0109d498b0f6aae418ed4924a5e5c65695f0ac61 + - name: Setup Bazel RBE + uses: angular/dev-infra/github-actions/bazel/configure-remote@0109d498b0f6aae418ed4924a5e5c65695f0ac61 + - run: cat ./.circleci/bazel.rc >> .bazelrc + - name: Install node modules + run: yarn install --frozen-lockfile + - name: Run unit tests + run: yarn bazel test //...