Skip to content

Commit

Permalink
Merge branch 'staging' into feature/implicated-systems
Browse files Browse the repository at this point in the history
  • Loading branch information
clari182 committed Nov 27, 2024
2 parents 0f5e1f0 + 2626138 commit cc9ae09
Show file tree
Hide file tree
Showing 101 changed files with 2,108 additions and 162,558 deletions.
3 changes: 0 additions & 3 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -88,8 +88,6 @@ jobs:
NETLIFY_SITE_ID: ${{ vars.NETLIFY_SITE_ID }}
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CYPRESS_PROJECT_ID: ${{ vars.CYPRESS_PROJECT_ID }}
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
E2E_ADMIN_USERNAME: ${{ secrets.E2E_ADMIN_USERNAME }}
E2E_ADMIN_PASSWORD: ${{ secrets.E2E_ADMIN_PASSWORD }}
ALGOLIA_ADMIN_KEY: ${{ secrets.ALGOLIA_ADMIN_KEY }}
Expand Down Expand Up @@ -125,7 +123,6 @@ jobs:
ROLLBAR_POST_SERVER_ITEM_ACCESS_TOKEN: ${{ secrets.GATSBY_ROLLBAR_TOKEN }}
API_MONGODB_CONNECTION_STRING: ${{ secrets.API_MONGODB_CONNECTION_STRING }}
SITE_URL: ${{ inputs.site-url || vars.SITE_URL }}
PROCESS_NOTIFICATIONS_SECRET: ${{ secrets.PROCESS_NOTIFICATIONS_SECRET }}

- name: Build size
run: |
Expand Down
10 changes: 0 additions & 10 deletions .github/workflows/preview.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,16 +50,6 @@ jobs:
netlify-context: branch-deploy
runner-label: ${{ vars.PREVIEW_RUNNER_LABEL }}

call-test:
if: ${{ !failure() && !cancelled() }}
uses: ./.github/workflows/test.yml
needs: call-test-build
secrets: inherit
with:
sha: ${{ github.event.pull_request.head.sha }}
environment: staging
runner-label: ${{ vars.PREVIEW_RUNNER_LABEL }}

call-test-playwright:
if: ${{ !failure() && !cancelled() }}
uses: ./.github/workflows/test-playwright.yml
Expand Down
67 changes: 38 additions & 29 deletions .github/workflows/process-notifications.yml
Original file line number Diff line number Diff line change
@@ -1,41 +1,50 @@
name: Process Notifications

on:
workflow_call:
inputs:
environment:
description: The Github environment to load secrets from
type: string
required: true
environment:
description: The Github environment to load secrets from
type: string
required: true
force-deploy:
description: Skip processing notifications if force deploy is true
type: boolean
required: false
default: false

jobs:
execute-mutation:
execute-process:
if: ${{ inputs.force-deploy != true }}
runs-on: ubuntu-latest
environment: ${{ inputs.environment }}
steps:
- name: Call GraphQL API
env:
SITE_URL: ${{ vars.SITE_URL }}
PROCESS_NOTIFICATIONS_SECRET: ${{ secrets.PROCESS_NOTIFICATIONS_SECRET }}
run: |
RESPONSE=$(curl -s -o response.json -w "%{http_code}" -X POST "$SITE_URL/api/graphql" \
-H "Content-Type: application/json" \
-H "PROCESS_NOTIFICATIONS_SECRET: $PROCESS_NOTIFICATIONS_SECRET" \
-d '{"query":"mutation { processNotifications }"}')
- name: Checkout code
uses: actions/checkout@v4

HTTP_STATUS=$RESPONSE
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "20"
cache: "npm"
cache-dependency-path: site/gatsby-site/package-lock.json

if [ "$HTTP_STATUS" -ne 200 ]; then
echo "GraphQL mutation failed with HTTP status: $HTTP_STATUS"
cat response.json
exit 1
fi
- name: Install dependencies
working-directory: site/gatsby-site
run: npm ci

if jq -e 'has("errors") or has("errorType")' response.json > /dev/null; then
echo "GraphQL mutation failed with the following response:"
jq '.' response.json
exit 1
fi
echo "GraphQL mutation succeeded!"
jq '.' response.json
- name: Process Notifications
working-directory: site/gatsby-site
env:
REALM_API_APP_ID: ${{ vars.REALM_API_APP_ID }}
REALM_API_GROUP_ID: ${{ vars.REALM_API_GROUP_ID }}
REALM_API_PRIVATE_KEY: ${{ secrets.REALM_API_PRIVATE_KEY }}
REALM_API_PUBLIC_KEY: ${{ secrets.REALM_API_PUBLIC_KEY }}
REALM_GRAPHQL_API_KEY: ${{ secrets.REALM_GRAPHQL_API_KEY }}
REALM_APP_ID: ${{ vars.REALM_APP_ID }}
API_MONGODB_CONNECTION_STRING: ${{ secrets.API_MONGODB_CONNECTION_STRING }}
ROLLBAR_POST_SERVER_ITEM_ACCESS_TOKEN: ${{ secrets.ROLLBAR_POST_SERVER_ITEM_ACCESS_TOKEN }}
MAILERSEND_API_KEY: ${{ secrets.MAILERSEND_API_KEY }}
NOTIFICATIONS_SENDER_NAME: ${{ vars.NOTIFICATIONS_SENDER_NAME }}
NOTIFICATIONS_SENDER: ${{ vars.NOTIFICATIONS_SENDER }}
SITE_URL: ${{ vars.SITE_URL }}
run: npm run process-notifications:ci
23 changes: 10 additions & 13 deletions .github/workflows/production.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,16 +52,6 @@ jobs:
runner-label: ${{ vars.PRODUCTION_RUNNER_LABEL }}
cache-modifier: ${{ needs.cache-modifier.outputs.cache-modifier }}

call-test:
uses: ./.github/workflows/test.yml
needs: [cache-modifier, call-test-build]
secrets: inherit
with:
sha: ${{ github.sha }}
environment: production
runner-label: ${{ vars.PRODUCTION_RUNNER_LABEL }}
cache-modifier: ${{ needs.cache-modifier.outputs.cache-modifier }}

call-test-playwright:
uses: ./.github/workflows/test-playwright.yml
needs: call-test-build
Expand All @@ -84,7 +74,13 @@ jobs:
call-deploy:
if: (inputs.force-deploy == true || success()) && !cancelled()
uses: ./.github/workflows/deploy.yml
needs: [cache-modifier, call-test, call-test-api, call-test-playwright, call-test-playwright-full]
needs:
[
cache-modifier,
call-test-api,
call-test-playwright,
call-test-playwright-full,
]
secrets: inherit
permissions:
pull-requests: write
Expand All @@ -95,10 +91,11 @@ jobs:
netlify-alias:
runner-label: ${{ vars.PRODUCTION_RUNNER_LABEL }}
cache-modifier: ${{ needs.cache-modifier.outputs.cache-modifier }}

call-process-notifications:
needs: call-deploy
uses: ./.github/workflows/process-notifications.yml
secrets: inherit
with:
environment: production
environment: production
force-deploy: ${{ inputs.force-deploy }}
16 changes: 4 additions & 12 deletions .github/workflows/staging.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,16 +60,6 @@ jobs:
environment: staging
runner-label: ${{ vars.STAGING_RUNNER_LABEL }}

call-test:
uses: ./.github/workflows/test.yml
needs: [cache-modifier, call-test-build]
secrets: inherit
with:
sha: ${{ github.sha }}
environment: staging
runner-label: ${{ vars.STAGING_RUNNER_LABEL }}
cache-modifier: ${{ needs.cache-modifier.outputs.cache-modifier }}

call-test-playwright-full:
if: ${{ !failure() && !cancelled() }}
uses: ./.github/workflows/test-playwright-full.yml
Expand All @@ -83,7 +73,7 @@ jobs:
call-deploy:
if: (inputs.force-deploy == true || success()) && !cancelled()
uses: ./.github/workflows/deploy.yml
needs: [cache-modifier, call-test, call-test-playwright, call-test-api]
needs: [cache-modifier, call-test-playwright, call-test-api]
secrets: inherit
permissions:
pull-requests: write
Expand All @@ -94,10 +84,12 @@ jobs:
netlify-alias:
runner-label: ${{ vars.STAGING_RUNNER_LABEL }}
cache-modifier: ${{ needs.cache-modifier.outputs.cache-modifier }}

call-process-notifications:
needs: call-deploy
uses: ./.github/workflows/process-notifications.yml
secrets: inherit
with:
environment: staging
# inputs from the workflow_dispatch event come as strings even if they are explicitly defined as boolean
force-deploy: ${{ inputs.force-deploy == 'true' }}
15 changes: 6 additions & 9 deletions .github/workflows/test-api.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,20 +58,17 @@ jobs:
- name: Jest run
run: npm run test:api:ci
env:
REALM_APP_ID: ""
REALM_API_APP_ID: ""
REALM_API_GROUP_ID: ""
REALM_API_PUBLIC_KEY: ""
REALM_API_PRIVATE_KEY: ""
REALM_GRAPHQL_API_KEY: ""
REALM_APP_ID: dummy
REALM_API_APP_ID: dummy
REALM_API_GROUP_ID: dummy
REALM_API_PUBLIC_KEY: dummy
REALM_API_PRIVATE_KEY: dummy
REALM_GRAPHQL_API_KEY: dummy
API_MONGODB_CONNECTION_STRING: "" # dinamically set by globalSetup.ts
E2E_ADMIN_USERNAME: ""
E2E_ADMIN_PASSWORD: ""
ROLLBAR_POST_SERVER_ITEM_ACCESS_TOKEN: sarasa
MAILERSEND_API_KEY: something
NOTIFICATIONS_SENDER_NAME: Test Preview
NOTIFICATIONS_SENDER: [email protected]
PROCESS_NOTIFICATIONS_SECRET: sarasa
SITE_URL: http://localhost:8000

- name: Upload coverage reports to Codecov
Expand Down
11 changes: 2 additions & 9 deletions .github/workflows/test-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,16 +54,12 @@ jobs:
with:
path: |
site/gatsby-site/node_modules
~/.cache/Cypress
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}-${{ inputs.cache-modifier}}

- name: Install NPM dependencies
if: steps.cache-nodemodules.outputs.cache-hit != 'true'
uses: cypress-io/github-action@v6
with:
working-directory: site/gatsby-site
runTests: false
install-command: npm ci
working-directory: site/gatsby-site
run: npm ci

- name: Use tests specific netlify.toml
run: mv tests-netlify.toml netlify.toml
Expand All @@ -80,8 +76,6 @@ jobs:
NETLIFY_SITE_ID: ${{ vars.NETLIFY_SITE_ID }}
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CYPRESS_PROJECT_ID: ${{ vars.CYPRESS_PROJECT_ID }}
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
E2E_ADMIN_USERNAME: ${{ secrets.E2E_ADMIN_USERNAME }}
E2E_ADMIN_PASSWORD: ${{ secrets.E2E_ADMIN_PASSWORD }}
ALGOLIA_ADMIN_KEY: ${{ secrets.ALGOLIA_ADMIN_KEY }}
Expand Down Expand Up @@ -116,7 +110,6 @@ jobs:
ROLLBAR_POST_SERVER_ITEM_ACCESS_TOKEN: ${{ secrets.GATSBY_ROLLBAR_TOKEN }}
API_MONGODB_CONNECTION_STRING: ${{ secrets.API_MONGODB_CONNECTION_STRING }}


- name: Cache build
uses: actions/cache/save@v4
env:
Expand Down
4 changes: 1 addition & 3 deletions .github/workflows/test-playwright-full.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,6 @@ jobs:
with:
path: |
site/gatsby-site/node_modules
~/.cache/Cypress
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}-${{ inputs.cache-modifier }}

- name: Install NPM dependencies
Expand All @@ -57,7 +56,7 @@ jobs:
working-directory: site/gatsby-site

- name: start in memory mongodb
run: nohup node -r ts-node/register playwright/memory-mongo.ts &
run: nohup npm run start:memory-mongo:ci &
working-directory: site/gatsby-site
env:
MONGODB_CONNECTION_STRING: mongodb://127.0.0.1:4110/
Expand Down Expand Up @@ -137,7 +136,6 @@ jobs:
MAILERSEND_API_KEY: something
NOTIFICATIONS_SENDER_NAME: Test Preview
NOTIFICATIONS_SENDER: [email protected]
PROCESS_NOTIFICATIONS_SECRET: sarasa
SITE_URL: http://localhost:8000

- name: Upload Playwright traces
Expand Down
2 changes: 0 additions & 2 deletions .github/workflows/test-playwright.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,6 @@ jobs:
with:
path: |
site/gatsby-site/node_modules
~/.cache/Cypress
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}-${{ inputs.cache-modifier }}

- name: Install NPM dependencies
Expand Down Expand Up @@ -92,7 +91,6 @@ jobs:
MAILERSEND_API_KEY: something
NOTIFICATIONS_SENDER_NAME: Test Preview
NOTIFICATIONS_SENDER: [email protected]
PROCESS_NOTIFICATIONS_SECRET: sarasa
SITE_URL: http://localhost:8000

- uses: actions/upload-artifact@v4
Expand Down
Loading

0 comments on commit cc9ae09

Please sign in to comment.