Skip to content

Commit

Permalink
Conditionally run schema validation
Browse files Browse the repository at this point in the history
  • Loading branch information
manami-project committed May 1, 2024
1 parent 64494bf commit e517b2c
Showing 1 changed file with 43 additions and 26 deletions.
69 changes: 43 additions & 26 deletions .github/workflows/json_lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,43 +12,60 @@ on:
- '.github/CONTRIBUTING.md'

jobs:
build:
checkout:
runs-on: ubuntu-latest
steps:
steps:
- uses: actions/checkout@v4
lint:
needs: checkout
runs-on: ubuntu-latest
steps:
- name: Setup node environment
uses: actions/setup-node@v4
with:
node-version: '16'
- name: Install jsonlint
run: npm install jsonlint -g
- name: Check anime-offline-database.json
run: jsonlint -q anime-offline-database.json
- name: Check anime-offline-database-minified.json
run: jsonlint -q anime-offline-database-minified.json
- name: Check dead-entries for anidb.json
run: jsonlint -q dead-entries/anidb.json
- name: Check dead-entries for anidb-minified.json
run: jsonlint -q dead-entries/anidb-minified.json
- name: Check dead-entries for anilist.json
run: jsonlint -q dead-entries/anilist.json
- name: Check dead-entries for anilist-minified.json
run: jsonlint -q dead-entries/anilist-minified.json
- name: Check dead-entries for kitsu.json
run: jsonlint -q dead-entries/kitsu.json
- name: Check dead-entries for kitsu-minified.json
run: jsonlint -q dead-entries/kitsu-minified.json
- name: Check dead-entries for myanimelist.json
run: jsonlint -q dead-entries/myanimelist.json
- name: Check dead-entries for myanimelist-minified.json
run: jsonlint -q dead-entries/myanimelist-minified.json
node-version: '20'
- name: Install jsonlint-cli
run: npm install jsonlint-cli -g
- name: Lint dataset
run: jsonlint-cli -q *.json
- name: Lint dead-entries
run: jsonlint -q dead-entries/*.json
check-commit-message:
needs: checkout
runs-on: ubuntu-latest
steps:
- name: Check commit message
id: check_message
run: |
MESSAGE=$(git log --format=%B -n 1 ${{ github.event.after }})
if [[ "$MESSAGE" == "Updated entries"* ]]; then
echo "::set-output name=run_schema_validation::true"
else
echo "::set-output name=run_schema_validation::false"
fi
outputs:
run_job: ${{ steps.check_message.outputs.run_schema_validation }}
dataset-validation:
needs:
- checkout
- check-commit-message
runs-on: ubuntu-latest
steps:
- name: Validate dataset using JSON schema
if: needs.check-commit-message.outputs.run_schema_validation == 'true'
uses: cardinalby/schema-validator-action@v3
with:
file: 'anime-offline-database.json|anime-offline-database-minified.json'
schema: 'schema.json'
dead-entries-validation:
needs:
- checkout
- check-commit-message
runs-on: ubuntu-latest
steps:
- name: Validate dead-entries files using JSON schema
if: needs.check-commit-message.outputs.run_schema_validation == 'true'
uses: cardinalby/schema-validator-action@v3
with:
file: 'dead-entries/anidb.json|dead-entries/anidb-minified.json|dead-entries/anilist.json|dead-entries/anilist-minified.json|dead-entries/kitsu.json|dead-entries/kitsu-minified.json|dead-entries/myanimelist.json|dead-entries/myanimelist-minified.json'
schema: 'dead-entries/schema.json'
schema: 'dead-entries/schema.json'

0 comments on commit e517b2c

Please sign in to comment.