only unit tests

This commit is contained in:
Marco Carrozzo
2023-01-20 13:59:54 +01:00
parent fe9dd5af34
commit 972a9fb1cc
+290 -290
View File
@@ -70,84 +70,84 @@ 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
name: "Unit tests: ${{ matrix.unit-tests.name }}" name: "Unit tests: ${{ matrix.unit-tests.name }}"
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
needs: [setup] # needs: [setup]
strategy: strategy:
fail-fast: false fail-fast: false
# max-parallel: 4 # max-parallel: 4
@@ -182,226 +182,226 @@ 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: true
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: # build-libs:
# 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: "Build libs" # name: "Build libs"
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: true
cache-key-suffix: build-libs # cache-key-suffix: build-libs
- uses: ./.github/actions/download-cache-and-artifacts # - uses: ./.github/actions/download-cache-and-artifacts
with: # with:
persistent-packages: 'nxcache' # persistent-packages: 'nxcache'
- run: nx affected:build $NX_CALCULATION_FLAGS --prod # - run: nx affected:build $NX_CALCULATION_FLAGS --prod
- run: nx build demoshell --configuration production # - run: nx build demoshell --configuration production
- run: nx affected --target=build-storybook $NX_CALCULATION_FLAGS --configuration ci # - run: nx affected --target=build-storybook $NX_CALCULATION_FLAGS --configuration ci
- uses: ./.github/actions/upload-cache-and-artifacts # - uses: ./.github/actions/upload-cache-and-artifacts
with: # with:
packages: 'dist node_modules' # packages: 'dist node_modules'
persistent-packages: 'nxcache' # persistent-packages: 'nxcache'
e2e-storybook: # e2e-storybook:
timeout-minutes: 20 # timeout-minutes: 20
name: "e2e: storybook" # 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
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 # fetch-depth: 0 # Fetch all history for all
- 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: false # use-gh-node-modules-cache: false
- uses: ./.github/actions/download-cache-and-artifacts # - uses: ./.github/actions/download-cache-and-artifacts
with: # with:
packages: 'dist node_modules' # packages: 'dist node_modules'
- name: Process Cloud Storybook Playwright # - name: Process Cloud Storybook Playwright
run: | # run: |
npx playwright install chromium # npx playwright install chromium
sudo sysctl -w fs.inotify.max_user_watches=524288 # sudo sysctl -w fs.inotify.max_user_watches=524288
npx nx affected --target=e2e-playwright $NX_CALCULATION_FLAGS || exit 1 # npx nx affected --target=e2e-playwright $NX_CALCULATION_FLAGS || exit 1
e2e: # e2e:
timeout-minutes: 90 # timeout-minutes: 90
name: "e2e: ${{ matrix.e2e-test.description }}" # name: "e2e: ${{ matrix.e2e-test.description }}"
needs: [build-libs, lint, unit-tests] # needs: [build-libs, lint, unit-tests]
runs-on: ubuntu-22.04 # runs-on: ubuntu-22.04
strategy: # strategy:
fail-fast: false # fail-fast: false
# max-parallel: 4 # # max-parallel: 4
matrix: # matrix:
e2e-test: # e2e-test:
- description: "Core" # - description: "Core"
test-id: "core" # test-id: "core"
folder: "core" # folder: "core"
provider: "ALL" # provider: "ALL"
auth: "OAUTH" # auth: "OAUTH"
check-cs-env: "true" # check-cs-env: "true"
check-ps-env: "true" # check-ps-env: "true"
- description: "Content: Components" # - description: "Content: Components"
test-id: "content-services" # test-id: "content-services"
folder: "content-services/components" # folder: "content-services/components"
provider: "ECM" # provider: "ECM"
auth: "BASIC" # auth: "BASIC"
check-cs-env: "true" # check-cs-env: "true"
- description: "Content: Directives" # - description: "Content: Directives"
test-id: "content-services" # test-id: "content-services"
folder: "content-services/directives" # folder: "content-services/directives"
provider: "ECM" # provider: "ECM"
auth: "BASIC" # auth: "BASIC"
check-cs-env: "true" # check-cs-env: "true"
- description: "Content: Document List" # - description: "Content: Document List"
test-id: "content-services" # test-id: "content-services"
folder: "content-services/document-list" # folder: "content-services/document-list"
provider: "ECM" # provider: "ECM"
auth: "BASIC" # auth: "BASIC"
check-cs-env: "true" # check-cs-env: "true"
- description: "Content: Metadata" # - description: "Content: Metadata"
test-id: "content-services" # test-id: "content-services"
folder: "content-services/metadata" # folder: "content-services/metadata"
provider: "ECM" # provider: "ECM"
auth: "BASIC" # auth: "BASIC"
check-cs-env: "true" # check-cs-env: "true"
- description: "Content: Upload and Versioning" # - description: "Content: Upload and Versioning"
test-id: "content-services" # test-id: "content-services"
folder: "content-services/upload" # folder: "content-services/upload"
provider: "ECM" # provider: "ECM"
auth: "BASIC" # auth: "BASIC"
check-cs-env: "true" # check-cs-env: "true"
- description: "Search" # - description: "Search"
test-id: "content-services" # test-id: "content-services"
folder: "search" # folder: "search"
provider: "ECM" # provider: "ECM"
auth: "BASIC" # auth: "BASIC"
check-cs-env: "true" # check-cs-env: "true"
- description: "Process: Form" # - description: "Process: Form"
test-id: "process-services" # test-id: "process-services"
folder: "process-services/form" # folder: "process-services/form"
provider: "BPM" # provider: "BPM"
auth: "OAUTH" # auth: "OAUTH"
check-ps-env: "true" # check-ps-env: "true"
check-external-cs-env: "true" # check-external-cs-env: "true"
- description: "Process: Process" # - description: "Process: Process"
test-id: "process-services" # test-id: "process-services"
folder: "process-services/process" # folder: "process-services/process"
provider: "BPM" # provider: "BPM"
auth: "OAUTH" # auth: "OAUTH"
check-ps-env: "true" # check-ps-env: "true"
check-external-cs-env: "true" # check-external-cs-env: "true"
- description: "Process: Tasks" # - description: "Process: Tasks"
test-id: "process-services" # test-id: "process-services"
folder: "process-services/tasks" # folder: "process-services/tasks"
provider: "BPM" # provider: "BPM"
auth: "OAUTH" # auth: "OAUTH"
check-ps-env: "true" # check-ps-env: "true"
check-external-cs-env: "true" # check-external-cs-env: "true"
- description: "Process: Widget" # - description: "Process: Widget"
test-id: "process-services" # test-id: "process-services"
folder: "process-services/widgets" # folder: "process-services/widgets"
provider: "BPM" # provider: "BPM"
auth: "OAUTH" # auth: "OAUTH"
check-ps-env: "true" # check-ps-env: "true"
check-external-cs-env: "true" # check-external-cs-env: "true"
- description: "Process Cloud: Form" # - description: "Process Cloud: Form"
test-id: "process-services-cloud" # test-id: "process-services-cloud"
folder: "process-services-cloud/form-field" # folder: "process-services-cloud/form-field"
provider: "ALL" # provider: "ALL"
auth: "OAUTH" # auth: "OAUTH"
apa-proxy: true # apa-proxy: true
check-cs-env: "true" # check-cs-env: "true"
check-ps-cloud-env: "true" # check-ps-cloud-env: "true"
- description: "Process Cloud: People" # - description: "Process Cloud: People"
test-id: "process-services-cloud" # test-id: "process-services-cloud"
folder: "process-services-cloud/people" # folder: "process-services-cloud/people"
provider: "ALL" # provider: "ALL"
auth: "OAUTH" # auth: "OAUTH"
apa-proxy: true # apa-proxy: true
check-cs-env: "true" # check-cs-env: "true"
check-ps-cloud-env: "true" # check-ps-cloud-env: "true"
- description: "Process Cloud: Process" # - description: "Process Cloud: Process"
test-id: "process-services-cloud" # test-id: "process-services-cloud"
folder: "process-services-cloud/process" # folder: "process-services-cloud/process"
provider: "ALL" # provider: "ALL"
auth: "OAUTH" # auth: "OAUTH"
apa-proxy: true # apa-proxy: true
check-cs-env: "true" # check-cs-env: "true"
check-ps-cloud-env: "true" # check-ps-cloud-env: "true"
- description: "Process Cloud: Start Task" # - description: "Process Cloud: Start Task"
test-id: "process-services-cloud" # test-id: "process-services-cloud"
folder: "process-services-cloud/start-task" # folder: "process-services-cloud/start-task"
provider: "ALL" # provider: "ALL"
auth: "OAUTH" # auth: "OAUTH"
apa-proxy: true # apa-proxy: true
check-cs-env: "true" # check-cs-env: "true"
check-ps-cloud-env: "true" # check-ps-cloud-env: "true"
- description: "Process Cloud: Tasks List" # - description: "Process Cloud: Tasks List"
test-id: "process-services-cloud" # test-id: "process-services-cloud"
folder: "process-services-cloud/task-list" # folder: "process-services-cloud/task-list"
provider: "ALL" # provider: "ALL"
auth: "OAUTH" # auth: "OAUTH"
apa-proxy: true # apa-proxy: true
check-cs-env: "true" # check-cs-env: "true"
check-ps-cloud-env: "true" # check-ps-cloud-env: "true"
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 # fetch-depth: 0 # Fetch all history for all
- 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: false # use-gh-node-modules-cache: false
- uses: ./.github/actions/download-cache-and-artifacts # - uses: ./.github/actions/download-cache-and-artifacts
with: # with:
packages: 'dist node_modules' # packages: 'dist node_modules'
- name: setup chrome # - name: setup chrome
uses: ./.github/actions/setup-chrome # uses: ./.github/actions/setup-chrome
- name: e2e # - name: e2e
uses: ./.github/actions/e2e # uses: ./.github/actions/e2e
with: # with:
e2e-test-id: ${{ matrix.e2e-test.test-id }} # e2e-test-id: ${{ matrix.e2e-test.test-id }}
e2e-test-folder: ${{ matrix.e2e-test.folder }} # e2e-test-folder: ${{ matrix.e2e-test.folder }}
e2e-test-provider: ${{ matrix.e2e-test.provider }} # e2e-test-provider: ${{ matrix.e2e-test.provider }}
e2e-test-auth: ${{ matrix.e2e-test.auth }} # e2e-test-auth: ${{ matrix.e2e-test.auth }}
check-cs-env: ${{ matrix.e2e-test.check-cs-env }} # check-cs-env: ${{ matrix.e2e-test.check-cs-env }}
check-ps-env: ${{ matrix.e2e-test.check-ps-env }} # check-ps-env: ${{ matrix.e2e-test.check-ps-env }}
check-ps-cloud-env: ${{ matrix.e2e-test.check-ps-cloud-env }} # check-ps-cloud-env: ${{ matrix.e2e-test.check-ps-cloud-env }}
check-external-cs-env: ${{ matrix.e2e-test.check-external-cs-env }} # check-external-cs-env: ${{ matrix.e2e-test.check-external-cs-env }}
apa-proxy: ${{ matrix.e2e-test.apa-proxy }} # apa-proxy: ${{ matrix.e2e-test.apa-proxy }}
# # #