Skip to content

[AAH-2509] Hub > My imports page #2271

[AAH-2509] Hub > My imports page

[AAH-2509] Hub > My imports page #2271

name: On Pull Request - Run Tests
on:
pull_request:
env:
IS_GITHUB_ACTION: true
concurrency:
group: ${{ github.ref }}
cancel-in-progress: true
jobs:
packages:
name: Packages
runs-on: ubuntu-latest
timeout-minutes: 10
outputs:
awx: ${{ steps.changed-awx.outputs.changed == 'true' }}
hub: ${{ steps.changed-hub.outputs.changed == 'true' }}
eda: ${{ steps.changed-eda.outputs.changed == 'true' }}
afw: ${{ steps.changed-afw.outputs.changed == 'true' }}
common: ${{ steps.changed-common.outputs.changed == 'true' }}
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 100
- uses: actions/setup-node@v4
with:
node-version: 18
- name: PreCache
run: npm version 0.0.0 --no-git-tag-version
- name: Cache dependencies
id: cache
uses: actions/cache@v4
with:
path: |
./node_modules
/home/runner/.cache/Cypress
key: modules-${{ hashFiles('package-lock.json') }}
- name: Install dependencies
if: steps.cache.outputs.cache-hit != 'true'
run: npm ci
- uses: marceloprado/has-changed-path@v1.0.1
id: changed-awx
with:
paths: frontend/awx frontend/common cypress/e2e/awx framework cypress/support package.json
- uses: marceloprado/has-changed-path@v1.0.1
id: changed-hub
with:
paths: frontend/hub frontend/common cypress/e2e/hub framework cypress/support package.json
- uses: marceloprado/has-changed-path@v1.0.1
id: changed-eda
with:
paths: frontend/eda frontend/common cypress/e2e/eda framework cypress/support package.json
- uses: marceloprado/has-changed-path@v1.0.1
id: changed-afw
with:
paths: framework
- uses: marceloprado/has-changed-path@v1.0.1
id: changed-common
with:
paths: frontend/common framework cypress/support package.json
checks:
name: ESLint - Prettier - TSC
runs-on: ubuntu-latest
timeout-minutes: 10
needs: packages
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 1
- uses: actions/setup-node@v4
with:
node-version: 18
- name: PreCache
run: npm version 0.0.0 --no-git-tag-version
- name: Cache dependencies
id: cache
uses: actions/cache@v4
with:
path: |
./node_modules
/home/runner/.cache/Cypress
key: modules-${{ hashFiles('package-lock.json') }}
- name: Install dependencies
if: steps.cache.outputs.cache-hit != 'true'
run: npm ci
- run: npm run checks
component-tests:
name: Component Tests
runs-on: ubuntu-latest
timeout-minutes: 14
needs: packages
strategy:
fail-fast: false
matrix:
containers: [1, 2, 3]
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 18
- name: PreCache
run: npm version 0.0.0 --no-git-tag-version
- name: Cache dependencies
id: cache
uses: actions/cache@v4
with:
path: |
./node_modules
/home/runner/.cache/Cypress
key: modules-${{ hashFiles('package-lock.json') }}
- name: Install dependencies
if: steps.cache.outputs.cache-hit != 'true'
run: npm ci
- name: Cypress
uses: cypress-io/github-action@v6
with:
component: true
install: false
record: true
parallel: true
# auto-cancel-after-failures: 1
config-file: cypress.config.ts
env:
CYPRESS_PROJECT_ID: ${{ secrets.CYPRESS_COMPONENT_PROJECT_ID }}
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_COMPONENT_RECORD_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
awx-e2e:
name: AWX E2E
needs: packages
uses: ./.github/workflows/awx-e2e.yml
with:
AWX_SERVER: ${{ vars.AWX_SERVER }}
SKIP_JOB: ${{ needs.packages.outputs.awx != 'true' }}
secrets:
AWX_PASSWORD: ${{ secrets.AWX_PASSWORD }}
CYPRESS_AUI_AWX_E2E_PROJECT_ID: ${{ secrets.CYPRESS_AUI_AWX_E2E_PROJECT_ID }}
CYPRESS_AUI_AWX_E2E_RECORD_KEY: ${{ secrets.CYPRESS_AUI_AWX_E2E_RECORD_KEY }}
eda-e2e:
name: EDA E2E
needs: packages
uses: ./.github/workflows/eda-e2e.yml
with:
EDA_SERVER: ${{ vars.EDA_SERVER }}
SKIP_JOB: ${{ needs.packages.outputs.eda != 'true' }}
secrets:
EDA_PASSWORD: ${{ secrets.EDA_PASSWORD }}
CYPRESS_AUI_EDA_E2E_PROJECT_ID: ${{ secrets.CYPRESS_AUI_EDA_E2E_PROJECT_ID }}
CYPRESS_AUI_EDA_E2E_RECORD_KEY: ${{ secrets.CYPRESS_AUI_EDA_E2E_RECORD_KEY }}
hub-e2e:
name: HUB E2E
needs: packages
uses: ./.github/workflows/hub-e2e.yml
with:
HUB_SERVER: ${{ vars.HUB_SERVER }}
SKIP_JOB: ${{ needs.packages.outputs.hub != 'true' }}
secrets:
HUB_PASSWORD: ${{ secrets.HUB_PASSWORD }}
CYPRESS_AUI_HUB_E2E_PROJECT_ID: ${{ secrets.CYPRESS_AUI_HUB_E2E_PROJECT_ID }}
CYPRESS_AUI_HUB_E2E_RECORD_KEY: ${{ secrets.CYPRESS_AUI_HUB_E2E_RECORD_KEY }}