diff --git a/.github/workflows/cypress new ui.yml b/.github/workflows/cypress new ui.yml index fe3523b0..2cfa81f9 100644 --- a/.github/workflows/cypress new ui.yml +++ b/.github/workflows/cypress new ui.yml @@ -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/create-json@1.1.2 - 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 - 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 - 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/create-json@1.1.2 - 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 - 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 - 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/create-json@1.1.2 - 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 - 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 - 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/create-json@1.1.2 - 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 - 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 - 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 + + diff --git a/.github/workflows/cypress.yml b/.github/workflows/cypress.yml deleted file mode 100644 index 70432a42..00000000 --- a/.github/workflows/cypress.yml +++ /dev/null @@ -1,233 +0,0 @@ -name: Old UI Cypress end to end tests - -on: - workflow_dispatch: - -jobs: - csv-add-affiliations: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v2 - - name: "Create creds json" - id: create-creds-json - uses: jsdaniell/create-json@1.1.2 - 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: "gateway/cypress/fixtures" - - name: "Create Gmail creds json" - id: create-gmail-creds-file - uses: jsdaniell/create-json@1.1.2 - 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: "gateway/cypress/plugins" - - name: "Create Gmail token json" - id: create-gmail-token-file - uses: jsdaniell/create-json@1.1.2 - 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: "gateway/cypress/plugins" - - name: Cypress run - uses: cypress-io/github-action@v2 - with: - install-command: npm install cypress --legacy-peer-deps - working-directory: gateway - spec: cypress/integration/retention/csv-add-affiliations.js - - uses: actions/upload-artifact@v2 - if: failure() - with: - name: cypress-screenshots - path: gateway/cypress/screenshots - - uses: actions/upload-artifact@v2 - if: failure() - with: - name: cypress-videos - path: gateway/cypress/videos - csv-edit-affiliations: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v2 - - name: "Create creds json" - id: create-creds-json - uses: jsdaniell/create-json@1.1.2 - 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: "gateway/cypress/fixtures" - - name: "Create Gmail creds json" - id: create-gmail-creds-file - uses: jsdaniell/create-json@1.1.2 - 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: "gateway/cypress/plugins" - - name: "Create Gmail token json" - id: create-gmail-token-file - uses: jsdaniell/create-json@1.1.2 - 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: "gateway/cypress/plugins" - - name: Cypress run - uses: cypress-io/github-action@v2 - with: - install-command: npm install cypress --legacy-peer-deps - working-directory: gateway - spec: | - cypress/integration/retention/csv-edit-affiliations.js - - uses: actions/upload-artifact@v2 - if: failure() - with: - name: cypress-screenshots - path: gateway/cypress/screenshots - - uses: actions/upload-artifact@v2 - if: failure() - with: - name: cypress-videos - path: gateway/cypress/videos - add-affiliation: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v2 - - name: "Create creds json" - id: create-creds-json - uses: jsdaniell/create-json@1.1.2 - 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: "gateway/cypress/fixtures" - - name: "Create Gmail creds json" - id: create-gmail-creds-file - uses: jsdaniell/create-json@1.1.2 - 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: "gateway/cypress/plugins" - - name: "Create Gmail token json" - id: create-gmail-token-file - uses: jsdaniell/create-json@1.1.2 - 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: "gateway/cypress/plugins" - - name: Cypress run - uses: cypress-io/github-action@v2 - with: - install-command: npm install cypress --legacy-peer-deps - working-directory: gateway - spec: | - cypress/integration/retention/add-affiliation.js - - uses: actions/upload-artifact@v2 - if: failure() - with: - name: cypress-screenshots - path: gateway/cypress/screenshots - - uses: actions/upload-artifact@v2 - if: failure() - with: - name: cypress-videos - path: gateway/cypress/videos - notifications: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v2 - - name: "Create creds json" - id: create-creds-json - uses: jsdaniell/create-json@1.1.2 - 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: "gateway/cypress/fixtures" - - name: "Create Gmail creds json" - id: create-gmail-creds-file - uses: jsdaniell/create-json@1.1.2 - 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: "gateway/cypress/plugins" - - name: "Create Gmail token json" - id: create-gmail-token-file - uses: jsdaniell/create-json@1.1.2 - 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: "gateway/cypress/plugins" - - name: Cypress run - uses: cypress-io/github-action@v2 - with: - install-command: npm install cypress --legacy-peer-deps - working-directory: gateway - spec: | - cypress/integration/retention/notifications.js - - uses: actions/upload-artifact@v2 - if: failure() - with: - name: cypress-screenshots - path: gateway/cypress/screenshots - - uses: actions/upload-artifact@v2 - if: failure() - with: - name: cypress-videos - path: gateway/cypress/videos - other-tests: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v2 - - name: "Create creds json" - id: create-creds-json - uses: jsdaniell/create-json@1.1.2 - 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: "gateway/cypress/fixtures" - - name: "Create Gmail creds json" - id: create-gmail-creds-file - uses: jsdaniell/create-json@1.1.2 - 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: "gateway/cypress/plugins" - - name: "Create Gmail token json" - id: create-gmail-token-file - uses: jsdaniell/create-json@1.1.2 - 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: "gateway/cypress/plugins" - - name: Cypress run - uses: cypress-io/github-action@v2 - with: - install-command: npm install cypress --legacy-peer-deps - working-directory: gateway - spec: | - cypress/integration/retention/add-member.js - cypress/integration/retention/add-user.js - cypress/integration/retention/csv-invalid-affiliation.js - cypress/integration/retention/edit-affiliation.js - cypress/integration/retention/edit-member.js - cypress/integration/retention/edit-user.js - cypress/integration/retention/reset-password.js - cypress/integration/retention/restricted-access.js - cypress/integration/retention/ui-authorities.js - cypress/integration/retention/ui-login.js - cypress/integration/retention/ui-pagination.js - cypress/integration/retention/ui-homepage.js - cypress/integration/retention/ui-homepage-edit.js - cypress/integration/retention/ui-reports.js - - uses: actions/upload-artifact@v2 - if: failure() - with: - name: cypress-screenshots - path: gateway/cypress/screenshots - - uses: actions/upload-artifact@v2 - if: failure() - with: - name: cypress-videos - path: gateway/cypress/videos diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 00000000..764fd284 --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,37 @@ +repos: + - repo: https://github.com/pre-commit/pre-commit-hooks + rev: v4.4.0 + hooks: + - id: check-added-large-files + name: check for added large files + description: prevents giant files from being committed. + entry: check-added-large-files + language: python + stages: [commit, push, manual] + exclude: ^tx + + - repo: local + hooks: + - id: actionlint + name: actionlint + entry: actionlint + language: golang + additional_dependencies: + [github.com/rhysd/actionlint/cmd/actionlint@v1.6.23] + types: [yaml] + files: '^.github/workflows/' + +########## +# pre-commit-ci config + +ci: + autofix_commit_msg: | + [pre-commit.ci] auto fixes from pre-commit.com hooks + + for more information, see https://pre-commit.ci + autofix_prs: true + autoupdate_branch: '' + autoupdate_commit_msg: '[pre-commit.ci] pre-commit autoupdate' + autoupdate_schedule: weekly + skip: [] + submodules: false