Skip to content

chore(deps): update pre-commit hook astral-sh/uv-pre-commit to v0.5.27 #117

chore(deps): update pre-commit hook astral-sh/uv-pre-commit to v0.5.27

chore(deps): update pre-commit hook astral-sh/uv-pre-commit to v0.5.27 #117

Workflow file for this run

name: Unit Tests
on:
push:
branches:
- "develop"
pull_request:
types: [ opened, synchronize, reopened, labeled ]
branches:
- "develop"
workflow_dispatch:
jobs:
unit-tests:
# changing the following value will significantly affect github's cost. Be careful and consult with the team before changing it.
runs-on: ubuntu-latest-32
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup backend
uses: ./.github/actions/setup-backend
- name: Run ATS and Tests
uses: ./.github/actions/run_ats
with:
default_tests: "tests/unit"
codecov_static_token: ${{ secrets.CODECOV_STATIC_TOKEN }}
codecov_token: ${{ secrets.CODECOV_TOKEN }}
collect_args: "--timeout 5"
codecov_flags: unit-tests
codemod-tests:
# changing the following value will significantly affect github's cost. Be careful and consult with the team before changing it.
runs-on: ubuntu-latest-32
strategy:
matrix:
sync_graph: [ true, false ]
size: [ small, large ]
exclude:
# Exclude large codemod tests when not needed
- size: ${{(contains(github.event.pull_request.labels.*.name, 'big-codemod-tests') || github.event_name == 'push' || github.event_name == 'workflow_dispatch') && 'kevin' || 'large'}}
- size: large
sync_graph: true
concurrency:
group: ${{ github.workflow }}-${{github.ref}}-${{matrix.sync_graph}}-${{matrix.size}}-${{github.event_name == 'push'&& github.sha}}
cancel-in-progress: true
name: "Codemod tests ${{matrix.size}}: Sync Graph=${{matrix.sync_graph}}"
steps:
- uses: actions/checkout@v4
- name: Setup backend
uses: ./.github/actions/setup-backend
- name: Cache oss-repos
uses: ./.github/actions/setup-oss-repos
- name: Run ATS and Tests
uses: ./.github/actions/run_ats
with:
default_tests: "tests/integration/codemod/test_codemods.py"
codecov_static_token: ${{ secrets.CODECOV_STATIC_TOKEN }}
codecov_token: ${{ secrets.CODECOV_TOKEN }}
collect_args: "--size=${{matrix.size}} --sync-graph=${{matrix.sync_graph}}"
ats_collect_args: "--size=${{matrix.size}},--sync-graph=${{matrix.sync_graph}},"
codecov_flags: codemod-tests-${{matrix.size}}-${{matrix.sync_graph}}
env:
GITHUB_WORKSPACE: $GITHUB_WORKSPACE
# test_verified_codemods:
# # changing the following value will significantly affect github's cost. Be careful and consult with the team before changing it.
# if: false
# runs-on: ubuntu-latest-32
# environment: testing
# concurrency:
# group: ${{ github.workflow }}-${{github.ref}}-${{github.event_name == 'push'&& github.sha}}
# cancel-in-progress: true
# name: "Verified Codemod tests: Sync Graph=false"
# steps:
# - uses: actions/checkout@v4
# - name: Setup backend
# uses: ./.github/actions/setup-backend
# - name: Run ATS and Tests
# uses: ./.github/actions/run_ats
# with:
# default_tests: "tests/integration/codemod/test_verified_codemods.py"
# codecov_static_token: ${{ secrets.CODECOV_STATIC_TOKEN }}
# codecov_token: ${{ secrets.CODECOV_TOKEN }}
# collect_args: "--cli-api-key ${{ secrets.PROD_CLI_API_KEY }} --token ${{ secrets.CODEGEN_BOT_GHE_TOKEN }}"
# ats_collect_args: "--cli-api-key=${{ secrets.PROD_CLI_API_KEY }},--token=${{ secrets.CODEGEN_BOT_GHE_TOKEN }},"
# base_sha: ${{github.event_name == 'pull_request' && github.event.pull_request.base.sha || github.event.before}}
# job_name: ${{ github.job }}
# codecov_flags: smart-tests-verified-codemod-tests
# env:
# CODEGEN_BOT_GHE_TOKEN: ${{ secrets.CODEGEN_BOT_GHE_TOKEN }}
# GITHUB_WORKSPACE: $GITHUB_WORKSPACE
parse-tests:
# changing the following value will significantly affect github's cost. Be careful and consult with the team before changing it.
runs-on: ubuntu-latest-32
if: contains(github.event.pull_request.labels.*.name, 'parse-tests') || github.event_name == 'push' || github.event_name == 'workflow_dispatch'
environment: parse-tests
steps:
- uses: actions/checkout@v4
- name: Setup backend
uses: ./.github/actions/setup-backend
- name: Cache oss-repos
uses: ./.github/actions/setup-oss-repos
- name: Install yarn and pnpm
run: |
npm install -g yarn &
npm install -g pnpm
- name: Test with pytest
timeout-minutes: 15
env:
GITHUB_WORKSPACE: $GITHUB_WORKSPACE
run: |
uv run pytest \
-n auto \
-o junit_suite_name="${{github.job}}" \
tests/integration/codemod/test_parse.py
- uses: ./.github/actions/report
with:
flag: no-flag
codecov_token: ${{ secrets.CODECOV_TOKEN }}
- name: Notify parse tests failure
uses: slackapi/slack-github-action@v2.0.0
if: failure() && github.event_name == 'push' && false
with:
webhook: ${{ secrets.SLACK_WEBHOOK_URL }}
webhook-type: incoming-webhook
payload: |
{
"blocks": [
{
"type": "header",
"text": {
"type": "plain_text",
"text": "❌ Parse Tests Failed",
"emoji": true
}
},
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "*Branch:* ${{ github.ref_name }}\n*Triggered by:* <${{ github.server_url }}/${{ github.actor }}|@${{ github.actor }}>\n\n*Details:*\n• <${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}|View workflow run>"
}
},
{
"type": "context",
"elements": [
{
"type": "mrkdwn",
"text": "Failed at <!date^${{ github.event.head_commit.timestamp }}^{date_num} {time}|just now>"
}
]
}
]
}
# test_codemod_diffs:
# # changing the following value will significantly affect github's cost. Be careful and consult with the team before changing it.
# runs-on: ubuntu-latest-16
#
# steps:
# - uses: actions/checkout@v4
# - name: Setup backend
# uses: ./.github/actions/setup-backend
# - name: Cache oss-repos
# uses: ./.github/actions/setup-oss-repos
# with:
# CODEGEN_BOT_GHE_TOKEN: ${{ secrets.CODEGEN_BOT_GHE_TOKEN }}
# - name: Test with pytest
# timeout-minutes: 10
# run: |
# ENV=local \
# uv run pytest \
# -n auto \
# -vv \
# --token $CODEGEN_BOT_GHE_TOKEN \
# tests/codemod/test_diffs.py
# env:
# CODEGEN_BOT_GHE_TOKEN: ${{ secrets.CODEGEN_BOT_GHE_TOKEN }}
# GITHUB_WORKSPACE: $GITHUB_WORKSPACE
#
# - name: Publish Test Report (Verify diffs)
# uses: mikepenz/action-junit-report@v4
# if: (success() || failure()) # always publish report even if the tests fail
# continue-on-error: true
# with:
# report_paths: "**/build/test-results/test/TEST.xml"
# detailed_summary: true
# annotate_only: true
# # Codecov is a required check but won't pass without a coverage report
# # Wwhen there are no changes in the backend (ex: frontend only change) we do an empty upload to force the check to pass
# - name: Upload empty coverage report to Codecov
# if: env.skip == '0'
# continue-on-error: true
# env:
# CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
# run: |
# cd codegen-backend
# pip install codecov-cli
# codecovcli create-commit -C ${{ github.event.pull_request.head.sha }}
# codecovcli create-report -C ${{ github.event.pull_request.head.sha }}
# codecovcli do-upload --disable-search --file empty_coverage.xml -C ${{ github.event.pull_request.head.sha }}
# codecovcli empty-upload --force -C ${{ github.event.pull_request.head.sha }}
integration-tests:
runs-on: ubuntu-latest-16
steps:
- uses: actions/checkout@v4
- name: Setup backend
uses: ./.github/actions/setup-backend
- name: Test with pytest
timeout-minutes: 5
env:
GITHUB_WORKSPACE: $GITHUB_WORKSPACE
run: |
uv run pytest \
-n auto \
-o junit_suite_name="${{github.job}}" \
tests/integration/codegen
- uses: ./.github/actions/report
with:
flag: integration-tests
codecov_token: ${{ secrets.CODECOV_TOKEN }}