Skip to content

feat: Add experimental AI PR review #390

feat: Add experimental AI PR review

feat: Add experimental AI PR review #390

Workflow file for this run

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