From ce5a67c059ced69251f04a940a9fc5d044c0f5d6 Mon Sep 17 00:00:00 2001 From: Davit Date: Fri, 1 Mar 2024 08:01:48 +1100 Subject: [PATCH] UI CI --- .github/workflows/ui-workflow.yaml | 98 ++++++++++++++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 .github/workflows/ui-workflow.yaml diff --git a/.github/workflows/ui-workflow.yaml b/.github/workflows/ui-workflow.yaml new file mode 100644 index 00000000..89221dc2 --- /dev/null +++ b/.github/workflows/ui-workflow.yaml @@ -0,0 +1,98 @@ +name: Lagoon UI CI + +on: + pull_request: + branches: + - main + push: + branches: + - main + - cypress-test + +jobs: + format-check: + runs-on: ubuntu-latest + + steps: + - name: Install dependencies + run: yarn + + - name: Checkout Repository + uses: actions/checkout@v4 + + - name: Formatting check + run: | + yarn add prettier@2.8.7 @trivago/prettier-plugin-sort-imports + yarn format-check + + lint: + runs-on: ubuntu-latest + + steps: + - name: Checkout Repository + uses: actions/checkout@v4 + + - name: Linting + run: | + yarn add typescript + yarn lint + + cypress-tests: + runs-on: ubuntu-latest + + needs: [format-check, lint] + + steps: + - name: Checkout Repository + uses: actions/checkout@v4 + + - name: Set up Node.js + uses: actions/setup-node@v4 + with: + node-version: '20' + + - name: Build and start Lagoon-minimal + run: | + cd test + make up + + - name: Start ui + env: + GRAPHQL_API: http://0.0.0.0:33000/graphql + KEYCLOAK_API: http://0.0.0.0:38088/auth + run: | + yarn install + yarn build + yarn start & + + - name: Run RBAC Cypress Tests + uses: cypress-io/github-action@v6 + with: + config-file: ./cypress/cypress.config.ts + auto-cancel-after-failures: 1 + wait-on: 'http://localhost:3000' + command: yarn cypress:runRbac + continue-on-error: true + + - name: Run General Cypress Tests + uses: cypress-io/github-action@v6 + with: + config-file: ./cypress/cypress.config.ts + auto-cancel-after-failures: 1 + wait-on: 'http://localhost:3000' + command: yarn cypress:runGeneral + continue-on-error: true + + - name: Run Organization Cypress Tests + uses: cypress-io/github-action@v6 + with: + config-file: ./cypress/cypress.config.ts + auto-cancel-after-failures: 1 + wait-on: 'http://localhost:3000' + command: yarn cypress:runOrganizations + continue-on-error: true + + - name: Stop Docker containers + run: | + cd test + make down \ No newline at end of file