53 lines
1.3 KiB
YAML
53 lines
1.3 KiB
YAML
name: Format validation
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- '*'
|
|
- '!rc/*'
|
|
paths:
|
|
- 'test/writer.jats_articleauthoring'
|
|
- 'test/writer.jats_publishing'
|
|
- 'test/writer.jats_archiving'
|
|
pull_request:
|
|
branches:
|
|
- '*'
|
|
- '!rc/*'
|
|
paths:
|
|
- 'test/writer.jats_articleauthoring'
|
|
- 'test/writer.jats_publishing'
|
|
- 'test/writer.jats_archiving'
|
|
|
|
jobs:
|
|
jats:
|
|
name: JATS
|
|
runs-on: ubuntu-latest
|
|
env:
|
|
VALIDATOR_URL: "https://jats-validator.hubmed.org/dtd/"
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
tagset:
|
|
- articleauthoring
|
|
- publishing
|
|
- archiving
|
|
file:
|
|
- writer
|
|
# tables are not supported yet, the files contain only snippets.
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v2
|
|
|
|
- name: Validate
|
|
run: |
|
|
filename=test/${{ matrix.file }}.jats_${{ matrix.tagset }}
|
|
printf "Validating file %s\n" "$filename"
|
|
json="$(curl --form "xml=@${filename}" --silent "$VALIDATOR_URL")"
|
|
err_count="$(echo "$json" | jq '.errors | length')"
|
|
if [ "$err_count" -eq 0 ]; then
|
|
printf "File was validated successfully.\n"
|
|
exit 0
|
|
else
|
|
printf "Validator report:\n%s" "$json"
|
|
exit 1
|
|
fi
|