Skip to content

Commit

Permalink
ci: migrate lint job from CircleCI to GHA (#27433)
Browse files Browse the repository at this point in the history
* ci: migrate lint job from CircleCI to GHA

Migrate lint to Github Actions

* fixup! ci: migrate lint job from CircleCI to GHA
  • Loading branch information
josephperrott authored Jul 12, 2023
1 parent fd04721 commit e9e3372
Show file tree
Hide file tree
Showing 3 changed files with 58 additions and 50 deletions.
49 changes: 0 additions & 49 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -288,52 +288,6 @@ jobs:
- run: ./scripts/circleci/run-saucelabs-tests.sh
- *slack_notify_on_failure

# ----------------------------------
# Lint job.
# ----------------------------------
lint:
<<: *job_defaults
environment:
CI_GIT_BASE_REVISION: << pipeline.git.base_revision >>
CI_GIT_REVISION: << pipeline.git.revision >>
steps:
- checkout_and_rebase
- *restore_cache
- *setup_bazel_ci_config
- *yarn_install
- *setup_bazel_binary

- run:
name: Checking package externals
command: |
bazel build //:package_externals
yarn check-package-externals $(bazel info bazel-bin)/package_externals.json
- run:
name: Checking entry-points configuration
command: |
bazel build //:entry_points_manifest
yarn check-entry-point-setup $(bazel info bazel-bin)/entry_points_manifest.json
- run: yarn ng-dev format changed --check << pipeline.git.base_revision >>
- run: yarn ownerslint
- run: yarn detect-component-id-collisions
- run: yarn stylelint
- run: yarn tslint
- run: yarn -s ts-circular-deps:check
# Should be last so that it doesn't prevent the other lint checks from running.
- run:
name: Check Commit Message (PR Only)
# Only run the commit message checks on pull requests since we can't do
# much about any failures that have made it into the main branch.
command: |
if [ -n "$CIRCLE_PR_NUMBER" ]; then
yarn ng-dev commit-message validate-range $CI_GIT_BASE_REVISION $CI_GIT_REVISION
fi
- *slack_notify_on_failure
- *save_cache

# -------------------------------------------------------------------------------------------
# Job that builds all release packages. The built packages can be then used in the same
# workflow to publish snapshot builds.
Expand Down Expand Up @@ -623,16 +577,13 @@ workflows:
filters: *only_on_pull_requests_filter
requires:
- build_release_packages
- lint:
filters: *ignore_presubmit_branch_filter
- publish_snapshots:
filters: *publish_branches_filter
requires:
- build_release_packages
- deploy_docs_site:
filters: *publish_branches_filter
requires:
- lint
- build_release_packages
- tests_browsers

Expand Down
1 change: 0 additions & 1 deletion .github/angular-robot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,6 @@ merge:

# list of PR statuses that need to be successful
requiredStatuses:
- 'ci/circleci: lint'
- 'ci/circleci: bazel_build'
- 'ci/circleci: tests_browsers'
- 'ci/circleci: tests_browserstack'
Expand Down
58 changes: 58 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
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@852c3d1898775ec9fbc87213e519f16e78805b57
with:
cache-node-modules: true
- name: Install node modules
run: yarn install --frozen-lockfile
- name: Checking package externals
run: |
bazel build //:package_externals
yarn check-package-externals $(bazel info bazel-bin)/package_externals.json
- name: Checking entry-points configuration
run: |
bazel build //:entry_points_manifest
yarn check-entry-point-setup $(bazel info bazel-bin)/entry_points_manifest.json
- name: Check OWNERS file
run: yarn ownerslint
- name: Check for component id collisions
run: yarn detect-component-id-collisions
- name: Check style lint
run: yarn stylelint
- name: Check code lint
run: yarn tslint
- name: Check for circular dependencies
run: yarn -s ts-circular-deps:check
- 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 }}

0 comments on commit e9e3372

Please sign in to comment.