External API check #807
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
# This workflow will check if no regression is introduced in externals API | |
name: 'External API check' | |
on: | |
workflow_dispatch: | |
# Check twice a day at 5:00 AM and 3:00 PM | |
schedule: | |
- cron: '0 5,15 * * *' | |
# Be extremely careful as the env variables defined here are accessible by all the actions of the workflow. | |
# For critical env variable, declare it within the action. | |
env: | |
node-version: 18.x | |
INSEE_CLIENT_ID: ${{ secrets.INSEE_CLIENT_ID }} | |
INSEE_CLIENT_SECRET: ${{ secrets.INSEE_CLIENT_SECRET}} | |
INSEE_CLIENT_ID_FALLBACK: ${{ secrets.INSEE_CLIENT_ID_FALLBACK }} | |
INSEE_CLIENT_SECRET_FALLBACK: ${{ secrets.INSEE_CLIENT_SECRET_FALLBACK}} | |
NEXT_PUBLIC_END2END_MOCKING: disabled | |
INDEXING_ENABLED: enabled | |
REDIS_ENABLED: disabled | |
PROXY_API_KEY: ${{ secrets.PROXY_API_KEY }} | |
IRON_SESSION_PWD: ${{ secrets.IRON_SESSION_PWD }} | |
jobs: | |
dependencies: | |
name: 'Install dependencies' | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Use Node.js ${{ env.node-version }} | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ env.node-version }} | |
- uses: ./.github/actions/install-dependencies | |
name: Install and cache dependencies | |
testExternalAPIs: | |
name: Test externals API | |
runs-on: ubuntu-latest | |
needs: [dependencies] | |
permissions: | |
contents: write | |
pull-requests: write | |
repository-projects: write | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Use Node.js ${{ env.node-version }} | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ env.node-version }} | |
- name: Load node_modules | |
uses: ./.github/actions/load-dependencies | |
- name: Run API client unit tests | |
run: | | |
npm run test:api-clients:update-snapshots -- --runInBand --testTimeout=61000 --silent | |
- name: 'Create a PR if there is a diff in the snapshots' | |
uses: peter-evans/create-pull-request@v6 | |
env: | |
GITHUB_TOKEN: ${{ secrets.TOKEN_GITHUB_EXTERNAL_API_TEST_PR }} | |
with: | |
branch: 'BOT-snapshots-update' | |
title: '🤖 API client snapshots update' | |
commit-message: 'test: update API clients snapshots' | |
body: | | |
*This PR is automatically generated by a bot.* | |
It updates the snapshots of the API clients. | |
Review carefully the changes to see if there is no regression: | |
- No changes in attributes names | |
- No suspect massive changes in the data | |
- No changes in the structure of the data | |
If everything looks good, you can merge this PR. | |
Otherwise, you should take action to fix the issue, by either: | |
- Contact the administration responsible for the API | |
- Change the client code to adapt to the new data |