set everything in place

This commit is contained in:
Marco Carrozzo
2023-01-20 14:58:33 +01:00
parent 37b123cfd6
commit b59485e116
+290 -289
View File
@@ -70,78 +70,78 @@ env:
DOCKER_REPOSITORY: "${{ secrets.DOCKER_REPOSITORY_DOMAIN }}/alfresco/demo-shell" DOCKER_REPOSITORY: "${{ secrets.DOCKER_REPOSITORY_DOMAIN }}/alfresco/demo-shell"
jobs: jobs:
# check-if-pr-is-approved: check-if-pr-is-approved:
# runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
# steps: steps:
# - name: Checkout repository - name: Checkout repository
# uses: actions/checkout@v3 uses: actions/checkout@v3
# with: with:
# fetch-depth: 0 fetch-depth: 0
# - name: Check if PR is approved - name: Check if PR is approved
# id: action id: action
# if: ${{ github.event_name != 'schedule' }} if: ${{ github.event_name != 'schedule' }}
# uses: kamatama41/get-pr-number-action@v0 uses: kamatama41/get-pr-number-action@v0
# with: with:
# github_token: ${{ secrets.GITHUB_TOKEN }} github_token: ${{ secrets.GITHUB_TOKEN }}
# - name: Show the number - name: Show the number
# env: env:
# GH_TOKEN: ${{ github.token }} GH_TOKEN: ${{ github.token }}
# DEVEL_FLAG: ${{ inputs.skip-pr-approve }} #put it to true if you need to develop the pipeline on your own branch. before the final merge put it to false DEVEL_FLAG: ${{ inputs.skip-pr-approve }} #put it to true if you need to develop the pipeline on your own branch. before the final merge put it to false
# shell: bash shell: bash
# if: ${{ github.event_name != 'schedule' }} if: ${{ github.event_name != 'schedule' }}
# run: | run: |
# if [[ "$DEVEL_FLAG" = false ]] ; then if [[ "$DEVEL_FLAG" = false ]] ; then
# echo "PR number is: ${{ steps.action.outputs.number }}" echo "PR number is: ${{ steps.action.outputs.number }}"
# prNumber=${{ steps.action.outputs.number }} prNumber=${{ steps.action.outputs.number }}
# checkApproval=$(gh api /repos/Alfresco/alfresco-ng2-components/pulls/$prNumber/reviews | jq '.[] | select(.state == "APPROVED") | .user.login') checkApproval=$(gh api /repos/Alfresco/alfresco-ng2-components/pulls/$prNumber/reviews | jq '.[] | select(.state == "APPROVED") | .user.login')
# if [[ $checkApproval ]]; then if [[ $checkApproval ]]; then
# echo "PR approved" echo "PR approved"
# else else
# echo "PR not approved yet" echo "PR not approved yet"
# exit 1 exit 1
# fi fi
# else else
# echo "you are on your branch: skipping the check. REMEMBER to put DEVEL_FLAG to FALSE before the final merge!" echo "you are on your branch: skipping the check. REMEMBER to put DEVEL_FLAG to FALSE before the final merge!"
# fi fi
# setup: setup:
# # long timeout required when cache has to be recreated # long timeout required when cache has to be recreated
# timeout-minutes: 30 timeout-minutes: 30
# name: "Setup" name: "Setup"
# runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
# needs: [check-if-pr-is-approved] needs: [check-if-pr-is-approved]
# steps: steps:
# - name: Checkout repository - name: Checkout repository
# uses: actions/checkout@v3 uses: actions/checkout@v3
# with: with:
# fetch-depth: 0 # Fetch all history for all tags and branches fetch-depth: 0 # Fetch all history for all tags and branches
# - uses: ./.github/actions/setup - uses: ./.github/actions/setup
# id: setup id: setup
# with: with:
# use-gh-nx-cache: false use-gh-nx-cache: false
# use-gh-node-modules-cache: true use-gh-node-modules-cache: true
# - name: run ci - name: run ci
# if: steps.setup.outputs.cache-hit != 'true' if: steps.setup.outputs.cache-hit != 'true'
# run: npm ci run: npm ci
# - run: nx run cli:bundle - run: nx run cli:bundle
# - run: nx run testing:bundle - run: nx run testing:bundle
# - uses: ./.github/actions/upload-cache-and-artifacts - uses: ./.github/actions/upload-cache-and-artifacts
# with: with:
# packages: 'dist node_modules' packages: 'dist node_modules'
# - name: show files - name: show files
# run: | run: |
# pwd pwd
# ls -lha ls -lha
# echo "====DIST====" echo "====DIST===="
# find dist -maxdepth 1 -type d || true find dist -maxdepth 1 -type d || true
# echo "====NXCACHE====" echo "====NXCACHE===="
# find nxcache -maxdepth 1 -type d || true find nxcache -maxdepth 1 -type d || true
# echo "====ADF====" echo "====ADF===="
# find node_modules/@alfresco/ -maxdepth 1 -type d || true find node_modules/@alfresco/ -maxdepth 1 -type d || true
# echo "====NX====" echo "====NX===="
# find node_modules/nx/ -maxdepth 1 -type d || true find node_modules/nx/ -maxdepth 1 -type d || true
unit-tests: unit-tests:
timeout-minutes: 30 timeout-minutes: 30
@@ -182,226 +182,227 @@ jobs:
with: with:
persistent-packages: 'nxcache' persistent-packages: 'nxcache'
cache-key-suffix: ${{ matrix.unit-tests.name }} cache-key-suffix: ${{ matrix.unit-tests.name }}
# lint: lint:
# # long timeout required when cache has to be recreated # long timeout required when cache has to be recreated
# timeout-minutes: 30 timeout-minutes: 30
# name: "Lint" name: "Lint"
# runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
# needs: [setup] needs: [setup]
# steps: steps:
# - name: Checkout repository - name: Checkout repository
# uses: actions/checkout@v3 uses: actions/checkout@v3
# with: with:
# fetch-depth: 0 # Fetch all history for all tags and branches fetch-depth: 0 # Fetch all history for all tags and branches
# - uses: ./.github/actions/setup - uses: ./.github/actions/setup
# with: with:
# use-gh-nx-cache: false use-gh-nx-cache: false
# use-gh-node-modules-cache: true use-gh-node-modules-cache: false
# cache-key-suffix: lint cache-key-suffix: lint
# - uses: ./.github/actions/download-cache-and-artifacts - uses: ./.github/actions/download-cache-and-artifacts
# with: with:
# packages: 'node_modules' packages: 'node_modules'
# persistent-packages: 'nxcache' persistent-packages: 'nxcache'
# - run: nx affected --target=lint $NX_CALCULATION_FLAGS - run: nx affected --target=lint $NX_CALCULATION_FLAGS
# - uses: ./.github/actions/upload-cache-and-artifacts - uses: ./.github/actions/upload-cache-and-artifacts
# with: with:
# persistent-packages: 'nxcache' persistent-packages: 'nxcache'
# build-libs:
# # long timeout required when cache has to be recreated
# timeout-minutes: 30
# name: "Build libs"
# runs-on: ubuntu-22.04
# needs: [setup]
# steps:
# - name: Checkout repository
# uses: actions/checkout@v3
# with:
# fetch-depth: 0 # Fetch all history for all tags and branches
# - uses: ./.github/actions/setup
# with:
# use-gh-nx-cache: false
# use-gh-node-modules-cache: true
# cache-key-suffix: build-libs
# - uses: ./.github/actions/download-cache-and-artifacts
# with:
# persistent-packages: 'nxcache'
# - run: nx affected:build $NX_CALCULATION_FLAGS --prod
# - run: nx build demoshell --configuration production
# - run: nx affected --target=build-storybook $NX_CALCULATION_FLAGS --configuration ci
# - uses: ./.github/actions/upload-cache-and-artifacts
# with:
# packages: 'dist node_modules'
# persistent-packages: 'nxcache'
# e2e-storybook: build-libs:
# timeout-minutes: 20 # long timeout required when cache has to be recreated
# name: "e2e: storybook" timeout-minutes: 30
# needs: [build-libs, lint, unit-tests] name: "Build libs"
# runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
# steps: needs: [setup]
# - name: Checkout repository steps:
# uses: actions/checkout@v3 - name: Checkout repository
# with: uses: actions/checkout@v3
# fetch-depth: 0 # Fetch all history for all with:
# - uses: ./.github/actions/setup fetch-depth: 0 # Fetch all history for all tags and branches
# with: - uses: ./.github/actions/setup
# use-gh-nx-cache: false with:
# use-gh-node-modules-cache: false use-gh-nx-cache: false
# - uses: ./.github/actions/download-cache-and-artifacts use-gh-node-modules-cache: false
# with: cache-key-suffix: build-libs
# packages: 'dist node_modules' - uses: ./.github/actions/download-cache-and-artifacts
# - name: Process Cloud Storybook Playwright with:
# run: | packages: 'node_modules'
# npx playwright install chromium persistent-packages: 'nxcache'
# sudo sysctl -w fs.inotify.max_user_watches=524288 - run: nx affected:build $NX_CALCULATION_FLAGS --prod
# npx nx affected --target=e2e-playwright $NX_CALCULATION_FLAGS || exit 1 - run: nx build demoshell --configuration production
- run: nx affected --target=build-storybook $NX_CALCULATION_FLAGS --configuration ci
- uses: ./.github/actions/upload-cache-and-artifacts
with:
packages: 'dist node_modules'
persistent-packages: 'nxcache'
# e2e: e2e-storybook:
# timeout-minutes: 90 timeout-minutes: 20
# name: "e2e: ${{ matrix.e2e-test.description }}" name: "e2e: storybook"
# needs: [build-libs, lint, unit-tests] needs: [build-libs, lint, unit-tests]
# runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
# strategy: steps:
# fail-fast: false - name: Checkout repository
# # max-parallel: 4 uses: actions/checkout@v3
# matrix: with:
# e2e-test: fetch-depth: 0 # Fetch all history for all
# - description: "Core" - uses: ./.github/actions/setup
# test-id: "core" with:
# folder: "core" use-gh-nx-cache: false
# provider: "ALL" use-gh-node-modules-cache: false
# auth: "OAUTH" - uses: ./.github/actions/download-cache-and-artifacts
# check-cs-env: "true" with:
# check-ps-env: "true" packages: 'dist node_modules'
# - description: "Content: Components" - name: Process Cloud Storybook Playwright
# test-id: "content-services" run: |
# folder: "content-services/components" npx playwright install chromium
# provider: "ECM" sudo sysctl -w fs.inotify.max_user_watches=524288
# auth: "BASIC" npx nx affected --target=e2e-playwright $NX_CALCULATION_FLAGS || exit 1
# check-cs-env: "true"
# - description: "Content: Directives"
# test-id: "content-services"
# folder: "content-services/directives"
# provider: "ECM"
# auth: "BASIC"
# check-cs-env: "true"
# - description: "Content: Document List"
# test-id: "content-services"
# folder: "content-services/document-list"
# provider: "ECM"
# auth: "BASIC"
# check-cs-env: "true"
# - description: "Content: Metadata"
# test-id: "content-services"
# folder: "content-services/metadata"
# provider: "ECM"
# auth: "BASIC"
# check-cs-env: "true"
# - description: "Content: Upload and Versioning"
# test-id: "content-services"
# folder: "content-services/upload"
# provider: "ECM"
# auth: "BASIC"
# check-cs-env: "true"
# - description: "Search"
# test-id: "content-services"
# folder: "search"
# provider: "ECM"
# auth: "BASIC"
# check-cs-env: "true"
# - description: "Process: Form"
# test-id: "process-services"
# folder: "process-services/form"
# provider: "BPM"
# auth: "OAUTH"
# check-ps-env: "true"
# check-external-cs-env: "true"
# - description: "Process: Process"
# test-id: "process-services"
# folder: "process-services/process"
# provider: "BPM"
# auth: "OAUTH"
# check-ps-env: "true"
# check-external-cs-env: "true"
# - description: "Process: Tasks"
# test-id: "process-services"
# folder: "process-services/tasks"
# provider: "BPM"
# auth: "OAUTH"
# check-ps-env: "true"
# check-external-cs-env: "true"
# - description: "Process: Widget"
# test-id: "process-services"
# folder: "process-services/widgets"
# provider: "BPM"
# auth: "OAUTH"
# check-ps-env: "true"
# check-external-cs-env: "true"
# - description: "Process Cloud: Form"
# test-id: "process-services-cloud"
# folder: "process-services-cloud/form-field"
# provider: "ALL"
# auth: "OAUTH"
# apa-proxy: true
# check-cs-env: "true"
# check-ps-cloud-env: "true"
# - description: "Process Cloud: People"
# test-id: "process-services-cloud"
# folder: "process-services-cloud/people"
# provider: "ALL"
# auth: "OAUTH"
# apa-proxy: true
# check-cs-env: "true"
# check-ps-cloud-env: "true"
# - description: "Process Cloud: Process"
# test-id: "process-services-cloud"
# folder: "process-services-cloud/process"
# provider: "ALL"
# auth: "OAUTH"
# apa-proxy: true
# check-cs-env: "true"
# check-ps-cloud-env: "true"
# - description: "Process Cloud: Start Task"
# test-id: "process-services-cloud"
# folder: "process-services-cloud/start-task"
# provider: "ALL"
# auth: "OAUTH"
# apa-proxy: true
# check-cs-env: "true"
# check-ps-cloud-env: "true"
# - description: "Process Cloud: Tasks List"
# test-id: "process-services-cloud"
# folder: "process-services-cloud/task-list"
# provider: "ALL"
# auth: "OAUTH"
# apa-proxy: true
# check-cs-env: "true"
# check-ps-cloud-env: "true"
# steps: e2e:
# - name: Checkout repository timeout-minutes: 90
# uses: actions/checkout@v3 name: "e2e: ${{ matrix.e2e-test.description }}"
# with: needs: [build-libs, lint, unit-tests]
# fetch-depth: 0 # Fetch all history for all runs-on: ubuntu-22.04
# - uses: ./.github/actions/setup strategy:
# with: fail-fast: false
# use-gh-nx-cache: false # max-parallel: 4
# use-gh-node-modules-cache: false matrix:
# - uses: ./.github/actions/download-cache-and-artifacts e2e-test:
# with: - description: "Core"
# packages: 'dist node_modules' test-id: "core"
# - name: setup chrome folder: "core"
# uses: ./.github/actions/setup-chrome provider: "ALL"
# - name: e2e auth: "OAUTH"
# uses: ./.github/actions/e2e check-cs-env: "true"
# with: check-ps-env: "true"
# e2e-test-id: ${{ matrix.e2e-test.test-id }} - description: "Content: Components"
# e2e-test-folder: ${{ matrix.e2e-test.folder }} test-id: "content-services"
# e2e-test-provider: ${{ matrix.e2e-test.provider }} folder: "content-services/components"
# e2e-test-auth: ${{ matrix.e2e-test.auth }} provider: "ECM"
# check-cs-env: ${{ matrix.e2e-test.check-cs-env }} auth: "BASIC"
# check-ps-env: ${{ matrix.e2e-test.check-ps-env }} check-cs-env: "true"
# check-ps-cloud-env: ${{ matrix.e2e-test.check-ps-cloud-env }} - description: "Content: Directives"
# check-external-cs-env: ${{ matrix.e2e-test.check-external-cs-env }} test-id: "content-services"
# apa-proxy: ${{ matrix.e2e-test.apa-proxy }} folder: "content-services/directives"
# # provider: "ECM"
auth: "BASIC"
check-cs-env: "true"
- description: "Content: Document List"
test-id: "content-services"
folder: "content-services/document-list"
provider: "ECM"
auth: "BASIC"
check-cs-env: "true"
- description: "Content: Metadata"
test-id: "content-services"
folder: "content-services/metadata"
provider: "ECM"
auth: "BASIC"
check-cs-env: "true"
- description: "Content: Upload and Versioning"
test-id: "content-services"
folder: "content-services/upload"
provider: "ECM"
auth: "BASIC"
check-cs-env: "true"
- description: "Search"
test-id: "content-services"
folder: "search"
provider: "ECM"
auth: "BASIC"
check-cs-env: "true"
- description: "Process: Form"
test-id: "process-services"
folder: "process-services/form"
provider: "BPM"
auth: "OAUTH"
check-ps-env: "true"
check-external-cs-env: "true"
- description: "Process: Process"
test-id: "process-services"
folder: "process-services/process"
provider: "BPM"
auth: "OAUTH"
check-ps-env: "true"
check-external-cs-env: "true"
- description: "Process: Tasks"
test-id: "process-services"
folder: "process-services/tasks"
provider: "BPM"
auth: "OAUTH"
check-ps-env: "true"
check-external-cs-env: "true"
- description: "Process: Widget"
test-id: "process-services"
folder: "process-services/widgets"
provider: "BPM"
auth: "OAUTH"
check-ps-env: "true"
check-external-cs-env: "true"
- description: "Process Cloud: Form"
test-id: "process-services-cloud"
folder: "process-services-cloud/form-field"
provider: "ALL"
auth: "OAUTH"
apa-proxy: true
check-cs-env: "true"
check-ps-cloud-env: "true"
- description: "Process Cloud: People"
test-id: "process-services-cloud"
folder: "process-services-cloud/people"
provider: "ALL"
auth: "OAUTH"
apa-proxy: true
check-cs-env: "true"
check-ps-cloud-env: "true"
- description: "Process Cloud: Process"
test-id: "process-services-cloud"
folder: "process-services-cloud/process"
provider: "ALL"
auth: "OAUTH"
apa-proxy: true
check-cs-env: "true"
check-ps-cloud-env: "true"
- description: "Process Cloud: Start Task"
test-id: "process-services-cloud"
folder: "process-services-cloud/start-task"
provider: "ALL"
auth: "OAUTH"
apa-proxy: true
check-cs-env: "true"
check-ps-cloud-env: "true"
- description: "Process Cloud: Tasks List"
test-id: "process-services-cloud"
folder: "process-services-cloud/task-list"
provider: "ALL"
auth: "OAUTH"
apa-proxy: true
check-cs-env: "true"
check-ps-cloud-env: "true"
steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
fetch-depth: 0 # Fetch all history for all
- uses: ./.github/actions/setup
with:
use-gh-nx-cache: false
use-gh-node-modules-cache: false
- uses: ./.github/actions/download-cache-and-artifacts
with:
packages: 'dist node_modules'
- name: setup chrome
uses: ./.github/actions/setup-chrome
- name: e2e
uses: ./.github/actions/e2e
with:
e2e-test-id: ${{ matrix.e2e-test.test-id }}
e2e-test-folder: ${{ matrix.e2e-test.folder }}
e2e-test-provider: ${{ matrix.e2e-test.provider }}
e2e-test-auth: ${{ matrix.e2e-test.auth }}
check-cs-env: ${{ matrix.e2e-test.check-cs-env }}
check-ps-env: ${{ matrix.e2e-test.check-ps-env }}
check-ps-cloud-env: ${{ matrix.e2e-test.check-ps-cloud-env }}
check-external-cs-env: ${{ matrix.e2e-test.check-external-cs-env }}
apa-proxy: ${{ matrix.e2e-test.apa-proxy }}