mirror of
https://github.com/CommunitySolidServer/CommunitySolidServer.git
synced 2024-10-03 14:55:10 +00:00
![dependabot[bot]](/assets/img/avatar_default.png)
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>
91 lines
3.2 KiB
YAML
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
|