Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore/upgrade-artifact-actions #1249

Merged
merged 9 commits into from
Dec 12, 2024
Merged
253 changes: 61 additions & 192 deletions .github/workflows/cypress new ui.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,230 +4,99 @@ on:
workflow_dispatch:

jobs:
csv-add-affiliations:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: "Create creds json"
id: create-creds-json
uses: jsdaniell/[email protected]
with:
name: "credentials.json"
json: '{"adminEmail": "${{secrets.CY_ADMIN_EMAIL}}", "adminPassword": "${{secrets.CY_ADMIN_PASSWORD}}", "password": "${{secrets.CY_PASSWORD}}", "shortPassword": "${{secrets.CY_SHORT_PASSWORD}}", "shortConfirmationPassword": "${{secrets.CY_SHORT_CONFIRMATION_PASSWORD}}", "wrongConfirmationPasssword": "${{secrets.CY_WRONG_CONFIRMATION_PASSWORD}}"}'
dir: "ui/cypress/fixtures"
- name: "Create Gmail creds json"
id: create-gmail-creds-file
uses: jsdaniell/[email protected]
with:
name: "credentials_qa.json"
json: '{"installed":{"client_id":"${{secrets.CY_CREDS_CLIENT_ID}}","project_id":"${{secrets.CY_CREDS_PROJECT_ID}}","auth_uri":"https://accounts.google.com/o/oauth2/auth","token_uri":"https://oauth2.googleapis.com/token","auth_provider_x509_cert_url":"https://www.googleapis.com/oauth2/v1/certs","client_secret":"${{secrets.CY_CREDS_CLIENT_SECRET}}","redirect_uris":["urn:ietf:wg:oauth:2.0:oob","http://localhost"]}}'
dir: "ui/cypress/plugins"
- name: "Create Gmail token json"
id: create-gmail-token-file
uses: jsdaniell/[email protected]
with:
name: "token_qa.json"
json: '{"access_token":"${{secrets.CY_TOKEN_ACCESS}}","refresh_token":"${{secrets.CY_TOKEN_REFRESH}}","scope":"https://www.googleapis.com/auth/gmail.readonly https://www.googleapis.com/auth/gmail.send","token_type":"Bearer","expiry_date":${{secrets.CY_TOKEN_EXPIRY_DATE}}}'
dir: "ui/cypress/plugins"
- name: Cypress run
uses: cypress-io/github-action@v6
with:
install-command: npm install cypress --legacy-peer-deps
working-directory: ui
spec: cypress/e2e/retention/csv-add-affiliations.cy.js
- uses: actions/upload-artifact@v4
if: failure()
with:
name: cypress-screenshots
path: ui/cypress/screenshots
- uses: actions/upload-artifact@v4
if: failure()
with:
name: cypress-videos
path: ui/cypress/videos
csv-edit-affiliations:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: "Create creds json"
id: create-creds-json
uses: jsdaniell/[email protected]
with:
name: "credentials.json"
json: '{"adminEmail": "${{secrets.CY_ADMIN_EMAIL}}", "adminPassword": "${{secrets.CY_ADMIN_PASSWORD}}", "password": "${{secrets.CY_PASSWORD}}", "shortPassword": "${{secrets.CY_SHORT_PASSWORD}}", "shortConfirmationPassword": "${{secrets.CY_SHORT_CONFIRMATION_PASSWORD}}", "wrongConfirmationPasssword": "${{secrets.CY_WRONG_CONFIRMATION_PASSWORD}}"}'
dir: "ui/cypress/fixtures"
- name: "Create Gmail creds json"
id: create-gmail-creds-file
uses: jsdaniell/[email protected]
with:
name: "credentials_qa.json"
json: '{"installed":{"client_id":"${{secrets.CY_CREDS_CLIENT_ID}}","project_id":"${{secrets.CY_CREDS_PROJECT_ID}}","auth_uri":"https://accounts.google.com/o/oauth2/auth","token_uri":"https://oauth2.googleapis.com/token","auth_provider_x509_cert_url":"https://www.googleapis.com/oauth2/v1/certs","client_secret":"${{secrets.CY_CREDS_CLIENT_SECRET}}","redirect_uris":["urn:ietf:wg:oauth:2.0:oob","http://localhost"]}}'
dir: "ui/cypress/plugins"
- name: "Create Gmail token json"
id: create-gmail-token-file
uses: jsdaniell/[email protected]
with:
name: "token_qa.json"
json: '{"access_token":"${{secrets.CY_TOKEN_ACCESS}}","refresh_token":"${{secrets.CY_TOKEN_REFRESH}}","scope":"https://www.googleapis.com/auth/gmail.readonly https://www.googleapis.com/auth/gmail.send","token_type":"Bearer","expiry_date":${{secrets.CY_TOKEN_EXPIRY_DATE}}}'
dir: "ui/cypress/plugins"
- name: Cypress run
uses: cypress-io/github-action@v6
with:
install-command: npm install cypress --legacy-peer-deps
working-directory: ui
spec: |
cypress/e2e/retention/csv-edit-affiliations.cy.js
- uses: actions/upload-artifact@v4
if: failure()
with:
name: cypress-screenshots
path: ui/cypress/screenshots
- uses: actions/upload-artifact@v4
if: failure()
with:
name: cypress-videos
path: ui/cypress/videos
add-affiliation:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: "Create creds json"
id: create-creds-json
uses: jsdaniell/[email protected]
with:
name: "credentials.json"
json: '{"adminEmail": "${{secrets.CY_ADMIN_EMAIL}}", "adminPassword": "${{secrets.CY_ADMIN_PASSWORD}}", "password": "${{secrets.CY_PASSWORD}}", "shortPassword": "${{secrets.CY_SHORT_PASSWORD}}", "shortConfirmationPassword": "${{secrets.CY_SHORT_CONFIRMATION_PASSWORD}}", "wrongConfirmationPasssword": "${{secrets.CY_WRONG_CONFIRMATION_PASSWORD}}"}'
dir: "ui/cypress/fixtures"
- name: "Create Gmail creds json"
id: create-gmail-creds-file
uses: jsdaniell/[email protected]
with:
name: "credentials_qa.json"
json: '{"installed":{"client_id":"${{secrets.CY_CREDS_CLIENT_ID}}","project_id":"${{secrets.CY_CREDS_PROJECT_ID}}","auth_uri":"https://accounts.google.com/o/oauth2/auth","token_uri":"https://oauth2.googleapis.com/token","auth_provider_x509_cert_url":"https://www.googleapis.com/oauth2/v1/certs","client_secret":"${{secrets.CY_CREDS_CLIENT_SECRET}}","redirect_uris":["urn:ietf:wg:oauth:2.0:oob","http://localhost"]}}'
dir: "ui/cypress/plugins"
- name: "Create Gmail token json"
id: create-gmail-token-file
uses: jsdaniell/[email protected]
with:
name: "token_qa.json"
json: '{"access_token":"${{secrets.CY_TOKEN_ACCESS}}","refresh_token":"${{secrets.CY_TOKEN_REFRESH}}","scope":"https://www.googleapis.com/auth/gmail.readonly https://www.googleapis.com/auth/gmail.send","token_type":"Bearer","expiry_date":${{secrets.CY_TOKEN_EXPIRY_DATE}}}'
dir: "ui/cypress/plugins"
- name: Cypress run
uses: cypress-io/github-action@v6
with:
install-command: npm install cypress --legacy-peer-deps
working-directory: ui
spec: |
cypress/e2e/retention/add-affiliation.cy.js
- uses: actions/upload-artifact@v4
if: failure()
with:
name: cypress-screenshots
path: ui/cypress/screenshots
- uses: actions/upload-artifact@v4
if: failure()
with:
name: cypress-videos
path: ui/cypress/videos
notifications:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: "Create creds json"
id: create-creds-json
uses: jsdaniell/[email protected]
with:
name: "credentials.json"
json: '{"adminEmail": "${{secrets.CY_ADMIN_EMAIL}}", "adminPassword": "${{secrets.CY_ADMIN_PASSWORD}}", "password": "${{secrets.CY_PASSWORD}}", "shortPassword": "${{secrets.CY_SHORT_PASSWORD}}", "shortConfirmationPassword": "${{secrets.CY_SHORT_CONFIRMATION_PASSWORD}}", "wrongConfirmationPasssword": "${{secrets.CY_WRONG_CONFIRMATION_PASSWORD}}"}'
dir: "ui/cypress/fixtures"
- name: "Create Gmail creds json"
id: create-gmail-creds-file
uses: jsdaniell/[email protected]
with:
name: "credentials_qa.json"
json: '{"installed":{"client_id":"${{secrets.CY_CREDS_CLIENT_ID}}","project_id":"${{secrets.CY_CREDS_PROJECT_ID}}","auth_uri":"https://accounts.google.com/o/oauth2/auth","token_uri":"https://oauth2.googleapis.com/token","auth_provider_x509_cert_url":"https://www.googleapis.com/oauth2/v1/certs","client_secret":"${{secrets.CY_CREDS_CLIENT_SECRET}}","redirect_uris":["urn:ietf:wg:oauth:2.0:oob","http://localhost"]}}'
dir: "ui/cypress/plugins"
- name: "Create Gmail token json"
id: create-gmail-token-file
uses: jsdaniell/[email protected]
with:
name: "token_qa.json"
json: '{"access_token":"${{secrets.CY_TOKEN_ACCESS}}","refresh_token":"${{secrets.CY_TOKEN_REFRESH}}","scope":"https://www.googleapis.com/auth/gmail.readonly https://www.googleapis.com/auth/gmail.send","token_type":"Bearer","expiry_date":${{secrets.CY_TOKEN_EXPIRY_DATE}}}'
dir: "ui/cypress/plugins"
- name: Cypress run
uses: cypress-io/github-action@v6
with:
install-command: npm install cypress --legacy-peer-deps
working-directory: ui
spec: |
cypress/e2e/retention/notifications.cy.js
- uses: actions/upload-artifact@v4
if: failure()
with:
name: cypress-screenshots
path: ui/cypress/screenshots
- uses: actions/upload-artifact@v4
if: failure()
with:
name: cypress-videos
path: ui/cypress/videos
other-tests:
test_e2e_cypress:
strategy:
matrix:
include:
- name: csv-add-affiliations
spec: |
cypress/e2e/retention/csv-add-affiliations.cy.js

- name: csv-edit-affiliations
spec: |
cypress/e2e/retention/csv-edit-affiliations.cy.js

- name: add-affiliation
spec: |
cypress/e2e/retention/add-affiliation.cy.js

- name: notifications
spec: |
cypress/e2e/retention/notifications.cy.js

- name: other-tests
spec: |
cypress/e2e/retention/add-member.cy.js
cypress/e2e/retention/add-user.cy.js
cypress/e2e/retention/csv-invalid-affiliation.cy.js
cypress/e2e/retention/edit-affiliation.cy.js
cypress/e2e/retention/edit-member.cy.js
cypress/e2e/retention/edit-user.cy.js
cypress/e2e/retention/reset-password.cy.js
cypress/e2e/retention/restricted-access.cy.js
cypress/e2e/retention/ui-authorities.cy.js
cypress/e2e/retention/ui-login.cy.js
cypress/e2e/retention/ui-pagination.cy.js
cypress/e2e/retention/ui-homepage.cy.js
cypress/e2e/retention/ui-homepage-edit.cy.js
cypress/e2e/retention/ui-reports.cy.js
# keep running jobs even if one test fails in case there are multiple failed tests
fail-fast: false

###################################################################################################

runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: "Create creds json"
id: create-creds-json
uses: jsdaniell/create-json@1.1.2
uses: jsdaniell/create-json@v1.2.3
with:
name: "credentials.json"
json: '{"adminEmail": "${{secrets.CY_ADMIN_EMAIL}}", "adminPassword": "${{secrets.CY_ADMIN_PASSWORD}}", "password": "${{secrets.CY_PASSWORD}}", "shortPassword": "${{secrets.CY_SHORT_PASSWORD}}", "shortConfirmationPassword": "${{secrets.CY_SHORT_CONFIRMATION_PASSWORD}}", "wrongConfirmationPasssword": "${{secrets.CY_WRONG_CONFIRMATION_PASSWORD}}"}'
dir: "ui/cypress/fixtures"

- name: "Create Gmail creds json"
id: create-gmail-creds-file
uses: jsdaniell/create-json@1.1.2
uses: jsdaniell/create-json@v1.2.3
with:
name: "credentials_qa.json"
json: '{"installed":{"client_id":"${{secrets.CY_CREDS_CLIENT_ID}}","project_id":"${{secrets.CY_CREDS_PROJECT_ID}}","auth_uri":"https://accounts.google.com/o/oauth2/auth","token_uri":"https://oauth2.googleapis.com/token","auth_provider_x509_cert_url":"https://www.googleapis.com/oauth2/v1/certs","client_secret":"${{secrets.CY_CREDS_CLIENT_SECRET}}","redirect_uris":["urn:ietf:wg:oauth:2.0:oob","http://localhost"]}}'
dir: "ui/cypress/plugins"

- name: "Create Gmail token json"
id: create-gmail-token-file
uses: jsdaniell/create-json@1.1.2
uses: jsdaniell/create-json@v1.2.3
with:
name: "token_qa.json"
json: '{"access_token":"${{secrets.CY_TOKEN_ACCESS}}","refresh_token":"${{secrets.CY_TOKEN_REFRESH}}","scope":"https://www.googleapis.com/auth/gmail.readonly https://www.googleapis.com/auth/gmail.send","token_type":"Bearer","expiry_date":${{secrets.CY_TOKEN_EXPIRY_DATE}}}'
dir: "ui/cypress/plugins"

##########################################################################################################

- name: Cypress run
uses: cypress-io/github-action@v6
with:
install-command: npm install cypress --legacy-peer-deps
working-directory: ui
spec: |
cypress/e2e/retention/add-member.cy.js
cypress/e2e/retention/add-user.cy.js
cypress/e2e/retention/csv-invalid-affiliation.cy.js
cypress/e2e/retention/edit-affiliation.cy.js
cypress/e2e/retention/edit-member.cy.js
cypress/e2e/retention/edit-user.cy.js
cypress/e2e/retention/reset-password.cy.js
cypress/e2e/retention/restricted-access.cy.js
cypress/e2e/retention/ui-authorities.cy.js
cypress/e2e/retention/ui-login.cy.js
cypress/e2e/retention/ui-pagination.cy.js
cypress/e2e/retention/ui-homepage.cy.js
cypress/e2e/retention/ui-homepage-edit.cy.js
cypress/e2e/retention/ui-reports.cy.js
spec: "${{ matrix.spec }}"

# upload our cypress output results but only if the cypress tests failed
# NOTE: artifacts must have unique names
- uses: actions/upload-artifact@v4
if: failure()
with:
name: cypress-screenshots
name: "cypress-screenshots-${{ matrix.name }}"
path: ui/cypress/screenshots
if-no-files-found: ignore

- uses: actions/upload-artifact@v4
if: failure()
with:
name: cypress-videos
name: "cypress-videos-${{ matrix.name }}"
path: ui/cypress/videos
if-no-files-found: ignore


Loading
Loading