feat: Add experimental AI PR review #390
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Worker CI | |
on: | |
push: | |
tags: | |
- prod-* | |
branches: | |
- main | |
- staging | |
pull_request: | |
permissions: | |
contents: 'read' | |
id-token: 'write' | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
jobs: | |
lint: | |
name: Run Lint | |
uses: codecov/gha-workflows/.github/workflows/[email protected] | |
build: | |
name: Build Worker | |
uses: codecov/gha-workflows/.github/workflows/[email protected] | |
secrets: inherit | |
with: | |
repo: ${{ vars.CODECOV_IMAGE_V2 || 'codecov/self-hosted-worker' }} | |
codecovstartup: | |
name: Codecov Startup | |
needs: build | |
uses: codecov/gha-workflows/.github/workflows/[email protected] | |
secrets: inherit | |
ats: | |
name: ATS | |
needs: [build] | |
if: ${{ !github.event.pull_request.head.repo.fork && github.repository_owner == 'codecov' }} | |
uses: codecov/gha-workflows/.github/workflows/[email protected] | |
secrets: inherit | |
with: | |
repo: ${{ vars.CODECOV_IMAGE_V2 || 'codecov/self-hosted-worker' }} | |
codecov_cli_upload_args: '--plugin pycoverage --plugin compress-pycoverage --flag onlysomelabels' | |
app_container_name: worker | |
test: | |
name: Test | |
needs: [build] | |
uses: codecov/gha-workflows/.github/workflows/[email protected] | |
secrets: inherit | |
with: | |
repo: ${{ vars.CODECOV_IMAGE_V2 || 'codecov/self-hosted-worker' }} | |
build-self-hosted: | |
name: Build Self Hosted Worker | |
needs: [build, test] | |
uses: codecov/gha-workflows/.github/workflows/[email protected] | |
secrets: inherit | |
with: | |
repo: ${{ vars.CODECOV_IMAGE_V2 || 'codecov/self-hosted-worker' }} | |
staging: | |
name: Push Staging Image | |
needs: [build, test] | |
if: ${{ github.event_name == 'push' && github.event.ref == 'refs/heads/main' && github.repository_owner == 'codecov' }} | |
uses: codecov/gha-workflows/.github/workflows/[email protected] | |
secrets: inherit | |
with: | |
environment: staging | |
repo: ${{ vars.CODECOV_IMAGE_V2 || 'codecov/self-hosted-worker' }} | |
production: | |
name: Push Production Image | |
needs: [ build, test ] | |
if: ${{ github.event_name == 'push' && startsWith(github.ref, 'refs/tags/prod') && github.repository_owner == 'codecov' }} | |
uses: codecov/gha-workflows/.github/workflows/[email protected] | |
secrets: inherit | |
with: | |
environment: production | |
repo: ${{ vars.CODECOV_IMAGE_V2 || 'codecov/self-hosted-worker' }} | |
self-hosted: | |
name: Push Self Hosted Image | |
needs: [ build-self-hosted, test ] | |
secrets: inherit | |
if: ${{ github.event_name == 'push' && startsWith(github.ref, 'refs/tags/prod') && github.repository_owner == 'codecov' }} | |
uses: codecov/gha-workflows/.github/workflows/[email protected] | |
with: | |
push_rolling: true | |
repo: ${{ vars.CODECOV_IMAGE_V2 || 'codecov/self-hosted-worker' }} | |
mutation: | |
name: Run Mutations | |
needs: [build] | |
runs-on: ubuntu-latest | |
env: | |
AR_REPO: ${{ vars.CODECOV_IMAGE_V2 || 'codecov/self-hosted-worker' }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Cache App | |
id: cache-app | |
uses: actions/cache@v3 | |
env: | |
cache-name: cache-app | |
with: | |
path: | | |
app.tar | |
key: ${{ runner.os }}-${{ env.cache-name }}-${{ github.run_id }} | |
- name: Load built image | |
run: | | |
docker load --input app.tar | |
- name: Install docker compose | |
run: | | |
sudo curl -SL https://github.com/docker/compose/releases/download/v2.20.0/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose | |
sudo chmod +x /usr/local/bin/docker-compose | |
- name: Bring test env up | |
run: | | |
make test_env.up | |
- name: Prepare for tests | |
run: | | |
make test_env.prepare | |
- name: Run mutations | |
run: | | |
make test_env.run_mutation | |