main-e2e-tests #304
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 | |
smoke-test: | |
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: 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: failure() && 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: 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/**/integrations-crud.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: failure() && 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: 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-roles.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: failure() && 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: [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-users.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: failure() && 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-tests.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: failure() && github.ref == 'refs/heads/main' | |
uses: ./.github/actions/rocket-chat-notification | |
with: | |
text: '*Team Tests*' | |
job-status: ${{ job.status }} | |
webhook-url: ${{ secrets.ROCKETCHAT_WEBHOOK }} | |
all-delete: | |
runs-on: ubuntu-latest | |
needs: [team-tests, roles-tests, search-tests, integration-tests] | |
if: always() | |
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: failure() && 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 }} |