From dfcb06bee5e0fd77e0d8e8229e84b724e6fef346 Mon Sep 17 00:00:00 2001 From: Pavel Ivanov Date: Mon, 10 Jun 2024 18:12:02 +0200 Subject: [PATCH] new: added configs and themes validation action --- .github/workflows/ci.yml | 26 +++++++++++++++++++------- schema/json/theme.schema.json | 1 - src/testing/assets/themes/test.yaml | 2 +- 3 files changed, 20 insertions(+), 9 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 461172c2..6f5b6c37 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,14 +16,17 @@ jobs: steps: - uses: actions/checkout@v4 - - name: Build - run: cargo build --verbose --benches --workspace - - - name: Run tests - run: cargo test --verbose --workspace + - name: Validate configs + uses: cardinalby/schema-validator-action@v3 + with: + file: 'etc/defaults/config*.yaml' + schema: 'schema/json/config.schema.json' - - name: Run executable - run: cargo run + - name: Validate themes + uses: cardinalby/schema-validator-action@v3 + with: + file: 'etc/defaults/themes/*.yaml|src/testing/assets/themes/*.yaml' + schema: 'schema/json/theme.schema.json' - name: Install latest nightly uses: actions-rs/toolchain@v1 @@ -33,3 +36,12 @@ jobs: - name: Check formatting run: cargo +nightly fmt --verbose --all --check + + - name: Build + run: cargo build --verbose --benches --workspace + + - name: Run tests + run: cargo test --verbose --workspace + + - name: Run executable + run: cargo run diff --git a/schema/json/theme.schema.json b/schema/json/theme.schema.json index 72e4e881..37b10405 100644 --- a/schema/json/theme.schema.json +++ b/schema/json/theme.schema.json @@ -1,6 +1,5 @@ { "$schema": "http://json-schema.org/draft-07/schema#", - "$id": "schema:theme", "$ref": "#/definitions/theme", "definitions": { "theme": { diff --git a/src/testing/assets/themes/test.yaml b/src/testing/assets/themes/test.yaml index c13bb405..369cf5b2 100644 --- a/src/testing/assets/themes/test.yaml +++ b/src/testing/assets/themes/test.yaml @@ -1,5 +1,5 @@ # yaml-language-server: $schema=../../../../schema/json/theme.schema.json -$schema: ../../../../schema/json/theme.schema.json +$schema: https://raw.githubusercontent.com/pamburus/hl/master/schema/json/theme.schema.json elements: input: