main-e2e-tests #120
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: main-e2e-tests | |
on: | |
workflow_dispatch: | |
inputs: | |
smoketest: | |
required: true | |
description: 'Is this a smoke test?' | |
default: 'false' | |
localtest: | |
required: true | |
description: 'Is this a local test?' | |
default: 'false' | |
logLevel: | |
description: 'Log level' | |
required: true | |
default: 'warning' | |
type: choice | |
options: | |
- info | |
- warning | |
- debug | |
env: | |
CYPRESS_users: ${{ secrets.CYPRESS_USERS }} | |
CYPRESS_BASE_URL: ${{ secrets.CYPRESS_BASEURL }} | |
CYPRESS_host: ${{ secrets.CYPRESS_HOST }} | |
CYPRESS_guid: ${{ secrets.CYPRESS_GUID }} | |
CYPRESS_ENVIRONMENT: ${{ github.base_ref }} | |
CYPRESS_loginproxy: ${{ secrets.CYPRESS_LOGINPROXY }} | |
CYPRESS_siteminder: ${{ secrets.CYPRESS_SITEMINDER }} | |
CYPRESS_smoketest: ${{inputs.smoketest}} | |
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }} | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
jobs: | |
pre-reqs: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false # https://github.com/cypress-io/github-action/issues/48 | |
steps: | |
# Checkout the PR branch | |
- name: Checkout Target Branch | |
uses: actions/checkout@v4 | |
- name: Pre-requisites for test run | |
uses: cypress-io/github-action@v6 | |
id: prereq | |
continue-on-error: false | |
with: | |
summary-title: 'Pre-reqs' | |
wait-on: ${{ secrets.CYPRESS_HOST }} | |
wait-on-timeout: 120 | |
record: true | |
install-command: npm ci | |
working-directory: testing | |
spec: | | |
cypress/e2e/**/integration-990-deleteAllIntegrations.cy.ts | |
cypress/e2e/**/team-900-*.cy.ts | |
browser: electron | |
# project: ./e2e | |
ci-build-id: ${{ github.event.number }} | |
smoke-test: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false # https://github.com/cypress-io/github-action/issues/48 | |
steps: | |
# Checkout the PR branch | |
- name: Checkout Target Branch | |
uses: actions/checkout@v4 | |
- name: E2E Smoke tests | |
uses: cypress-io/github-action@v6 | |
id: smoke | |
continue-on-error: false | |
with: | |
summary-title: 'E2E Smoke tests' | |
wait-on: ${{ secrets.CYPRESS_HOST }} | |
wait-on-timeout: 120 | |
record: true | |
install-command: npm ci | |
working-directory: testing | |
spec: | | |
cypress/e2e/smoke/smoke-*-*.cy.ts | |
browser: chrome | |
# project: ./e2e | |
ci-build-id: ${{ github.event.number }} | |
- name: Run the reports | |
run: | | |
cd testing | |
npm run report | |
- name: Upload Test Reports | |
uses: actions/upload-artifact@v4 | |
with: | |
name: smoke-test-results | |
path: testing/mochawesome-report/report.html | |
- name: Rocket.Chat Notification | |
uses: RocketChat/Rocket.Chat.GitHub.Action.Notification@master | |
if: always() && github.ref == 'refs/heads/main' | |
with: | |
type: ${{ job.status }} | |
job_name: '*Smoke Test*' | |
mention_if: 'failure' | |
channel: '#sso-ops' | |
url: ${{ secrets.ROCKETCHAT_WEBHOOK }} | |
create-integrations: | |
runs-on: ubuntu-latest | |
needs: pre-reqs | |
strategy: | |
fail-fast: false # https://github.com/cypress-io/github-action/issues/48 | |
steps: | |
# Checkout the PR branch | |
- name: Checkout Target Branch | |
uses: actions/checkout@v4 | |
- name: Request Creation tests | |
uses: cypress-io/github-action@v6 | |
id: integration-requests-tests | |
continue-on-error: false | |
with: | |
summary-title: 'Create Integration data' | |
wait-on: ${{ secrets.CYPRESS_HOST }} | |
wait-on-timeout: 120 | |
record: true | |
install-command: npm ci | |
working-directory: testing | |
spec: | | |
cypress/e2e/**/integration-010-*.cy.ts | |
cypress/e2e/**/integration-040-*.cy.ts | |
browser: chrome | |
# project: ./e2e | |
ci-build-id: ${{ github.event.number }} | |
- name: Upload resulting integration data | |
uses: actions/upload-artifact@v4 | |
with: | |
name: requestsafter | |
path: testing/cypress/fixtures/requestsafter.json | |
compression-level: 0 | |
- name: Upload resulting integration roles data | |
uses: actions/upload-artifact@v4 | |
with: | |
name: requestsrolesafter | |
path: testing/cypress/fixtures/requests-rolesafter.json | |
compression-level: 0 | |
- name: Run the reports | |
run: | | |
cd testing | |
npm run report | |
- name: Upload Test Reports | |
uses: actions/upload-artifact@v4 | |
with: | |
name: create-integrations | |
path: testing/mochawesome-report/report.html | |
- name: Rocket.Chat Notification | |
uses: RocketChat/Rocket.Chat.GitHub.Action.Notification@master | |
if: always() && github.ref == 'refs/heads/main' | |
with: | |
type: ${{ job.status }} | |
job_name: '*Create Integrations*' | |
mention_if: 'failure' | |
channel: '#sso-ops' | |
url: ${{ secrets.ROCKETCHAT_WEBHOOK }} | |
integration-tests: | |
runs-on: ubuntu-latest | |
needs: [pre-reqs, create-integrations] | |
strategy: | |
fail-fast: false # https://github.com/cypress-io/github-action/issues/48 | |
steps: | |
# Checkout the PR branch | |
- name: Checkout Target Branch | |
uses: actions/checkout@v4 | |
- name: Download requestsafter data | |
uses: actions/download-artifact@v4 | |
with: | |
name: requestsafter | |
path: testing/cypress/fixtures | |
- run: | | |
cd testing/cypress/fixtures | |
ls -al | |
cat requestsafter.json | |
printenv | sort | |
- name: Request Creation tests | |
uses: cypress-io/github-action@v6 | |
id: integration-requests-tests | |
continue-on-error: false | |
with: | |
summary-title: 'Request Integration tests' | |
wait-on: ${{ secrets.CYPRESS_HOST }} | |
wait-on-timeout: 120 | |
record: true | |
install-command: npm ci | |
working-directory: testing | |
spec: | | |
cypress/e2e/**/integration-011-*.cy.ts | |
cypress/e2e/**/integration-012-*.cy.ts | |
cypress/e2e/**/integration-013-*.cy.ts | |
browser: chrome | |
# project: ./e2e | |
ci-build-id: ${{ github.event.number }} | |
- name: Install bun | |
uses: oven-sh/setup-bun@v1 | |
- name: Delete Integrations | |
uses: cypress-io/github-action@v6 | |
id: delete-integrations | |
continue-on-error: false | |
with: | |
summary-title: 'Integration Deletes' | |
wait-on: ${{ secrets.CYPRESS_HOST }} | |
wait-on-timeout: 120 | |
record: true | |
install-command: bun install --frozen-lockfile | |
working-directory: testing | |
spec: | | |
cypress/e2e/**/integration-900-deleteIntegration.cy.ts | |
browser: chrome | |
# project: ./e2e | |
ci-build-id: ${{ github.event.number }} | |
- name: Run the reports | |
run: | | |
cd testing | |
npm run report | |
- name: Upload Test Reports | |
uses: actions/upload-artifact@v4 | |
with: | |
name: integration-test-results | |
path: testing/mochawesome-report/report.html | |
- name: Rocket.Chat Notification | |
uses: RocketChat/Rocket.Chat.GitHub.Action.Notification@master | |
if: always() && github.ref == 'refs/heads/main' | |
with: | |
type: ${{ job.status }} | |
job_name: '*Integration Test*' | |
mention_if: 'failure' | |
channel: '#sso-ops' | |
url: ${{ secrets.ROCKETCHAT_WEBHOOK }} | |
roles-tests: | |
runs-on: ubuntu-latest | |
needs: [pre-reqs, create-integrations] | |
strategy: | |
fail-fast: false # https://github.com/cypress-io/github-action/issues/48 | |
steps: | |
# Checkout the PR branch | |
- name: Checkout Target Branch | |
uses: actions/checkout@v4 | |
- name: Download requestrolesafter data | |
uses: actions/download-artifact@v4 | |
with: | |
name: requestsrolesafter | |
path: testing/cypress/fixtures | |
- run: | | |
cd testing/cypress/fixtures | |
ls -al | |
cat requests-rolesafter.json | |
printenv | sort | |
- name: Roles tests | |
uses: cypress-io/github-action@v6 | |
id: roles-tests | |
continue-on-error: false | |
with: | |
summary-title: 'Roles tests' | |
wait-on: ${{ secrets.CYPRESS_HOST }} | |
wait-on-timeout: 120 | |
record: true | |
install-command: npm ci | |
working-directory: testing | |
spec: | | |
cypress/e2e/**/integration-041-*.cy.ts | |
cypress/e2e/**/integration-042-*.cy.ts | |
cypress/e2e/**/integration-043-*.cy.ts | |
cypress/e2e/**/integration-044-*.cy.ts | |
browser: chrome | |
# project: ./e2e | |
ci-build-id: ${{ github.event.number }} | |
- name: Install bun | |
uses: oven-sh/setup-bun@v1 | |
- name: Delete All Roles Integrations | |
uses: cypress-io/github-action@v6 | |
id: delete-integrations-roles | |
continue-on-error: false | |
with: | |
summary-title: 'Integration Roles Deletes' | |
wait-on: ${{ secrets.CYPRESS_HOST }} | |
wait-on-timeout: 120 | |
record: true | |
install-command: bun install --frozen-lockfile | |
working-directory: testing | |
spec: | | |
cypress/e2e/**/integration-910-deleteIntegrationRoles.cy.ts | |
browser: chrome | |
# project: ./e2e | |
ci-build-id: ${{ github.event.number }} | |
- name: Run the reports | |
run: | | |
cd testing | |
npm run report | |
- name: Upload Test Reports | |
uses: actions/upload-artifact@v4 | |
with: | |
name: roles-test-results | |
path: testing/mochawesome-report/report.html | |
- name: Rocket.Chat Notification | |
uses: RocketChat/Rocket.Chat.GitHub.Action.Notification@master | |
if: always() && github.ref == 'refs/heads/main' | |
with: | |
type: ${{ job.status }} | |
job_name: '*Roles Test*' | |
mention_if: 'failure' | |
channel: '#sso-ops' | |
url: ${{ secrets.ROCKETCHAT_WEBHOOK }} | |
search-tests: | |
runs-on: ubuntu-latest | |
needs: pre-reqs | |
strategy: | |
fail-fast: false # https://github.com/cypress-io/github-action/issues/48 | |
steps: | |
# Checkout the PR branch | |
- name: Checkout Target Branch | |
uses: actions/checkout@v4 | |
- name: Search Users | |
uses: cypress-io/github-action@v6 | |
id: search-users | |
continue-on-error: false | |
with: | |
summary-title: 'Search Users tests' | |
wait-on: ${{ secrets.CYPRESS_HOST }} | |
wait-on-timeout: 120 | |
record: true | |
install-command: npm ci | |
working-directory: testing | |
spec: | | |
cypress/e2e/**/search-010-rolesUsers.cy.ts | |
cypress/e2e/**/search-020-IDIM.cy.ts | |
browser: chrome | |
# project: ./e2e | |
ci-build-id: ${{ github.event.number }} | |
- name: Run the reports | |
run: | | |
cd testing | |
npm run report | |
- name: Upload Test Reports | |
uses: actions/upload-artifact@v4 | |
with: | |
name: search-test-results | |
path: testing/mochawesome-report/report.html | |
- name: Rocket.Chat Notification | |
uses: RocketChat/Rocket.Chat.GitHub.Action.Notification@master | |
if: always() && github.ref == 'refs/heads/main' | |
with: | |
type: ${{ job.status }} | |
job_name: '*Search Test*' | |
mention_if: 'failure' | |
channel: '#sso-ops' | |
url: ${{ secrets.ROCKETCHAT_WEBHOOK }} | |
idpstopper-tests: | |
runs-on: ubuntu-latest | |
needs: search-tests | |
strategy: | |
fail-fast: false # https://github.com/cypress-io/github-action/issues/48 | |
steps: | |
# Checkout the PR branch | |
- name: Checkout Target Branch | |
uses: actions/checkout@v4 | |
- name: IDP Stoppers | |
uses: cypress-io/github-action@v6 | |
id: idpstop | |
continue-on-error: false | |
with: | |
summary-title: 'IDP Stopper tests' | |
wait-on: ${{ secrets.CYPRESS_HOST }} | |
wait-on-timeout: 120 | |
record: true | |
install-command: npm ci | |
working-directory: testing | |
spec: | | |
cypress/e2e/**/idpstopper-**-**.cy.ts | |
browser: chrome | |
# project: ./e2e | |
ci-build-id: ${{ github.event.number }} | |
- name: Run the reports | |
run: | | |
cd testing | |
npm run report | |
- name: Upload Test Reports | |
uses: actions/upload-artifact@v4 | |
with: | |
name: idp-stopper-test-results | |
path: testing/mochawesome-report/report.html | |
- name: Rocket.Chat Notification | |
uses: RocketChat/Rocket.Chat.GitHub.Action.Notification@master | |
if: always() && github.ref == 'refs/heads/main' | |
with: | |
type: ${{ job.status }} | |
job_name: '*IDP Stopper Test*' | |
mention_if: 'failure' | |
channel: '#sso-ops' | |
url: ${{ secrets.ROCKETCHAT_WEBHOOK }} |