dependabot[bot] 88c618023a chore(deps): bump actions/checkout from 4.1.7 to 4.2.0
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.7 to 4.2.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4.1.7...v4.2.0)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-26 07:39:48 +02:00

91 lines
3.2 KiB
YAML

name: Conformance test harness
on:
workflow_call:
inputs:
version:
type: string
required: false
default: latest
description: Version of the Conformance Test Harness that has to be tested against
branch:
type: string
required: false
description: branch to run tests against (used for matrix strategy)
ignore_failures:
type: boolean
default: false
description: Return succes even if there are failures?
required: false
workflow_dispatch:
inputs:
version:
type: string
required: false
default: latest
description: Version of the Conformance Test Harness that has to be tested against.
ignore_failures:
type: boolean
default: false
description: Return succes even if there are failures?
required: false
jobs:
# Run the Conformance Test Harness and upload output as artifacts to GitHub
conformance:
continue-on-error: ${{ inputs.ignore_failures }}
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: Use Node.js 16.x
uses: actions/setup-node@v4
with:
node-version: 16.x
- name: Check out the project
uses: actions/checkout@v4.2.0
with:
ref: ${{ inputs.branch || github.ref }}
- name: Install dependencies and run build scripts
run: npm ci
- name: Start the server in the background
run: npm start > server-output.log &
- name: Create the necessary folders
run: mkdir -p reports/css
- name: Pull the conformance harness docker
run: 'docker pull solidproject/conformance-test-harness:${{ inputs.version }}'
- name: Wait until the server has started
run: >
curl --output /dev/null --silent --head --fail --retry 30
--retry-connrefused --retry-delay 0 -k http://localhost:3000/
- name: Create users
run: npx ts-node test/deploy/createAccountCredentials.ts http://localhost:3000/ >> test/deploy/conformance.env
- name: Run the test harness
run: >
docker run -i --rm
-v "$(pwd)"/reports/css:/reports
--env-file=./test/deploy/conformance.env
--network="host"
solidproject/conformance-test-harness:${{ inputs.version }}
--skip-teardown
--output=/reports
--target=https://github.com/solid/conformance-test-harness/css
# Steps below use `always()` to make sure logs get uploaded in case the CTH errors
- name: Sanitize branch name for artifact upload
id: sanitize
if: always()
uses: yeouchien/sanitize-branch-name-action@v1
with:
branch-name: ${{ inputs.branch || github.head_ref }}
- name: Save the reports
if: always()
uses: actions/upload-artifact@v4
with:
name: ${{ steps.sanitize.outputs.sanitized-branch-name }} reports
path: reports
- name: Save the server output
if: always()
uses: actions/upload-artifact@v4
with:
name: ${{ steps.sanitize.outputs.sanitized-branch-name }} server output
path: server-output.log