main-e2e-tests #181
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: 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 }} | |
- name: Run the reports | |
run: | | |
cd testing | |
npm run report | |
- name: Upload Test Reports | |
uses: actions/upload-artifact@v4 | |
with: | |
name: pre-req-results | |
path: testing/mochawesome-report/report.html | |
# - name: Rocket.Chat Notification | |
# if: always() && github.ref == 'refs/heads/main' | |
# uses: ./.github/actions/rocket-chat-notification | |
# with: | |
# text: '*Pre-Reqs*' | |
# job-status: ${{ job.status }} | |
# webhook-url: ${{ secrets.ROCKETCHAT_WEBHOOK }} | |
# 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: electron | |
# # 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 | |
# # if: always() && github.ref == 'refs/heads/main' | |
# # uses: ./.github/actions/rocket-chat-notification | |
# # with: | |
# # text: '*Smoke Tests*' | |
# # job-status: ${{ job.status }} | |
# # webhook-url: ${{ secrets.ROCKETCHAT_WEBHOOK }} | |
integration-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: 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: Integration 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-010-*.cy.ts | |
browser: electron | |
# 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 | |
# if: always() && github.ref == 'refs/heads/main' | |
# uses: ./.github/actions/rocket-chat-notification | |
# with: | |
# text: '*Integration Tests*' | |
# job-status: ${{ job.status }} | |
# webhook-url: ${{ secrets.ROCKETCHAT_WEBHOOK }} | |
roles-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: 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-040-*.cy.ts | |
browser: electron | |
# project: ./e2e | |
ci-build-id: ${{ github.event.number }} | |
- name: Install bun | |
uses: oven-sh/setup-bun@v1 | |
- 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 | |
# if: always() && github.ref == 'refs/heads/main' | |
# uses: ./.github/actions/rocket-chat-notification | |
# with: | |
# text: '*Roles Tests*' | |
# job-status: ${{ job.status }} | |
# webhook-url: ${{ secrets.ROCKETCHAT_WEBHOOK }} | |
# search-tests: | |
# runs-on: ubuntu-latest | |
# needs: [smoke-test] | |
# 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-000-prereq.cy.ts | |
# cypress/e2e/**/search-010-rolesUsers.cy.ts | |
# cypress/e2e/**/search-020-IDIM.cy.ts | |
# browser: electron | |
# # 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 | |
# if: always() && github.ref == 'refs/heads/main' | |
# uses: ./.github/actions/rocket-chat-notification | |
# with: | |
# text: '*Search Tests*' | |
# job-status: ${{ job.status }} | |
# webhook-url: ${{ secrets.ROCKETCHAT_WEBHOOK }} | |
team-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: Team Tests | |
uses: cypress-io/github-action@v6 | |
id: teams | |
continue-on-error: false | |
with: | |
summary-title: 'Team tests' | |
wait-on: ${{ secrets.CYPRESS_HOST }} | |
wait-on-timeout: 120 | |
record: true | |
install-command: npm ci | |
working-directory: testing | |
spec: | | |
cypress/e2e/**/team-001-**.cy.ts | |
browser: electron | |
# 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: team-test-results | |
path: testing/mochawesome-report/report.html | |
# - name: Rocket.Chat Notification | |
# if: always() && github.ref == 'refs/heads/main' | |
# uses: ./.github/actions/rocket-chat-notification | |
# with: | |
# text: '*Team Tests*' | |
# job-status: ${{ job.status }} | |
# webhook-url: ${{ secrets.ROCKETCHAT_WEBHOOK }} | |
# idpstopper-tests: | |
# runs-on: ubuntu-latest | |
# needs: [pre-reqs, smoke-test] | |
# 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: electron | |
# # 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 | |
# if: always() && github.ref == 'refs/heads/main' | |
# uses: ./.github/actions/rocket-chat-notification | |
# with: | |
# text: '*IDP Stopper Tests*' | |
# job-status: ${{ job.status }} | |
# webhook-url: ${{ secrets.ROCKETCHAT_WEBHOOK }} | |
all-delete: | |
runs-on: ubuntu-latest | |
needs: [team-tests, roles-tests, integration-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: Teams Delete | |
uses: cypress-io/github-action@v6 | |
id: teamsdelete | |
continue-on-error: false | |
with: | |
summary-title: 'Delete Teams and Integration' | |
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 }} | |
- name: Run the reports | |
run: | | |
cd testing | |
npm run report | |
- name: Upload Test Reports | |
uses: actions/upload-artifact@v4 | |
with: | |
name: all-delete-results | |
path: testing/mochawesome-report/report.html | |
# - name: Rocket.Chat Notification | |
# if: always() && github.ref == 'refs/heads/main' | |
# uses: ./.github/actions/rocket-chat-notification | |
# with: | |
# text: '*All Delete Tests*' | |
# job-status: ${{ job.status }} | |
# webhook-url: ${{ secrets.ROCKETCHAT_WEBHOOK }} |