Use ssr effectively by rending only server side #206
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: Pull Request Cypress Testing | |
on: | |
pull_request_target: | |
types: [opened, synchronize, reopened] | |
branches: [master, main] | |
workflow_dispatch: | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
CYPRESS_PROJECT_ID: ${{ secrets.CYPRESS_PROJECT_ID }} | |
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }} | |
ALGOLIA_API_KEY: ${{ secrets.ALGOLIA_API_KEY }} | |
ALGOLIA_APP_ID: ${{ secrets.ALGOLIA_APP_ID }} | |
ALGOLIA_INDEX: ${{ secrets.ALGOLIA_INDEX }} | |
AWS_USER_POOL_ID: ${{ secrets.AWS_USER_POOL_ID }} | |
AWS_USER_POOL_WEB_CLIENT_ID: ${{ secrets.AWS_USER_POOL_WEB_CLIENT_ID }} | |
BIOLUCIDA_PASSWORD: ${{ secrets.BIOLUCIDA_PASSWORD }} | |
BIOLUCIDA_USERNAME: ${{ secrets.BIOLUCIDA_USERNAME }} | |
BITLY_ACCESS_TOKEN: ${{ secrets.BITLY_ACCESS_TOKEN }} | |
BLACKFYNN_API_SECRET: ${{ secrets.BLACKFYNN_API_SECRET }} | |
BLACKFYNN_API_TOKEN: ${{ secrets.BLACKFYNN_API_TOKEN }} | |
BLACKFYNN_CONCEPTS_API_HOST: ${{ secrets.BLACKFYNN_CONCEPTS_API_HOST }} | |
CTF_API_HOST: ${{ secrets.CTF_API_HOST }} | |
CTF_CDA_ACCESS_TOKEN: ${{ secrets.CTF_CDA_ACCESS_TOKEN }} | |
CTF_SPACE_ID: ${{ secrets.CTF_SPACE_ID }} | |
DEPLOY_ENV: ${{ secrets.DEPLOY_ENV }} | |
DISABLE_REDIRECT_SSL: ${{ secrets.DISABLE_REDIRECT_SSL }} | |
FLATMAP_API_HOST: ${{ secrets.FLATMAP_API_HOST }} | |
LOGIN_API_URL: ${{ secrets.LOGIN_API_URL }} | |
NODE_ENV: ${{ secrets.NODE_ENV }} | |
NPM_CONFIG_PRODUCTION: ${{ secrets.NPM_CONFIG_PRODUCTION }} | |
OSPARC_HOST: ${{ secrets.OSPARC_HOST }} | |
PORTAL_API_HOST: ${{ secrets.PORTAL_API_HOST }} | |
RECAPTCHA_SECRET_KEY: ${{ secrets.RECAPTCHA_SECRET_KEY }} | |
RECAPTCHA_SITE_KEY: ${{ secrets.RECAPTCHA_SITE_KEY }} | |
SHOW_FUNDING_FACET: ${{ secrets.SHOW_FUNDING_FACET }} | |
SHOW_HIERARCHAL_FACETS: ${{ secrets.SHOW_HIERARCHAL_FACETS }} | |
SHOW_LOGIN_FEATURE: ${{ secrets.SHOW_LOGIN_FEATURE }} | |
SHOW_METRICS: ${{ secrets.SHOW_METRICS }} | |
SHOW_OSPARC_TAB: ${{ secrets.SHOW_OSPARC_TAB }} | |
SHOW_TIMESERIES_VIEWER: ${{ secrets.SHOW_TIMESERIES_VIEWER }} | |
SPARC_PORTAL_USER_ID: ${{ secrets.SPARC_PORTAL_USER_ID }} | |
SPARC_PORTAL_USER_SECRET: ${{ secrets.SPARC_PORTAL_USER_SECRET }} | |
jobs: | |
build-uuid: | |
runs-on: ubuntu-latest | |
outputs: | |
uuid: ${{ steps.uuid.outputs.value }} | |
steps: | |
- name: Generate uuid based on commit and time | |
id: uuid | |
run: echo "value=sha-$GITHUB_SHA-time-$(date +"%s")" >> $GITHUB_OUTPUT | |
- name: Print uuid | |
run: echo "${{ steps.uuid.outputs.value }}" | |
cypress-run: | |
runs-on: ubuntu-latest | |
needs: build-uuid | |
strategy: | |
fail-fast: false | |
matrix: | |
containers: [1, 2, 3, 4] | |
steps: | |
- name: Cleanup pre-installed tools | |
run: | | |
sudo rm -rf /usr/share/dotnet | |
sudo rm -rf /opt/ghc | |
sudo rm -rf "/usr/local/share/boost" | |
sudo rm -rf "$AGENT_TOOLSDIRECTORY" | |
- name: Check user permission | |
uses: actions-cool/check-user-permission@v2 | |
id: checkUser | |
with: | |
require: "write" | |
username: ${{ github.event.pull_request.user.login }} | |
- name: Checkout | |
if: steps.checkUser.outputs.require-result == 'true' | |
uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.event.pull_request.head.sha }} | |
- name: Setup Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 18.17.1 | |
- name: Automated Run Testing when Pull Request | |
if: steps.checkUser.outputs.require-result == 'true' | |
id: cypress | |
uses: cypress-io/github-action@v6 | |
env: | |
ROOT_URL: ${{ secrets.ROOT_URL }} # http://localhost:3000 | |
with: | |
build: yarn build | |
start: yarn preview | |
wait-on: ${{ secrets.ROOT_URL }} | |
record: true | |
parallel: true | |
tag: PR | |
ci-build-id: "${{ needs.build-uuid.outputs.uuid }}-${{ github.workflow }}-${{ github.event_name }}" | |
- name: Skip tests | |
if: steps.checkUser.outputs.require-result == 'false' | |
uses: actions/github-script@v4 | |
with: | |
script: | | |
core.setFailed('Pull request is opened by an user without write permission, tests are skipped for security reason') |