Skip to content

build(deps): bump rapidfuzz from 3.14.2 to 3.14.3 in /api #24000

build(deps): bump rapidfuzz from 3.14.2 to 3.14.3 in /api

build(deps): bump rapidfuzz from 3.14.2 to 3.14.3 in /api #24000

name: "1 [on_pull_request] Initiate workflow"
on:
pull_request:
branches-ignore:
- docs
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number }}
cancel-in-progress: true
permissions: write-all
env:
docker_registry: "europe-west1-docker.pkg.dev/passculture-infra-prod/pass-culture-artifact-registry"
jobs:
pcapi-init-job:
name: "Init job"
runs-on: ubuntu-latest
outputs:
api-changed: ${{ steps.check-api-changes.outputs.any_modified }}
api-documentation-changed: ${{ steps.check-api-documentation-changes.outputs.any_modified }}
api-script-test-changed: ${{ steps.check-api-script-test-changes.outputs.any_modified }}
pro-changed: ${{ steps.check-pro-changes.outputs.any_modified }}
dependencies-changed: ${{ steps.check-dependencies-changes.outputs.any_modified }}
push-tags: ${{ steps.pcapi-tags.outputs.push-tags }}
checksum-tag: ${{ steps.pcapi-tags.outputs.checksum-tag }}
checksum-tag-exists: ${{ steps.check-checksum-tag.outputs.tag-exists }}
steps:
- uses: actions/checkout@v5
with:
fetch-tags: false
- name: "Check api folder changes"
id: check-api-changes
uses: tj-actions/changed-files@v47
with:
files: |
api/**
!api/documentation/**
!api/src/pcapi/scripts/**/main.py
!api/src/pcapi/scripts/**/test_script.py
!api/tests/scripts/**/test_main.py
!api/src/pcapi/scripts/**/main.sql
- name: "Check api documentation folder changes"
id: check-api-documentation-changes
uses: tj-actions/changed-files@v47
with:
files: api/documentation/**
- name: "Check api script test folder changes"
id: check-api-script-test-changes
uses: tj-actions/changed-files@v47
with:
files: |
api/tests/scripts/**/test_main.py
- name: "Check pro folder changes"
id: check-pro-changes
uses: tj-actions/changed-files@v47
with:
files: |
.github/workflows/dev_on_pull_request_workflow.yml
.github/workflows/dev_on_workflow_tests_pro.yml
.github/workflows/dev_on_workflow_tests_pro_e2e.yml
pro/**
- name: "Check changes in dependencies (frontend + backend)"
id: check-dependencies-changes
uses: tj-actions/changed-files@v47
with:
files: |
api/poetry.lock
pro/yarn.lock
# checkout source branch of the pull request
- uses: actions/checkout@v5
with:
ref: ${{ github.event.pull_request.head.sha }}
fetch-depth: 0
fetch-tags: false
- name: "Define pcapi image tags."
id: pcapi-tags
run: |
DOCKER_IMAGE="${{ env.docker_registry }}/pcapi"
API_CHECKSUM=`tar --sort=name --owner=0 --group=0 --mtime='UTC 2019-01-01' -cf - api | sha1sum | awk '{ print $1 }'`
PUSH_TAGS="push-tags=$DOCKER_IMAGE:${{ github.event.pull_request.head.sha }},$DOCKER_IMAGE:$API_CHECKSUM"
API_TAG="checksum-tag=$API_CHECKSUM"
echo "PUSH_TAGS=$PUSH_TAGS"
echo "API_TAG=$API_TAG"
echo $PUSH_TAGS >> "$GITHUB_OUTPUT"
echo $API_TAG >> "$GITHUB_OUTPUT"
- name: "Publish Summary"
run: |
{
echo "### :rocket: Init Job summary"
echo "| Results | Value |"
echo "| ------------------------------------ | ----- |"
echo "| commit sha | ${{ github.sha }} |"
echo "| [api] content changed | ${{ steps.check-api-documentation-changes.outputs.any_modified }} |"
echo "| [api-documentation] content changed | ${{ steps.check-api-documentation-changes.outputs.any_modified }} |"
echo "| [pro] content changed | ${{ steps.check-pro-changes.outputs.any_modified }} |"
echo "| [dependencies] content changed | ${{ steps.check-dependencies-changes.outputs.any_modified }} |"
} >> $GITHUB_STEP_SUMMARY
build-pcapi-tests:
name: "[pcapi-tests] build docker image."
needs: [pcapi-init-job]
if: |
needs.pcapi-init-job.outputs.api-changed == 'true' ||
needs.pcapi-init-job.outputs.api-script-test-changed == 'true' ||
needs.pcapi-init-job.outputs.pro-changed == 'true'
uses: ./.github/workflows/dev_on_workflow_build_docker_image.yml
with:
image: pcapi-tests
tag: ${{ github.sha }}
run-mypy-cop:
name: "MyPy cop"
needs: [pcapi-init-job]
if: |
github.event_name == 'pull_request' &&
needs.pcapi-init-job.outputs.api-changed == 'true'
uses: ./.github/workflows/dev_on_workflow_mypy_cop.yml
update-api-client-template:
name: "Update api client template"
needs: [pcapi-init-job, build-pcapi-tests]
uses: ./.github/workflows/dev_on_workflow_update_api_client_template.yml
concurrency:
group: update-api-client-template-${{ github.ref }}
cancel-in-progress: true
with:
PCAPI_DOCKER_TAG: ${{ github.sha }}
TRIGGER_ONLY_ON_API_CHANGE: true
TRIGGER_ONLY_ON_DEPENDENCY_CHANGE: true
CACHE_BUCKET_NAME: "passculture-infra-prod-github-runner-cache"
api-changed: ${{ needs.pcapi-init-job.outputs.api-changed }}
dependencies-changed: ${{ needs.pcapi-init-job.outputs.dependencies-changed }}
secrets:
GCP_EHP_SERVICE_ACCOUNT: ${{ secrets.GCP_EHP_SERVICE_ACCOUNT }}
GCP_EHP_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.GCP_EHP_WORKLOAD_IDENTITY_PROVIDER }}
test-api:
name: "Tests api"
needs: [pcapi-init-job, build-pcapi-tests]
if: needs.pcapi-init-job.outputs.api-changed == 'true'
uses: ./.github/workflows/dev_on_workflow_tests_api.yml
with:
tag: ${{ github.sha }}
secrets:
GCP_EHP_SERVICE_ACCOUNT: ${{ secrets.GCP_EHP_SERVICE_ACCOUNT }}
GCP_EHP_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.GCP_EHP_WORKLOAD_IDENTITY_PROVIDER }}
test-api-script:
name: "Tests api scripts"
needs: [pcapi-init-job, build-pcapi-tests]
if: needs.pcapi-init-job.outputs.api-script-test-changed == 'true'
uses: ./.github/workflows/dev_on_workflow_tests_api_scripts.yml
with:
tag: ${{ github.sha }}
secrets:
GCP_EHP_SERVICE_ACCOUNT: ${{ secrets.GCP_EHP_SERVICE_ACCOUNT }}
GCP_EHP_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.GCP_EHP_WORKLOAD_IDENTITY_PROVIDER }}
test-api-documentation:
name: "Tests API documentation"
needs: [pcapi-init-job]
if: needs.pcapi-init-job.outputs.api-documentation-changed == 'true'
uses: ./.github/workflows/dev_on_workflow_tests_api_documentation.yml
secrets:
GCP_EHP_SERVICE_ACCOUNT: ${{ secrets.GCP_EHP_SERVICE_ACCOUNT }}
GCP_EHP_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.GCP_EHP_WORKLOAD_IDENTITY_PROVIDER }}
test-pro:
name: "Pro Unit Tests"
needs: [pcapi-init-job]
if: needs.pcapi-init-job.outputs.pro-changed == 'true'
uses: ./.github/workflows/dev_on_workflow_tests_pro.yml
with:
CACHE_BUCKET_NAME: "passculture-infra-prod-github-runner-cache"
secrets:
GCP_EHP_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.GCP_EHP_WORKLOAD_IDENTITY_PROVIDER }}
GCP_EHP_SERVICE_ACCOUNT: ${{ secrets.GCP_EHP_SERVICE_ACCOUNT }}
test-pro-e2e:
name: "Pro E2E Tests"
needs: [pcapi-init-job, build-pcapi-tests]
uses: ./.github/workflows/dev_on_workflow_tests_pro_e2e.yml
if: always() &&
!cancelled() &&
needs.pcapi-init-job.outputs.api-changed == 'true' ||
needs.pcapi-init-job.outputs.pro-changed == 'true'
with:
ENV: "development"
tag: ${{ needs.build-pcapi-tests.result == 'skipped' && 'latest' || github.sha }}
CACHE_BUCKET_NAME: "passculture-infra-prod-github-runner-cache"
secrets:
GCP_EHP_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.GCP_EHP_WORKLOAD_IDENTITY_PROVIDER }}
GCP_EHP_SERVICE_ACCOUNT: ${{ secrets.GCP_EHP_SERVICE_ACCOUNT }}
dependabot-auto-merge:
name: "Dependabot"
needs: [test-pro, test-pro-e2e]
if: github.event.pull_request.user.login == 'dependabot[bot]'
uses: ./.github/workflows/dev_on_workflow_dependabot_auto_merge.yml
secrets:
PASSCULTURE_GITHUB_ACTION_APP_ID: ${{ secrets.PASSCULTURE_GITHUB_ACTION_APP_ID }}
PASSCULTURE_GITHUB_ACTION_APP_PRIVATE_KEY: ${{ secrets.PASSCULTURE_GITHUB_ACTION_APP_PRIVATE_KEY }}