Skip to content

Remove node, or link confirmation modal #2263

Remove node, or link confirmation modal

Remove node, or link confirmation modal #2263

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@v3
with:
fetch-depth: 100
- uses: actions/setup-node@v3
with:
node-version: 18
- name: PreCache
run: npm version 0.0.0 --no-git-tag-version
- name: Cache dependencies
id: cache
uses: actions/cache@v3
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@v3
with:
fetch-depth: 1
- uses: actions/setup-node@v3
with:
node-version: 18
- name: PreCache
run: npm version 0.0.0 --no-git-tag-version
- name: Cache dependencies
id: cache
uses: actions/cache@v3
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
awx-cct:
name: AWX CCT
runs-on: ubuntu-latest
timeout-minutes: 14
needs: packages
strategy:
fail-fast: false
matrix:
containers: [1, 2]
steps:
- name: Checkout
if: needs.packages.outputs.awx == 'true'
uses: actions/checkout@v3
with:
fetch-depth: 1
- name: Setup Node
if: needs.packages.outputs.awx == 'true'
uses: actions/setup-node@v3
with:
node-version: 18
- name: PreCache
if: needs.packages.outputs.awx == 'true'
run: npm version 0.0.0 --no-git-tag-version
- name: Cache dependencies
if: needs.packages.outputs.awx == 'true'
id: cache
uses: actions/cache@v3
with:
path: |
./node_modules
/home/runner/.cache/Cypress
key: modules-${{ hashFiles('package-lock.json') }}
- name: Install dependencies
if: steps.cache.outputs.cache-hit != 'true' && needs.packages.outputs.awx == 'true'
run: npm ci
- name: Cypress
if: needs.packages.outputs.awx == 'true'
uses: cypress-io/github-action@v5
with:
component: true
install: false
record: true
parallel: true
# auto-cancel-after-failures: 1
config-file: cypress.awx.config.ts
env:
CYPRESS_PROJECT_ID: ${{ secrets.CYPRESS_AUI_AWX_CCT_PROJECT_ID }}
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_AUI_AWX_CCT_RECORD_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
eda-cct:
name: EDA CCT
runs-on: ubuntu-latest
timeout-minutes: 14
needs: packages
strategy:
fail-fast: false
matrix:
containers: [1]
steps:
- name: Checkout
if: needs.packages.outputs.eda == 'true'
uses: actions/checkout@v3
with:
fetch-depth: 1
- name: Setup Node
if: needs.packages.outputs.eda == 'true'
uses: actions/setup-node@v3
with:
node-version: 18
- name: PreCache
if: needs.packages.outputs.eda == 'true'
run: npm version 0.0.0 --no-git-tag-version
- name: Cache dependencies
if: needs.packages.outputs.eda == 'true'
id: cache
uses: actions/cache@v3
with:
path: |
./node_modules
/home/runner/.cache/Cypress
key: modules-${{ hashFiles('package-lock.json') }}
- name: Install dependencies
if: steps.cache.outputs.cache-hit != 'true' && needs.packages.outputs.eda == 'true'
run: npm ci
- name: Cypress
if: needs.packages.outputs.eda == 'true'
uses: cypress-io/github-action@v5
with:
component: true
install: false
record: true
parallel: true
# auto-cancel-after-failures: 1
config-file: cypress.eda.config.ts
env:
CYPRESS_PROJECT_ID: ${{ secrets.CYPRESS_AUI_EDA_CCT_PROJECT_ID }}
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_AUI_EDA_CCT_RECORD_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
hub-cct:
name: HUB CCT
runs-on: ubuntu-latest
timeout-minutes: 14
needs: packages
strategy:
fail-fast: false
matrix:
containers: [1]
steps:
- name: Checkout
if: needs.packages.outputs.hub == 'true'
uses: actions/checkout@v3
with:
fetch-depth: 1
- name: Setup node
if: needs.packages.outputs.hub == 'true'
uses: actions/setup-node@v3
with:
node-version: 18
- name: PreCache
if: needs.packages.outputs.hub == 'true'
run: npm version 0.0.0 --no-git-tag-version
- name: Cache dependencies
if: needs.packages.outputs.hub == 'true'
id: cache
uses: actions/cache@v3
with:
path: |
./node_modules
/home/runner/.cache/Cypress
key: modules-${{ hashFiles('package-lock.json') }}
- name: Install dependencies
if: steps.cache.outputs.cache-hit != 'true' && needs.packages.outputs.hub == 'true'
run: npm ci
- name: Cypress
if: needs.packages.outputs.hub == 'true'
uses: cypress-io/github-action@v5
with:
component: true
install: false
record: true
parallel: true
# auto-cancel-after-failures: 1
config-file: cypress.hub.config.ts
env:
CYPRESS_PROJECT_ID: ${{ secrets.CYPRESS_AUI_HUB_CCT_PROJECT_ID }}
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_AUI_HUB_CCT_RECORD_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
afw-cct:
name: AFW CCT
runs-on: ubuntu-latest
timeout-minutes: 14
needs: packages
strategy:
fail-fast: false
matrix:
containers: [1]
steps:
- name: Checkout
if: needs.packages.outputs.afw == 'true'
uses: actions/checkout@v3
with:
fetch-depth: 1
- name: Setup Node
if: needs.packages.outputs.afw == 'true'
uses: actions/setup-node@v3
with:
node-version: 18
- name: PreCache
if: needs.packages.outputs.afw == 'true'
run: npm version 0.0.0 --no-git-tag-version
- name: Cache dependencies
if: needs.packages.outputs.afw == 'true'
id: cache
uses: actions/cache@v3
with:
path: |
./node_modules
/home/runner/.cache/Cypress
key: modules-${{ hashFiles('package-lock.json') }}
- name: Install dependencies
if: steps.cache.outputs.cache-hit != 'true' && needs.packages.outputs.afw == 'true'
run: npm ci
- name: Cypress
if: needs.packages.outputs.afw == 'true'
uses: cypress-io/github-action@v5
with:
component: true
install: false
record: true
parallel: true
# auto-cancel-after-failures: 1
config-file: cypress.afw.config.ts
env:
CYPRESS_PROJECT_ID: ${{ secrets.CYPRESS_AUI_AFW_CCT_PROJECT_ID }}
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_AUI_AFW_CCT_RECORD_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
common-cct:
name: Common CCT
runs-on: ubuntu-latest
timeout-minutes: 14
needs: packages
strategy:
fail-fast: false
matrix:
containers: [1]
steps:
- name: Checkout
if: needs.packages.outputs.common == 'true'
uses: actions/checkout@v3
with:
fetch-depth: 1
- name: Setup Node
if: needs.packages.outputs.common == 'true'
uses: actions/setup-node@v3
with:
node-version: 18
- name: PreCache
if: needs.packages.outputs.common == 'true'
run: npm version 0.0.0 --no-git-tag-version
- name: Cache dependencies
if: needs.packages.outputs.common == 'true'
id: cache
uses: actions/cache@v3
with:
path: |
./node_modules
/home/runner/.cache/Cypress
key: modules-${{ hashFiles('package-lock.json') }}
- name: Install dependencies
if: steps.cache.outputs.cache-hit != 'true' && needs.packages.outputs.common == 'true'
run: npm ci
- name: Cypress
if: needs.packages.outputs.common == 'true'
uses: cypress-io/github-action@v5
with:
component: true
install: false
record: true
auto-cancel-after-failures: 1
config-file: cypress.common.config.ts
env:
CYPRESS_PROJECT_ID: ${{ secrets.CYPRESS_AUI_AFW_CCT_PROJECT_ID }}
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_AUI_AFW_CCT_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 }}