Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Composite Actions Tests #93

Closed
wants to merge 132 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
132 commits
Select commit Hold shift + click to select a range
d99ffb8
ci(tests): add test fixtures and validations (garris#1533)
dgrebb Dec 31, 2023
2d1d41c
fix: remove errant newlines from fixtures
dgrebb Jan 1, 2024
b1426b0
style: log reports.json diffs in GitHub Actions summary
dgrebb Jan 1, 2024
9b0ad1e
wip: fixing smoke tests
dgrebb Jan 1, 2024
32044cc
wip: show full diff
dgrebb Jan 1, 2024
ea70a0c
wip: set results to var and echo in both pass and fail summary
dgrebb Jan 1, 2024
f5d468e
wip: remove extra playwright install shenanigans
dgrebb Jan 1, 2024
f2d18e1
wip: remove errant quote
dgrebb Jan 1, 2024
5fec75f
wip: try set +e to avoid step failure but fail nonetheless
dgrebb Jan 2, 2024
6e864d6
wip: do not silence any diff output
dgrebb Jan 2, 2024
96fd517
wip: ignore all of the diff object and add better formatting
dgrebb Jan 2, 2024
697ff15
wip: fail in a separate step to allow summary before exit
dgrebb Jan 2, 2024
05ec530
wip: remove github_env output
dgrebb Jan 3, 2024
c56ff34
wip: use `steps.validate.outcome` instead of `failure()`
dgrebb Jan 3, 2024
b5492b4
wip: use new lines
dgrebb Jan 3, 2024
3a5d78c
wip: remofve code block
dgrebb Jan 3, 2024
1504917
wip: set diff to var to prevent exit 1
dgrebb Jan 3, 2024
31a923f
wip: set +x
dgrebb Jan 3, 2024
f525cb3
wip: set -e after +e
dgrebb Jan 3, 2024
0aeb93f
wip: use single quotes for backticks
dgrebb Jan 3, 2024
affd9d1
wip: wrong line
dgrebb Jan 3, 2024
0b78d50
wip: try removing set +e
dgrebb Jan 3, 2024
51eb6f1
wip: separate summary into its own step
dgrebb Jan 3, 2024
db3d516
wip: RESULT already set
dgrebb Jan 3, 2024
440f3d3
wip: use output as var immediateily
dgrebb Jan 3, 2024
90b4e3e
wip: again
dgrebb Jan 3, 2024
dc55e14
again
dgrebb Jan 3, 2024
db11270
yep
dgrebb Jan 3, 2024
78ff8f2
try this
dgrebb Jan 3, 2024
2acb843
wip: add both integration test files in fixture
dgrebb Jan 3, 2024
dc8899c
wip: separate integration tests and use wildcards
dgrebb Jan 3, 2024
4556b70
use two stars?
dgrebb Jan 3, 2024
7da28ea
move tests
dgrebb Jan 3, 2024
4877066
wip: refactor command
dgrebb Jan 3, 2024
b38495f
if result is nothing, because two files
dgrebb Jan 3, 2024
806f0d3
add smoke test
dgrebb Jan 3, 2024
ed2bf8f
check for empty in integration test
dgrebb Jan 3, 2024
87bfa67
gotsta set continue-on-error
dgrebb Jan 3, 2024
4e27d8f
wip: only compare keys
dgrebb Jan 3, 2024
bd9b929
wip: set all properties to empty string
dgrebb Jan 4, 2024
d04532f
wip: remove diff object to avoid property differences
dgrebb Jan 5, 2024
545702f
wip: update sanity-test with new jq comparison pattern
dgrebb Jan 5, 2024
e8b2337
wip: updates remaining tests with new jq pattern
dgrebb Jan 5, 2024
eb29f77
wip: add property sort and echo real diff to summary on fail
dgrebb Jan 5, 2024
c148892
wip: use quotes to keep formatting
dgrebb Jan 5, 2024
5e9a5ca
wip: extend integration test to display full diff
dgrebb Jan 14, 2024
4e49911
wip: add summary/details expand/collapse for full diff
dgrebb Jan 14, 2024
11c7577
wip: update integration test fixtures
dgrebb Jan 15, 2024
e2450ef
wip: add var to echo rows
dgrebb Jan 15, 2024
aae54a5
wip: add linebreaks between markdown and markup
dgrebb Jan 15, 2024
98f45fc
wip: specifically test reference and test report based on date direct…
dgrebb Jan 15, 2024
b1e9049
wip: only test test results - not reference
dgrebb Jan 15, 2024
84d6022
wip: remove linebreaks
dgrebb Jan 15, 2024
dfe4f30
only test integration test result and skip reference report
dgrebb Jan 15, 2024
48465ba
wip: again
dgrebb Jan 15, 2024
0e8d202
wip: quote
dgrebb Jan 15, 2024
c43ca2e
wip: closing if
dgrebb Jan 15, 2024
ff2e1dd
wip: add paragraph
dgrebb Jan 15, 2024
859d88b
wip: final layout for integration workflow
dgrebb Jan 15, 2024
b6a4cd9
wip: add full diff to sanity test
dgrebb Jan 15, 2024
1a273f8
wip: updates smoke and sanity
dgrebb Jan 15, 2024
d721183
wip: sanity broken
dgrebb Jan 15, 2024
ad128b0
wip: update sanity check
dgrebb Jan 15, 2024
99453aa
wip: integration test was not correct
dgrebb Jan 15, 2024
7e9c97b
wip: break test
dgrebb Jan 15, 2024
eafa30e
wip: set diff to var before github env
dgrebb Jan 15, 2024
ef714ff
add the diff proeprty back to report object
dgrebb Jan 15, 2024
0603ca4
apply the same to sanity
dgrebb Jan 15, 2024
3a375a0
wip: updates sanity with var/echo to env pattern
dgrebb Jan 15, 2024
1faa5e7
fix syntax
dgrebb Jan 15, 2024
bea3364
simplify conditional only test if diff is not empty
dgrebb Jan 15, 2024
9cee6f3
intentionally break test command
dgrebb Jan 15, 2024
b511931
wrap var in quotes
dgrebb Jan 15, 2024
5d381b4
fixes intentionally broken test command
dgrebb Jan 15, 2024
22962d4
change check workflow names
dgrebb Jan 15, 2024
cf514c3
fix test
dgrebb Jan 15, 2024
4a78ef5
reformat smoke test
dgrebb Jan 15, 2024
23081e5
fix jq filter for smoke
dgrebb Jan 15, 2024
5048247
echo the var not a new diff
dgrebb Jan 15, 2024
3ddeb42
update smoek test
dgrebb Jan 15, 2024
bf62dfd
remove diffImage from smoketests
dgrebb Jan 15, 2024
abf2f9a
try sorting smoke tests
dgrebb Jan 15, 2024
1ae314a
try removing diffimage removal
dgrebb Jan 15, 2024
328d9e3
remove diffImage
dgrebb Jan 15, 2024
a26ae31
apply logic to docker smoke tests
dgrebb Jan 15, 2024
dcb2311
remove diff removal
dgrebb Jan 15, 2024
eb5a523
set +e as well
dgrebb Jan 15, 2024
2757230
continue on error
dgrebb Jan 15, 2024
564635a
set +e for docker as well
dgrebb Jan 15, 2024
071f762
wip: use checkout-cache-install across workflows
dgrebb Jan 15, 2024
5947a19
wip: adjust to checkout before using composite action
dgrebb Jan 15, 2024
4f7dad7
wip: repush with change
dgrebb Jan 15, 2024
3a01c55
wip: double checkout party
dgrebb Jan 15, 2024
c520c06
wip: move actions into directories
dgrebb Jan 15, 2024
8fac186
wip: adds base setup action
dgrebb Jan 15, 2024
da80974
wip: add shell and wd
dgrebb Jan 15, 2024
bd5e80a
wip: inputs
dgrebb Jan 16, 2024
e9b1032
wip: removes checkout from base setup
dgrebb Jan 16, 2024
239ade1
wip: correct actions path
dgrebb Jan 16, 2024
1046c6b
wip: change path
dgrebb Jan 16, 2024
e308b7e
wip: correct outputs var
dgrebb Jan 16, 2024
b93484d
wip: remove unused tmate config
dgrebb Jan 16, 2024
5fa116d
wip: move setup node
dgrebb Jan 16, 2024
4b9d579
wip: more stuff
dgrebb Jan 16, 2024
02d4707
wip: change path after checkout
dgrebb Jan 16, 2024
216522f
wip: checkout in composite action
dgrebb Jan 16, 2024
a220279
wip: try to set directory
dgrebb Jan 16, 2024
0ca85d1
wip: use repo dir for clone
dgrebb Jan 16, 2024
bf931b9
wip: change order of workflow root steps
dgrebb Jan 16, 2024
a89ba4c
wip: use base actions dir
dgrebb Jan 16, 2024
e83335b
wip: update setup-node to use workspace root
dgrebb Jan 16, 2024
ab15391
wip: use in path
dgrebb Jan 16, 2024
fa292a1
wip: correct path
dgrebb Jan 16, 2024
bc15be0
wip: remove tmate
dgrebb Jan 16, 2024
72ac2d0
wip: pass in workspace root
dgrebb Jan 16, 2024
b9c21e3
wip: add description
dgrebb Jan 16, 2024
bd0c6b1
wip: use composites in smoke
dgrebb Jan 16, 2024
eafac73
wip: add playwright cache
dgrebb Jan 16, 2024
114ed00
wip: pass workspace dir to playwright cacher
dgrebb Jan 16, 2024
dbc826e
wip: get playwright version from correct dep
dgrebb Jan 16, 2024
247816e
wip: use latest if no version found for playwright
dgrebb Jan 16, 2024
c6c9e1a
wip: get version with jq
dgrebb Jan 16, 2024
6151dc3
wip: add sanity-test composite
dgrebb Jan 16, 2024
a161e9a
wip: add shell and cwd
dgrebb Jan 16, 2024
90fcc2f
wip: improve readability
dgrebb Jan 16, 2024
bf49750
wip: set up sanity docker check with composites
dgrebb Jan 16, 2024
954eac3
wip: use correct base
dgrebb Jan 16, 2024
f94894e
wip: paths
dgrebb Jan 16, 2024
470357d
wip: pass in GH token
dgrebb Jan 16, 2024
7e12f74
wip: pass in ghcr credentials
dgrebb Jan 16, 2024
424d314
wip: add smoke test composite
dgrebb Jan 16, 2024
df64663
wip: use inputs and shorten fixture vars
dgrebb Jan 16, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 38 additions & 0 deletions .github/actions/cache-playwright/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: "Install and Cache Playwright"
description: "Sets up a cache and/or installs Playwright and its binaries."

inputs:
WORKSPACE_ROOT:
description: "The workspace root."
required: true

runs:
using: "composite"
steps:
- name: Get installed Playwright version
shell: bash
working-directory: ${{ inputs.WORKSPACE_ROOT }}
id: playwright-version
run: echo "PLAYWRIGHT_VERSION=$(cat package.json | jq -r '.dependencies.playwright' || 'latest')" >> $GITHUB_ENV

- name: Cache playwright binaries
uses: actions/cache@v3
id: playwright-cache
with:
path: |
~/.cache/ms-playwright
key: ${{ runner.os }}-playwright-${{ env.PLAYWRIGHT_VERSION }}

- shell: bash
working-directory: ${{ inputs.WORKSPACE_ROOT }}
run: npm ci

- shell: bash
if: steps.playwright-cache.outputs.cache-hit != 'true'
working-directory: ${{ inputs.WORKSPACE_ROOT }}
run: npx playwright install --with-deps

- shell: bash
if: steps.playwright-cache.outputs.cache-hit != 'true'
working-directory: ${{ inputs.WORKSPACE_ROOT }}
run: npx playwright install-deps
40 changes: 40 additions & 0 deletions .github/actions/prepare-docker/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: "Pull & Prepare Docker Workflow"
description: "Sets name and tag, logs in to GHCR, and pulls Docker image."

inputs:
REGISTRY:
description: "GitHub Registry"
required: true
ACTOR:
description: "GitHub Username"
required: true
GITHUB_TOKEN:
description: "GitHub Token"
required: true

runs:
using: "composite"
steps:
- name: Set Name and Tag Vars
shell: bash
working-directory: ${{ steps.base.outputs.WORKSPACE_ROOT }}
env:
name: "${{ env.BRANCH_NAME }}"
run: |
echo "IMAGE_NAME_LC=${IMAGE_NAME,,}" >>${GITHUB_ENV}
echo "TAG=${name/\//-}" >> $GITHUB_ENV
echo "PV=$(cat package.json | jq -r '.version')" >> $GITHUB_ENV
echo "PLAYWRIGHT_VERSION=$(cat package.json | jq -r '.dependencies.playwright')" >> $GITHUB_ENV

- name: Log in to the Container registry
uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1
with:
registry: ${{ inputs.REGISTRY }}
username: ${{ inputs.ACTOR }}
password: ${{ inputs.GITHUB_TOKEN }}

- name: Pull Image
shell: bash
working-directory: ${{ steps.base.outputs.WORKSPACE_ROOT }}
run: |
docker pull $REGISTRY/$IMAGE_NAME_LC:$TAG
86 changes: 86 additions & 0 deletions .github/actions/sanity-test-checks/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
name: "Validate Sanity Report"
description: "Diff the sanity-test reports with a fixture and validate expected shape."

inputs:
WORKSPACE_ROOT:
description: "Working Directory"
required: true
RUNNER:
description: "Test Runner"
required: true
FIXTURE:
description: "Test Report Fixture"
required: true

runs:
using: "composite"
steps:
- name: "Validate ${{ inputs.RUNNER }} Report"
id: validate-report
continue-on-error: true
shell: bash
working-directory: ${{ inputs.WORKSPACE_ROOT }}
run: |
set +e
FIXTURE="test/__fixtures__/${{ inputs.FIXTURE }}"
TEST_RESULT=$(\
diff -c \
<(jq \
'walk(if type == "object" then with_entries(.value |= \
if type == "object" or type == "array" \
then . \
else \
"" \
end) \
else . \
end)' \
$FIXTURE) \
<(jq \
'walk(if type == "object" then with_entries(.value |= \
if type == "object" or type == "array" \
then . \
else \
"" \
end) \
else . \
end)' \
test/configs/backstop_data/bitmaps_test/**/report.json) \
)

echo "TEST_RESULT=$TEST_RESULT" >> $GITHUB_ENV
if [[ "$TEST_RESULT" != "" ]]; then
echo "# ❎ ${{ inputs.RUNNER }} Sanity Different" >> $GITHUB_STEP_SUMMARY
echo '```diff' >> $GITHUB_STEP_SUMMARY
echo "${TEST_RESULT}" >> $GITHUB_STEP_SUMMARY
echo '```' >> $GITHUB_STEP_SUMMARY
else
echo "# ✅ ${{ inputs.RUNNER }} Sanity Report Valid" >> $GITHUB_STEP_SUMMARY
fi

- name: "Full Sanity Report Diff"
id: diff
continue-on-error: true
shell: bash
working-directory: ${{ inputs.WORKSPACE_ROOT }}
run: |
set +e
FULL_TEST_DIFF=$(diff <(jq -S '.tests[]' $FIXTURE) <(jq -S '.tests[]' test/configs/backstop_data/bitmaps_test/**/report.json))
echo "## Unfiltered Diff" >> $GITHUB_STEP_SUMMARY
echo "<details>" >> $GITHUB_STEP_SUMMARY
echo "<summary>Expand Diff</summary>" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo '```diff' >> $GITHUB_STEP_SUMMARY
echo "${FULL_TEST_DIFF}" >> $GITHUB_STEP_SUMMARY
echo '```' >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "</details>" >> $GITHUB_STEP_SUMMARY

- name: "Report Validation Outcome"
shell: bash
working-directory: ${{ inputs.WORKSPACE_ROOT }}
run: |
if [[ "$TEST_RESULT" != "" ]]; then
exit 1
else
exit 0
fi
23 changes: 23 additions & 0 deletions .github/actions/setup-base/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: "Setup Base Workflow"
description: "Checks out the BackstopJS repo at the calling or current branch with shallow history. Pulls Docker image by branch tag. Installs dependencies. Optionally sets up interactive remote debug shell."

outputs:
WORKSPACE_ROOT:
description: "Export the root workspace for all workflows."
value: ${{ steps.workspace_root.outputs.WORKSPACE_ROOT }}

runs:
using: "composite"
steps:
- name: Set workspace root
id: workspace_root
shell: bash
run: |
WORKSPACE_ROOT=$GITHUB_WORKSPACE/repo
echo "WORKSPACE_ROOT=$WORKSPACE_ROOT" | tee -a $GITHUB_OUTPUT

- name: Checkout to workspace
shell: bash
run: |
git clone -b ${{ github.event.pull_request.head.sha || github.head_ref || github.ref_name || github.ref }} https://github.com/${{ github.repository }}.git ${{ steps.workspace_root.outputs.WORKSPACE_ROOT }}
ls ${{ steps.workspace_root.outputs.WORKSPACE_ROOT }}
22 changes: 22 additions & 0 deletions .github/actions/setup-node/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: "Setup Node and Dependencies"
description: "Sets up Node, npm caching, and installs dependencies"

inputs:
WORKSPACE_ROOT:
description: "The workspace root."
required: true

runs:
using: "composite"
steps:
- name: ⬢ Setup Node & Cache
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
cache: "npm"
cache-dependency-path: ${{ inputs.WORKSPACE_ROOT }}/package-lock.json

- name: ↧ Install
shell: bash
working-directory: ${{ inputs.WORKSPACE_ROOT }}
run: npm ci
93 changes: 93 additions & 0 deletions .github/actions/smoke-test-checks/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
name: "Validate Smoke Report"
description: "Diff the smoke-test reports with a fixture and validate expected shape."

inputs:
WORKSPACE_ROOT:
description: "Working Directory"
required: true
RUNNER:
description: "Test Runner"
required: true
FIXTURE:
description: "Test Report Fixture"
required: true

runs:
using: "composite"
steps:
- name: "Validate ${{ inputs.RUNNER }} Report"
id: validate
continue-on-error: true
shell: bash
working-directory: ${{ inputs.WORKSPACE_ROOT }}
run: |
set +e
FIXTURE="test/__fixtures__/${{ inputs.FIXTURE }}"
TEST_RESULT=$(\
diff -c \
<(jq \
'walk(if type == "object" then with_entries(.value |= \
if type == "object" or type == "array"
then . \
else \
"" \
end) \
else . \
end) | \
del(\
.tests[].pair.diff, \
.tests[].pair.diffImage \
)'\
$FIXTURE) \
<(jq \
'walk(if type == "object" then with_entries(.value |= \
if type == "object" or type == "array" \
then . \
else \
"" \
end) \
else . \
end) | \
del(\
.tests[].pair.diff, \
.tests[].pair.diffImage\
)' \
test/configs/backstop_data/bitmaps_test/**/report.json))

echo "TEST_RESULT=$TEST_RESULT" >> $GITHUB_ENV
if [[ "$TEST_RESULT" != "" ]]; then
echo "# ❎ ${{ inputs.RUNNER }} Report Different" >> $GITHUB_STEP_SUMMARY
echo '```diff' >> $GITHUB_STEP_SUMMARY
echo "$TEST_RESULT" >> $GITHUB_STEP_SUMMARY
echo '```'
else
echo "# ✅ ${{ inputs.RUNNER }} Report Validated" >> $GITHUB_STEP_SUMMARY
fi

- name: "Full Smoke Report Diff"
id: diff
continue-on-error: true
shell: bash
working-directory: ${{ inputs.WORKSPACE_ROOT }}
run: |
set +e
FULL_TEST_DIFF=$(diff <(jq -S '.tests[]' $FIXTURE) <(jq -S '.tests[]' test/configs/backstop_data/bitmaps_test/**/report.json))
echo "## Unfiltered Diff" >> $GITHUB_STEP_SUMMARY
echo "<details>" >> $GITHUB_STEP_SUMMARY
echo "<summary>Expand Diff</summary>" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo '```diff' >> $GITHUB_STEP_SUMMARY
echo "${FULL_TEST_DIFF}" >> $GITHUB_STEP_SUMMARY
echo '```' >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "</details>" >> $GITHUB_STEP_SUMMARY

- name: "Report Validation Outcome"
shell: bash
working-directory: ${{ inputs.WORKSPACE_ROOT }}
run: |
if [[ "$TEST_RESULT" != "" ]]; then
exit 1
else
exit 0
fi
57 changes: 47 additions & 10 deletions .github/workflows/backstop-integration-test.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Backstop Integration Tests
name: Integration Test Check

on:
workflow_dispatch:
Expand All @@ -14,7 +14,7 @@ env:

jobs:
integration:
name: 🧩 Integration
name: 🧩 Validate Integration Test Results
runs-on: ubuntu-latest
steps:
- name: Checkout
Expand All @@ -23,15 +23,52 @@ jobs:
fetch-depth: 1
ref: ${{ github.event.pull_request.head.sha || github.ref }}

- name: ⬢ Setup Node & Cache
uses: actions/setup-node@v4
with:
cache: "npm"
cache-dependency-path: package-lock.json

- name: ↧ Install
run: npm ci
- name: "Setup Node, npm Cache, and Install"
uses: ./.github/actions/setup-base

- name: "𓋏 Run `npm run integration-test`"
run: |
npm run integration-test

- name: "Validate Integration Test Results"
id: validate
continue-on-error: true
run: |
set +e
TEST_REPORT_DIR=$(ls -ltd integrationTestDir/backstop_data/bitmaps_test/*/ | grep '^d' | head -n 1 | awk '{print $NF}')
echo "TEST_REPORT_DIR=$TEST_REPORT_DIR" >> $GITHUB_ENV
TEST_RESULT=$(diff <(jq 'walk(if type == "object" then with_entries(.value |= if type == "object" or type == "array" then . else "" end) else . end)' test/__fixtures__/integration-test.json) <(jq 'walk(if type == "object" then with_entries(.value |= if type == "object" or type == "array" then . else "" end) else . end)' ${TEST_REPORT_DIR}report.json))
echo "TEST_RESULT=$TEST_RESULT" >> $GITHUB_ENV
if [[ "$TEST_RESULT" != "" ]]; then
echo "# ❎ Integration Test Report Shapes Differ:" >> $GITHUB_STEP_SUMMARY
echo "## Failing Diff" >> $GITHUB_STEP_SUMMARY
echo '```diff' >> $GITHUB_STEP_SUMMARY
echo "${TEST_RESULT}" >> $GITHUB_STEP_SUMMARY
echo '```' >> $GITHUB_STEP_SUMMARY
else
echo "# ✅ Integration Test Report Shapes Match" >> $GITHUB_STEP_SUMMARY
fi

- name: "Full Integration Test Diff"
id: diff
continue-on-error: true
run: |
set +e
FULL_TEST_DIFF=$(diff <(jq -S '.tests[]' test/__fixtures__/integration-test.json) <(jq -S '.tests[]' ${TEST_REPORT_DIR}report.json))
echo "## Unfiltered Diff" >> $GITHUB_STEP_SUMMARY
echo "<details>" >> $GITHUB_STEP_SUMMARY
echo "<summary>Expand Diff</summary>" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo '```diff' >> $GITHUB_STEP_SUMMARY
echo "${FULL_TEST_DIFF}" >> $GITHUB_STEP_SUMMARY
echo '```' >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "</details>" >> $GITHUB_STEP_SUMMARY

- name: "Test Results Validation Outcome"
run: |
if [[ "$TEST_RESULT" != "" ]]; then
exit 1
else
exit 0
fi
Loading
Loading