diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index 7f2debae1e..3e7ffb243e 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -70,84 +70,84 @@ env: DOCKER_REPOSITORY: "${{ secrets.DOCKER_REPOSITORY_DOMAIN }}/alfresco/demo-shell" jobs: - check-if-pr-is-approved: - runs-on: ubuntu-22.04 - steps: - - name: Checkout repository - uses: actions/checkout@v3 - with: - fetch-depth: 0 + # check-if-pr-is-approved: + # runs-on: ubuntu-22.04 + # steps: + # - name: Checkout repository + # uses: actions/checkout@v3 + # with: + # fetch-depth: 0 - - name: Check if PR is approved - id: action - if: ${{ github.event_name != 'schedule' }} - uses: kamatama41/get-pr-number-action@v0 - with: - github_token: ${{ secrets.GITHUB_TOKEN }} + # - name: Check if PR is approved + # id: action + # if: ${{ github.event_name != 'schedule' }} + # uses: kamatama41/get-pr-number-action@v0 + # with: + # github_token: ${{ secrets.GITHUB_TOKEN }} - - name: Show the number - env: - 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 - shell: bash - if: ${{ github.event_name != 'schedule' }} - run: | - if [[ "$DEVEL_FLAG" = false ]] ; then - echo "PR number is: ${{ 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') - if [[ $checkApproval ]]; then - echo "PR approved" - else - echo "PR not approved yet" - exit 1 - fi - else - echo "you are on your branch: skipping the check. REMEMBER to put DEVEL_FLAG to FALSE before the final merge!" - fi + # - name: Show the number + # env: + # 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 + # shell: bash + # if: ${{ github.event_name != 'schedule' }} + # run: | + # if [[ "$DEVEL_FLAG" = false ]] ; then + # echo "PR number is: ${{ 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') + # if [[ $checkApproval ]]; then + # echo "PR approved" + # else + # echo "PR not approved yet" + # exit 1 + # fi + # else + # echo "you are on your branch: skipping the check. REMEMBER to put DEVEL_FLAG to FALSE before the final merge!" + # fi - setup: - # long timeout required when cache has to be recreated - timeout-minutes: 30 - name: "Setup" - runs-on: ubuntu-22.04 - needs: [check-if-pr-is-approved] - steps: - - name: Checkout repository - uses: actions/checkout@v3 - with: - fetch-depth: 0 # Fetch all history for all tags and branches - - uses: ./.github/actions/setup - id: setup - with: - use-gh-nx-cache: false - use-gh-node-modules-cache: true - - name: run ci - if: steps.setup.outputs.cache-hit != 'true' - run: npm ci - - run: nx run cli:bundle - - run: nx run testing:bundle - - uses: ./.github/actions/upload-cache-and-artifacts - with: - packages: 'dist node_modules' - - name: show files - run: | - pwd - ls -lha - echo "====DIST====" - find dist -maxdepth 1 -type d || true - echo "====NXCACHE====" - find nxcache -maxdepth 1 -type d || true - echo "====ADF====" - find node_modules/@alfresco/ -maxdepth 1 -type d || true - echo "====NX====" - find node_modules/nx/ -maxdepth 1 -type d || true + # setup: + # # long timeout required when cache has to be recreated + # timeout-minutes: 30 + # name: "Setup" + # runs-on: ubuntu-22.04 + # needs: [check-if-pr-is-approved] + # steps: + # - name: Checkout repository + # uses: actions/checkout@v3 + # with: + # fetch-depth: 0 # Fetch all history for all tags and branches + # - uses: ./.github/actions/setup + # id: setup + # with: + # use-gh-nx-cache: false + # use-gh-node-modules-cache: true + # - name: run ci + # if: steps.setup.outputs.cache-hit != 'true' + # run: npm ci + # - run: nx run cli:bundle + # - run: nx run testing:bundle + # - uses: ./.github/actions/upload-cache-and-artifacts + # with: + # packages: 'dist node_modules' + # - name: show files + # run: | + # pwd + # ls -lha + # echo "====DIST====" + # find dist -maxdepth 1 -type d || true + # echo "====NXCACHE====" + # find nxcache -maxdepth 1 -type d || true + # echo "====ADF====" + # find node_modules/@alfresco/ -maxdepth 1 -type d || true + # echo "====NX====" + # find node_modules/nx/ -maxdepth 1 -type d || true unit-tests: timeout-minutes: 30 name: "Unit tests: ${{ matrix.unit-tests.name }}" runs-on: ubuntu-22.04 - needs: [setup] + # needs: [setup] strategy: fail-fast: false # max-parallel: 4 @@ -182,226 +182,226 @@ jobs: with: persistent-packages: 'nxcache' cache-key-suffix: ${{ matrix.unit-tests.name }} - lint: - # long timeout required when cache has to be recreated - timeout-minutes: 30 - name: "Lint" - 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: lint - - uses: ./.github/actions/download-cache-and-artifacts - with: - packages: 'node_modules' - persistent-packages: 'nxcache' - - run: nx affected --target=lint $NX_CALCULATION_FLAGS - - uses: ./.github/actions/upload-cache-and-artifacts - with: - 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' + # lint: + # # long timeout required when cache has to be recreated + # timeout-minutes: 30 + # name: "Lint" + # 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: lint + # - uses: ./.github/actions/download-cache-and-artifacts + # with: + # packages: 'node_modules' + # persistent-packages: 'nxcache' + # - run: nx affected --target=lint $NX_CALCULATION_FLAGS + # - uses: ./.github/actions/upload-cache-and-artifacts + # with: + # 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: - timeout-minutes: 20 - name: "e2e: storybook" - needs: [build-libs, lint, unit-tests] - runs-on: ubuntu-22.04 - 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: Process Cloud Storybook Playwright - run: | - npx playwright install chromium - sudo sysctl -w fs.inotify.max_user_watches=524288 - npx nx affected --target=e2e-playwright $NX_CALCULATION_FLAGS || exit 1 +# e2e-storybook: +# timeout-minutes: 20 +# name: "e2e: storybook" +# needs: [build-libs, lint, unit-tests] +# runs-on: ubuntu-22.04 +# 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: Process Cloud Storybook Playwright +# run: | +# npx playwright install chromium +# sudo sysctl -w fs.inotify.max_user_watches=524288 +# npx nx affected --target=e2e-playwright $NX_CALCULATION_FLAGS || exit 1 - e2e: - timeout-minutes: 90 - name: "e2e: ${{ matrix.e2e-test.description }}" - needs: [build-libs, lint, unit-tests] - runs-on: ubuntu-22.04 - strategy: - fail-fast: false - # max-parallel: 4 - matrix: - e2e-test: - - description: "Core" - test-id: "core" - folder: "core" - provider: "ALL" - auth: "OAUTH" - check-cs-env: "true" - check-ps-env: "true" - - description: "Content: Components" - test-id: "content-services" - folder: "content-services/components" - provider: "ECM" - auth: "BASIC" - 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" +# e2e: +# timeout-minutes: 90 +# name: "e2e: ${{ matrix.e2e-test.description }}" +# needs: [build-libs, lint, unit-tests] +# runs-on: ubuntu-22.04 +# strategy: +# fail-fast: false +# # max-parallel: 4 +# matrix: +# e2e-test: +# - description: "Core" +# test-id: "core" +# folder: "core" +# provider: "ALL" +# auth: "OAUTH" +# check-cs-env: "true" +# check-ps-env: "true" +# - description: "Content: Components" +# test-id: "content-services" +# folder: "content-services/components" +# provider: "ECM" +# auth: "BASIC" +# 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: - - 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 }} -# +# 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 }} +# #