diff options
author | Clement Tsang <34804052+ClementTsang@users.noreply.github.com> | 2024-02-04 06:26:24 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-04 06:26:24 -0500 |
commit | 0b92679e1656dd486654ff45de85c528e96d5b26 (patch) | |
tree | 7676365c72e29a120ccfe6eb07f35825ae637d58 /.github | |
parent | b6660610d02a88aeb23fbcda8378be67a85259e7 (diff) |
other: add v1 schema + versioning + tests (#1407)
* other: add v1.0 schema
* add tests, rename some files for consistency
Diffstat (limited to '.github')
-rw-r--r-- | .github/workflows/clear_workflow_cache.yml (renamed from .github/workflows/clear-workflow-cache.yml) | 0 | ||||
-rw-r--r-- | .github/workflows/post_release.yml (renamed from .github/workflows/post-release.yml) | 0 | ||||
-rw-r--r-- | .github/workflows/test_docs.yml (renamed from .github/workflows/test-docs.yml) | 2 | ||||
-rw-r--r-- | .github/workflows/validate_schema.yml | 56 |
4 files changed, 57 insertions, 1 deletions
diff --git a/.github/workflows/clear-workflow-cache.yml b/.github/workflows/clear_workflow_cache.yml index 6d6ca6c9..6d6ca6c9 100644 --- a/.github/workflows/clear-workflow-cache.yml +++ b/.github/workflows/clear_workflow_cache.yml diff --git a/.github/workflows/post-release.yml b/.github/workflows/post_release.yml index 5f1b0485..5f1b0485 100644 --- a/.github/workflows/post-release.yml +++ b/.github/workflows/post_release.yml diff --git a/.github/workflows/test-docs.yml b/.github/workflows/test_docs.yml index 128f6e48..c91b6389 100644 --- a/.github/workflows/test-docs.yml +++ b/.github/workflows/test_docs.yml @@ -19,7 +19,7 @@ jobs: uses: fkirc/skip-duplicate-actions@f75f66ce1886f00957d99748a42c724f4330bdcf # v5.3.1 with: skip_after_successful_duplicate: "true" - paths: '["docs/**", ".github/workflows/docs.yml", ".github/workflows/test-docs.yml"]' + paths: '["docs/**", ".github/workflows/docs.yml", ".github/workflows/test_docs.yml"]' do_not_skip: '["workflow_dispatch"]' test-build-documentation: diff --git a/.github/workflows/validate_schema.yml b/.github/workflows/validate_schema.yml new file mode 100644 index 00000000..d14d7f66 --- /dev/null +++ b/.github/workflows/validate_schema.yml @@ -0,0 +1,56 @@ +# Workflow to validate the latest schema. + +name: "validate schema" +on: + workflow_dispatch: + pull_request: + push: + branches: + - main + paths: + - "schema/**" + - ".github/workflows/validate_schema.yml" + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ github.event_name == 'pull_request' || github.repository != 'ClementTsang/bottom' }} + +jobs: + pre-job: + runs-on: ubuntu-latest + outputs: + should_skip: ${{ steps.skip_check.outputs.should_skip }} + steps: + - id: skip_check + uses: fkirc/skip-duplicate-actions@f75f66ce1886f00957d99748a42c724f4330bdcf # v5.3.1 + with: + skip_after_successful_duplicate: "true" + paths: '["schema/**", ".github/workflows/validate_schema.yml"]' + do_not_skip: '["workflow_dispatch"]' + + test-build-documentation: + name: Test validating schema + needs: pre-job + if: ${{ needs.pre-job.outputs.should_skip != 'true' }} + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + with: + fetch-depth: 0 + + - uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c # v5.0.0 + with: + python-version: 3.11 + + - name: Install Python dependencies + run: pip install -r scripts/schema/requirements.txt + + - name: Test nightly validates on valid sample configs + run: | + python3 scripts/schema/validator.py -s ./schema/nightly/bottom.json -f ./sample_configs/default_config.toml + python3 scripts/schema/validator.py -s ./schema/nightly/bottom.json -f ./sample_configs/demo_config.toml + + - name: Test nightly catches on a bad sample config + run: | + python3 scripts/schema/validator.py -s ./schema/nightly/bottom.json -f scripts/schema/bad_file.toml --should_fail |