mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-05-26 17:24:56 +00:00
[AAE-13200] - Fix GH workflow e2e not affected when testing lib is modified (#8448)
* [AAE-13200] - Fix e2e not affected when testing lib is modified * Fix workflow * Fix workflow output vars
This commit is contained in:
parent
913a117723
commit
5ddd039832
10
.github/actions/e2e/action.yml
vendored
10
.github/actions/e2e/action.yml
vendored
@ -38,6 +38,10 @@ inputs:
|
|||||||
apa-proxy: #
|
apa-proxy: #
|
||||||
description: "proxy host"
|
description: "proxy host"
|
||||||
required: true
|
required: true
|
||||||
|
deps:
|
||||||
|
description: "Library dependencies"
|
||||||
|
required: false
|
||||||
|
default: ""
|
||||||
|
|
||||||
runs:
|
runs:
|
||||||
using: "composite"
|
using: "composite"
|
||||||
@ -121,6 +125,7 @@ runs:
|
|||||||
PROVIDER: "${{ inputs.e2e-test-provider }}"
|
PROVIDER: "${{ inputs.e2e-test-provider }}"
|
||||||
AUTH_TYPE: "${{ inputs.e2e-test-auth }}"
|
AUTH_TYPE: "${{ inputs.e2e-test-auth }}"
|
||||||
E2E_TEST_ID: "${{ inputs.e2e-test-id }}"
|
E2E_TEST_ID: "${{ inputs.e2e-test-id }}"
|
||||||
|
DEPS: "${{ inputs.deps }}"
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
set -u;
|
set -u;
|
||||||
@ -134,6 +139,7 @@ runs:
|
|||||||
PROVIDER: "${{ inputs.e2e-test-provider }}"
|
PROVIDER: "${{ inputs.e2e-test-provider }}"
|
||||||
AUTH_TYPE: "${{ inputs.e2e-test-auth }}"
|
AUTH_TYPE: "${{ inputs.e2e-test-auth }}"
|
||||||
E2E_TEST_ID: "${{ inputs.e2e-test-id }}"
|
E2E_TEST_ID: "${{ inputs.e2e-test-id }}"
|
||||||
|
DEPS: "${{ inputs.deps }}"
|
||||||
|
|
||||||
uses: nick-fields/retry@v2.8.2
|
uses: nick-fields/retry@v2.8.2
|
||||||
with:
|
with:
|
||||||
@ -149,9 +155,9 @@ runs:
|
|||||||
export DISPLAY=:99
|
export DISPLAY=:99
|
||||||
chromedriver --url-base=/wd/hub &
|
chromedriver --url-base=/wd/hub &
|
||||||
sudo Xvfb -ac :99 -screen 0 1280x1024x24 > /dev/null 2>&1 & # optional
|
sudo Xvfb -ac :99 -screen 0 1280x1024x24 > /dev/null 2>&1 & # optional
|
||||||
bash ./scripts/github/e2e/e2e.sh "$E2E_TEST_ID" "browser" || exit 1
|
bash ./scripts/github/e2e/e2e.sh "$E2E_TEST_ID" "$DEPS" "browser" || exit 1
|
||||||
else
|
else
|
||||||
bash ./scripts/github/e2e/e2e.sh "$E2E_TEST_ID" || exit 1
|
bash ./scripts/github/e2e/e2e.sh "$E2E_TEST_ID" "$DEPS" || exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
- name: upload artifacts on gh
|
- name: upload artifacts on gh
|
||||||
|
19
.github/workflows/pull-request.yml
vendored
19
.github/workflows/pull-request.yml
vendored
@ -191,7 +191,7 @@ jobs:
|
|||||||
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
|
||||||
- name: install
|
- name: install
|
||||||
@ -302,42 +302,49 @@ jobs:
|
|||||||
auth: "OAUTH"
|
auth: "OAUTH"
|
||||||
check-cs-env: "true"
|
check-cs-env: "true"
|
||||||
check-ps-env: "true"
|
check-ps-env: "true"
|
||||||
|
deps: "testing"
|
||||||
- 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"
|
||||||
|
deps: "testing"
|
||||||
- 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"
|
||||||
|
deps: "testing"
|
||||||
- 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"
|
||||||
|
deps: "testing"
|
||||||
- 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"
|
||||||
|
deps: "testing"
|
||||||
- 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"
|
||||||
|
deps: "testing"
|
||||||
- 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"
|
||||||
|
deps: "testing"
|
||||||
- description: "Process: Form"
|
- description: "Process: Form"
|
||||||
test-id: "process-services"
|
test-id: "process-services"
|
||||||
folder: "process-services/form"
|
folder: "process-services/form"
|
||||||
@ -345,6 +352,7 @@ jobs:
|
|||||||
auth: "OAUTH"
|
auth: "OAUTH"
|
||||||
check-ps-env: "true"
|
check-ps-env: "true"
|
||||||
check-external-cs-env: "true"
|
check-external-cs-env: "true"
|
||||||
|
deps: "testing"
|
||||||
- description: "Process: Process"
|
- description: "Process: Process"
|
||||||
test-id: "process-services"
|
test-id: "process-services"
|
||||||
folder: "process-services/process"
|
folder: "process-services/process"
|
||||||
@ -352,6 +360,7 @@ jobs:
|
|||||||
auth: "OAUTH"
|
auth: "OAUTH"
|
||||||
check-ps-env: "true"
|
check-ps-env: "true"
|
||||||
check-external-cs-env: "true"
|
check-external-cs-env: "true"
|
||||||
|
deps: "testing"
|
||||||
- description: "Process: Tasks"
|
- description: "Process: Tasks"
|
||||||
test-id: "process-services"
|
test-id: "process-services"
|
||||||
folder: "process-services/tasks"
|
folder: "process-services/tasks"
|
||||||
@ -359,6 +368,7 @@ jobs:
|
|||||||
auth: "OAUTH"
|
auth: "OAUTH"
|
||||||
check-ps-env: "true"
|
check-ps-env: "true"
|
||||||
check-external-cs-env: "true"
|
check-external-cs-env: "true"
|
||||||
|
deps: "testing"
|
||||||
- description: "Process: Widget"
|
- description: "Process: Widget"
|
||||||
test-id: "process-services"
|
test-id: "process-services"
|
||||||
folder: "process-services/widgets"
|
folder: "process-services/widgets"
|
||||||
@ -366,6 +376,7 @@ jobs:
|
|||||||
auth: "OAUTH"
|
auth: "OAUTH"
|
||||||
check-ps-env: "true"
|
check-ps-env: "true"
|
||||||
check-external-cs-env: "true"
|
check-external-cs-env: "true"
|
||||||
|
deps: "testing"
|
||||||
- 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"
|
||||||
@ -374,6 +385,7 @@ jobs:
|
|||||||
apa-proxy: true
|
apa-proxy: true
|
||||||
check-cs-env: "true"
|
check-cs-env: "true"
|
||||||
check-ps-cloud-env: "true"
|
check-ps-cloud-env: "true"
|
||||||
|
deps: "testing"
|
||||||
- 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"
|
||||||
@ -382,6 +394,7 @@ jobs:
|
|||||||
apa-proxy: true
|
apa-proxy: true
|
||||||
check-cs-env: "true"
|
check-cs-env: "true"
|
||||||
check-ps-cloud-env: "true"
|
check-ps-cloud-env: "true"
|
||||||
|
deps: "testing"
|
||||||
- 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"
|
||||||
@ -390,6 +403,7 @@ jobs:
|
|||||||
apa-proxy: true
|
apa-proxy: true
|
||||||
check-cs-env: "true"
|
check-cs-env: "true"
|
||||||
check-ps-cloud-env: "true"
|
check-ps-cloud-env: "true"
|
||||||
|
deps: "testing"
|
||||||
- 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"
|
||||||
@ -398,6 +412,7 @@ jobs:
|
|||||||
apa-proxy: true
|
apa-proxy: true
|
||||||
check-cs-env: "true"
|
check-cs-env: "true"
|
||||||
check-ps-cloud-env: "true"
|
check-ps-cloud-env: "true"
|
||||||
|
deps: "testing"
|
||||||
- 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"
|
||||||
@ -406,6 +421,7 @@ jobs:
|
|||||||
apa-proxy: true
|
apa-proxy: true
|
||||||
check-cs-env: "true"
|
check-cs-env: "true"
|
||||||
check-ps-cloud-env: "true"
|
check-ps-cloud-env: "true"
|
||||||
|
deps: "testing"
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
@ -431,6 +447,7 @@ jobs:
|
|||||||
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 }}
|
||||||
|
deps: ${{ matrix.e2e-test.deps }}
|
||||||
|
|
||||||
finalize:
|
finalize:
|
||||||
if: ${{ always() }}
|
if: ${{ always() }}
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
set -e
|
set -e
|
||||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||||
verifyLib=$1;
|
verifyLib=$1;
|
||||||
|
deps=$2;
|
||||||
cd $DIR/../../
|
cd $DIR/../../
|
||||||
|
|
||||||
if [ "${GITHUB_EVENT_NAME}" == "schedule" ]; then
|
if [ "${GITHUB_EVENT_NAME}" == "schedule" ]; then
|
||||||
@ -9,13 +10,27 @@ if [ "${GITHUB_EVENT_NAME}" == "schedule" ]; then
|
|||||||
echo true
|
echo true
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
isAffected=false
|
||||||
AFFECTED_LIBS=$(npx nx print-affected --type=lib --select=projects ${NX_CALCULATION_FLAGS} --plain)
|
AFFECTED_LIBS=$(npx nx print-affected --type=lib --select=projects ${NX_CALCULATION_FLAGS} --plain)
|
||||||
#echo "Verify if affected build contains $1"
|
#echo "Verify if affected build contains $1"
|
||||||
#echo "Affected libs:$AFFECTED_LIBS"
|
#echo "Affected libs:$AFFECTED_LIBS"
|
||||||
if [[ $AFFECTED_LIBS =~ $verifyLib ]]; then
|
if [[ $AFFECTED_LIBS =~ $verifyLib ]]; then
|
||||||
#echo "Yep project:$verifyLib is affected carry on"
|
#echo "Yep project:$verifyLib is affected carry on"
|
||||||
echo true
|
isAffected=true
|
||||||
else
|
|
||||||
#echo "Nope project NOT affected save time"
|
|
||||||
echo false
|
|
||||||
fi;
|
fi;
|
||||||
|
|
||||||
|
if [[ $isAffected == false ]]; then
|
||||||
|
# echo "Read the deps as array"
|
||||||
|
IFS=',' read -ra depsArray <<< "$deps"
|
||||||
|
|
||||||
|
#echo "Loop through the deps to check if they are affected"
|
||||||
|
for i in "${depsArray[@]}"
|
||||||
|
do
|
||||||
|
if [[ $AFFECTED_LIBS =~ $i ]]; then
|
||||||
|
isAffected=true;
|
||||||
|
break
|
||||||
|
fi;
|
||||||
|
done;
|
||||||
|
fi;
|
||||||
|
|
||||||
|
echo $isAffected;
|
||||||
|
@ -7,21 +7,22 @@ cd $DIR/../../../
|
|||||||
|
|
||||||
BASE_DIRECTORY=$(echo "$FOLDER" | cut -d "/" -f1)
|
BASE_DIRECTORY=$(echo "$FOLDER" | cut -d "/" -f1)
|
||||||
verifyLib=$1;
|
verifyLib=$1;
|
||||||
|
deps=$2;
|
||||||
REGEX="(repository|workflow)_dispatch"
|
REGEX="(repository|workflow)_dispatch"
|
||||||
|
|
||||||
# set test-e2e params
|
# set test-e2e params
|
||||||
if [ -n "$2" ]; then
|
if [ -n "$3" ]; then
|
||||||
e2eParams="--$2"
|
e2eParams="--$3"
|
||||||
else
|
else
|
||||||
e2eParams=""
|
e2eParams=""
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Step1 - Verify if affected libs contains $verifyLib"
|
echo "Step1 - Verify if affected libs contains $verifyLib or if deps $deps are affected"
|
||||||
|
|
||||||
AFFECTED_LIB=$(./scripts/github/affected-contains.sh $verifyLib )
|
AFFECTED_LIB=$(./scripts/github/affected-contains.sh $verifyLib $deps)
|
||||||
|
|
||||||
if [ ${AFFECTED_LIB} == true ]; then
|
if [ ${AFFECTED_LIB} == true ]; then
|
||||||
echo "Step2 - $verifyLib affected... will execute e2e"
|
echo "Step2 - $verifyLib OR deps $deps affected... will execute e2e"
|
||||||
|
|
||||||
if [ "${GITHUB_EVENT_NAME}" == "pull_request" ]; then
|
if [ "${GITHUB_EVENT_NAME}" == "pull_request" ]; then
|
||||||
echo "Calculate affected e2e $BASE_HASH $HEAD_HASH"
|
echo "Calculate affected e2e $BASE_HASH $HEAD_HASH"
|
||||||
@ -54,6 +55,6 @@ if [ ${AFFECTED_LIB} == true ]; then
|
|||||||
fi;
|
fi;
|
||||||
|
|
||||||
else
|
else
|
||||||
echo "Step2 - Lib $verifyLib NOT affected. No need to run e2e"
|
echo "Step2 - Lib $verifyLib OR deps $deps NOT affected. No need to run e2e"
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
Loading…
x
Reference in New Issue
Block a user