[ACA-4652] Run unit tests as one GH job, add e2es as GH job (#2997)

* [ACA-4652] Run unit tests as one GH job, add e2es as GH job

* [ACA-4652] Fix yaml syntax

* [ACA-4652] Fix if syntax

* [ACA-4652] Correct syntax

* [ACA-4652] Correct syntax

* [ACA-4652] Each job must contain uses or run

* [ACA-4652] Migrate uploading/downloading build artifacts, migrate before install

* [ACA-4652] Fix bad substitution

* [ACA-4652] Fix string merging in bash

* [ACA-4652] Bash fix

* [ACA-4652] Install aws before downloading/uploading artifacts

* [ACA-4652] Add setup with aws config action

* [ACA-4652] Add aws-region

* [ACA-4652] Use aws default region

* [ACA-4652] Log github event

* [ACA-4652] Log workflow run

* [ACA-4652] Fix commit logging

* [ACA-4652] Use action to get current commit msg

* [ACA-4652] Add correct version of build tools

* [ACA-4652] Get commit msg from env

* [ACA-4652] Get commit msg in the same job

* [ACA-4652] Final commit msg test

* [ACA-4652] Fix logging

* [ACA-4652] Cleanup commit msg, correct s3 bucket

* [link-adf:AAE-12767] Test adf linking

* [link-adf:AAE-12767] Test adf linking finalize

* [link-adf:AAE-12767] Tweak finalize job

* [link-adf:AAE-12767] Get commit msg in before install

* [link-adf:AAE-12767] Add missing adfprod configs

* [ACA-4652] Migrate before and after e2e scripts to GHA

* [ACA-4652] Add before e2e logging

* [ACA-4652] Use new GH secrets

* [ACA-4652] Remove logs, add envsub

* [ACA-4652] Install envsub globally

* [ACA-4652] Log replaced config

* [ACA-4652] Add missing env variable

* [ACA-4652] Add e2e run as GH action

* [ACA-4652] Remove logging, fix download path

* [ACA-4652] Disable protractor smartrunner artifact

* [ACA-4652] Install webdriver-manager

* [ACA-4652] Disable failing download on Travis, npm ci in before e2e

* [ACA-4652] Missing shell

* [ACA-4652] Restore artifact download

* [ACA-4652] Download smartrunner artifact only when present

* [ACA-4652] Check run attempt

* [ACA-4652] Correct attempt check

* [ACA-4652] Stop running e2es in Travis for now

* [ACA-4652] Run Travis e2es again, add test suite id

* [ACA-4652] Add test suite id to after e2e action

* [ACA-4652] Remove additional install

* [ACA-4652] CR fixes, remove some Travis config that is already migrated

* [ACA-4652] Cleanup setup leftover

* [ACA-4652] Propagate aws credentials

* [ACA-4652] Fix aws default region

* [ACA-4652] Misspelled variable fix

* [ACA-4652] Propagate aws region

* [ACA-4652] Rename PR workflow

* [ACA-4652] Download artifact only if bucket exists

* [ACA-4652] Run test even is aws bucket doesn't exist

* [ACA-4652] Fix aws download error

* [ACA-4652] Check if file exists before downloading

* [ACA-4652] Remove uploading/downloading e2e artifact after successful run

* [ACA-4652] Add missing check to finalize stage
This commit is contained in:
MichalKinas
2023-03-02 03:35:13 -05:00
committed by GitHub
parent b8594899c1
commit 01f7e3c287
15 changed files with 559 additions and 275 deletions
+68
View File
@@ -0,0 +1,68 @@
name: "Before e2e"
description: "Before e2e"
inputs:
from:
description: 'path to download the artifact'
required: true
type: string
to:
description: 'path to save artifact to'
required: true
type: string
id:
description: 'test suite id'
required: true
type: number
aws-access-key-id:
description: 'aws access key id'
required: true
type: string
aws-secret-access-key:
description: 'aws secret access key'
required: true
type: string
aws-region:
description: 'aws region'
required: true
type: string
runs:
using: "composite"
steps:
- name: Check content UP
shell: bash
run: ./node_modules/@alfresco/adf-cli/bin/adf-cli check-cs-env --host $APP_CONFIG_ECM_HOST -u $ADMIN_EMAIL -p $ADMIN_PASSWORD || exit 1
- name: Download artifacts
uses: ./.github/actions/download-job-artifact
with:
artifact: ${{ inputs.from }}
output: ${{ inputs.to }}
aws-access-key-id: ${{ inputs.aws-access-key-id }}
aws-secret-access-key: ${{ inputs.aws-secret-access-key }}
aws-region: ${{ inputs.aws-region }}
- name: Replace variables in app.config.json
shell: bash
run: |
npm install -g envsub
APP_CONFIG_FILE_PATH="${{ inputs.to }}/app.config.json"
EXTRA_ENV_SETTINGS=""
envsub $EXTRA_ENV_SETTINGS --all $APP_CONFIG_FILE_PATH $APP_CONFIG_FILE_PATH || exit 1
echo -n " \_ Validating replaced config file ... ";
$(npm bin)/ajv validate -s ./node_modules/@alfresco/adf-core/app.config.schema.json -d $APP_CONFIG_FILE_PATH --errors=text --verbose || exit 4
if grep -E -q '\$\{[A-Z0-9_]*\}' $APP_CONFIG_FILE_PATH; then
echo -e "\e[31m \_ ERROR: Variables are still present in the app.config.json file. Some of them might not have default value set.\e[0m";
exit 5;
fi
- name: Update webdriver-manager
shell: bash
run: |
npm install -g webdriver-manager
if [ "$CI" = "true" ]; then
export chrome=$(google-chrome --product-version)
echo "Updating wevdriver-manager with chromedriver: $chrome."
webdriver-manager update --gecko=false --versions.chrome=$chrome
else
echo "Updating wedriver-manager with latest chromedriver, be sure to use evergreen Chrome."
webdriver-manager update --gecko=false
fi