Skip to content

feat: migrate circleci #53231

feat: migrate circleci

feat: migrate circleci #53231

Workflow file for this run

name: Main
on:
push:
branches:
- main
- master
pull_request:
types:
- opened
- reopened
- synchronize
merge_group:
jobs:
lint-workflows:
name: Lint workflows
uses: metamask/github-tools/.github/workflows/lint-workflows.yml@e4fef61e6ec862ab5b1ae63605a88c5e621d20ea
test-deps-audit:
name: Test deps audit
uses: ./.github/workflows/test-deps-audit.yml
test-yarn-dedupe:
name: Test yarn dedupe
uses: ./.github/workflows/test-yarn-dedupe.yml
test-lint-shellcheck:
name: Test lint shellcheck
uses: ./.github/workflows/test-lint-shellcheck.yml
test-deps-depcheck:
name: Test deps depcheck
uses: ./.github/workflows/test-deps-depcheck.yml
test-lint:
name: Test lint
uses: ./.github/workflows/test-lint.yml
test-lint-changelog:
name: Test lint changelog
uses: ./.github/workflows/test-lint-changelog.yml
test-lint-lockfile:
name: Test lint lockfile
uses: ./.github/workflows/test-lint-lockfile.yml
run-tests:
name: Run tests
uses: ./.github/workflows/run-tests.yml
wait-for-circleci-workflow-status:
name: Wait for CircleCI workflow status
uses: ./.github/workflows/wait-for-circleci-workflow-status.yml
trigger-beta-build:
name: Trigger beta build
if: ${{ (github.head_ref || github.ref_name) != 'master' }}
uses: ./.github/workflows/trigger-beta-build.yml
publish-prerelease:
name: Publish prerelease
if: ${{ github.event_name == 'pull_request' }}
needs:
- wait-for-circleci-workflow-status
- trigger-beta-build
uses: ./.github/workflows/publish-prerelease.yml
secrets:
PR_COMMENT_TOKEN: ${{ secrets.PR_COMMENT_TOKEN }}
all-jobs-completed:
name: All jobs completed
runs-on: ubuntu-latest
needs:
- lint-workflows
- test-deps-audit
- test-yarn-dedupe
- test-lint-shellcheck
- test-deps-depcheck
- test-lint
- test-lint-changelog
- test-lint-lockfile
- run-tests
- wait-for-circleci-workflow-status
- trigger-beta-build
- publish-prerelease
outputs:
PASSED: ${{ steps.set-output.outputs.PASSED }}
steps:
- name: Set PASSED output
id: set-output
run: echo "PASSED=true" >> "$GITHUB_OUTPUT"
all-jobs-pass:
name: All jobs pass
if: ${{ always() }}
runs-on: ubuntu-latest
needs:
- all-jobs-completed
steps:
- name: Check that all jobs have passed
run: |
passed="${{ needs.all-jobs-completed.outputs.PASSED }}"
if [[ $passed != "true" ]]; then
exit 1
fi
log-merge-group-failure:
name: Log merge group failure
# Only run this job if the merge group event fails, skip on forks
if: ${{ github.event_name == 'merge_group' && failure() && !github.event.repository.fork }}
needs:
- all-jobs-pass
uses: metamask/github-tools/.github/workflows/log-merge-group-failure.yml@6bbad335a01fce1a9ec1eabd9515542c225d46c0
secrets:
GOOGLE_APPLICATION_CREDENTIALS: ${{ secrets.GOOGLE_APPLICATION_CREDENTIALS }}
GOOGLE_SERVICE_ACCOUNT: ${{ secrets.GOOGLE_SERVICE_ACCOUNT }}
SPREADSHEET_ID: ${{ secrets.GOOGLE_MERGE_QUEUE_SPREADSHEET_ID }}
SHEET_NAME: ${{ secrets.GOOGLE_MERGE_QUEUE_SHEET_NAME }}