From 07e434850d4a1d84179a5e75791e60ca254a4f98 Mon Sep 17 00:00:00 2001 From: Albert Krewinkel Date: Fri, 30 Oct 2020 21:01:43 +0100 Subject: [PATCH] CI: validate JATS old-style writer test output --- .github/workflows/format-validation.yml | 47 +++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 .github/workflows/format-validation.yml diff --git a/.github/workflows/format-validation.yml b/.github/workflows/format-validation.yml new file mode 100644 index 000000000..5928d0376 --- /dev/null +++ b/.github/workflows/format-validation.yml @@ -0,0 +1,47 @@ +name: Format validation + +on: + push: + paths-ignore: + - '*' + - '!/test/writer.*' + - '!/test/tables.*' + pull_request: + paths-ignore: + - '*' + - '!/test/writer.*' + - '!/test/tables.*' + +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 }} + echo "$filename" + json="$(curl --form "xml=@${filename}" --silent "$VALIDATOR_URL")" + echo "$json" + err_count="$(echo "$json" | jq '.errors | length')" + if [ "$err_count" -eq 0 ]; then + exit 0 + else + printf "Validator report:\n%s" "$json" + exit 1 + fi