fix: traiter manuelement madataire #9127
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: Continuous Integration & Deployment | |
on: | |
push: | |
branches: [master] | |
pull_request: | |
release: | |
types: [published] | |
concurrency: | |
group: ${{ github.ref_name }} | |
cancel-in-progress: true | |
env: | |
NODE_OPTIONS: '--max_old_space_size=4096' | |
DOCKER_REGISTRY_HOST: ${{ secrets.GCP_HOST_GCR }} | |
DOCKER_IMAGE: ${{ secrets.GCP_HOST_GCR }}/${{ secrets.GCP_REGISTRY_PROJECT_ID }}/${{ secrets.CLOUD_RUN_NAME }} | |
SENTRY_ORG: ${{ secrets.SENTRY_ORG }} | |
SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }} | |
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} | |
jobs: | |
lint: | |
name: Lint | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ./.github/actions/setup-node-yarn | |
- run: yarn lint | |
build: | |
name: Build | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ./.github/actions/setup-node-yarn | |
- run: yarn build | |
test: | |
name: Tests | |
runs-on: ubuntu-latest | |
env: | |
APP_ENV: test | |
container: | |
image: cypress/browsers:node18.12.0-chrome107 | |
options: --user 1001 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ./.github/actions/setup-node-yarn | |
- run: yarn test src | |
- name: Cypress | |
uses: cypress-io/github-action@v6 | |
with: | |
start: yarn start-test | |
wait-on: 'http://127.0.0.1:3000' | |
browser: chrome | |
- name: Archive test screenshots | |
uses: actions/upload-artifact@v4 | |
with: | |
name: screenshots | |
path: cypress/screenshots | |
if: ${{ failure() }} | |
deploy-staging: | |
name: Deploy to Staging 🍾 | |
runs-on: ubuntu-latest | |
needs: [lint, test, build] | |
if: github.event.ref == 'refs/heads/master' | |
environment: staging | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Get short SHA | |
id: git_short_ref | |
run: echo "::set-output name=ref::$(echo ${GITHUB_SHA} | cut -c1-7)" | |
- uses: ./.github/actions/deploy | |
with: | |
service_account_key_pusher: ${{ secrets.GCP_SA_KEY_GCR_PUSHER }} | |
service_account_key_deployer: ${{ secrets.GCP_SA_KEY_CLOUDRUN_DEPLOYER }} | |
project_id: ${{ secrets.GCP_PROJECT_ID }} | |
gcp_zone: ${{ secrets.GCP_ZONE }} | |
gmaps_api_key: ${{ secrets.GMAPS_API_KEY }} | |
repository_project_id: ${{ secrets.GCP_REGISTRY_PROJECT_ID }} | |
cloud_run_name: ${{ secrets.CLOUD_RUN_NAME }} | |
react_app_api_host: ${{ secrets.REACT_APP_API_HOST }} | |
react_app_renaissance_host: ${{ secrets.REACT_RENAISSANCE_HOST }} | |
react_app_oauth_host: ${{ secrets.REACT_APP_OAUTH_HOST }} | |
react_app_oauth_client_id: ${{ secrets.REACT_APP_OAUTH_CLIENT_ID }} | |
react_app_internal_app_id: ${{ secrets.REACT_APP_INTERNAL_APP_ID }} | |
react_app_sentry_dsn: ${{ secrets.REACT_APP_SENTRY_DSN }} | |
react_app_unlayer_project_id: ${{ secrets.REACT_APP_UNLAYER_PROJECT_ID }} | |
react_app_mapbox_token: ${{ secrets.REACT_APP_MAPBOX_TOKEN }} | |
react_app_mapbox_style: ${{ secrets.REACT_APP_MAPBOX_STYLE }} | |
react_app_version: ${{ steps.git_short_ref.outputs.ref }} | |
react_app_environment: staging | |
deploy-prod: | |
name: Deploy to Prod 🍾 | |
runs-on: ubuntu-latest | |
needs: [lint, test, build] | |
if: github.event_name == 'release' | |
environment: production | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ./.github/actions/deploy | |
with: | |
service_account_key_pusher: ${{ secrets.GCP_SA_KEY_GCR_PUSHER }} | |
service_account_key_deployer: ${{ secrets.GCP_SA_KEY_CLOUDRUN_DEPLOYER }} | |
project_id: ${{ secrets.GCP_PROJECT_ID }} | |
gcp_zone: ${{ secrets.GCP_ZONE }} | |
gmaps_api_key: ${{ secrets.GMAPS_API_KEY }} | |
repository_project_id: ${{ secrets.GCP_REGISTRY_PROJECT_ID }} | |
cloud_run_name: ${{ secrets.CLOUD_RUN_NAME }} | |
react_app_api_host: ${{ secrets.REACT_APP_API_HOST }} | |
react_app_renaissance_host: ${{ secrets.REACT_RENAISSANCE_HOST }} | |
react_app_oauth_host: ${{ secrets.REACT_APP_OAUTH_HOST }} | |
react_app_oauth_client_id: ${{ secrets.REACT_APP_OAUTH_CLIENT_ID }} | |
react_app_internal_app_id: ${{ secrets.REACT_APP_INTERNAL_APP_ID }} | |
react_app_sentry_dsn: ${{ secrets.REACT_APP_SENTRY_DSN }} | |
react_app_unlayer_project_id: ${{ secrets.REACT_APP_UNLAYER_PROJECT_ID }} | |
react_app_mapbox_token: ${{ secrets.REACT_APP_MAPBOX_TOKEN }} | |
react_app_mapbox_style: ${{ secrets.REACT_APP_MAPBOX_STYLE }} | |
react_app_version: ${{ github.event.release.tag_name }} | |
react_app_environment: production |