Skip to content

Commit

Permalink
fix: fully version schema (#152)
Browse files Browse the repository at this point in the history
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
  • Loading branch information
toddbaert authored May 27, 2024
1 parent 13f1a83 commit 2c25b1d
Show file tree
Hide file tree
Showing 8 changed files with 30 additions and 13 deletions.
25 changes: 18 additions & 7 deletions .github/workflows/pr-checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ on:

permissions:
contents: read
contents: write

env:
GO_VERSION: 1.22
Expand Down Expand Up @@ -44,18 +45,20 @@ jobs:
with:
github_token: ${{ github.token }}
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@v4
# Run breaking change detection against the last commit
- uses: bufbuild/buf-breaking-action@v1
with:
input: protobuf
against: 'https://github.com/open-feature/schemas.git#branch=main,ref=HEAD~1,subdir=protobuf'


validate-schema:
validate-and-sync-schema:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.ref }}

# Use ajv to validate schema
- name: Setup node
Expand All @@ -72,9 +75,17 @@ jobs:
- name: Validate Schema
run: make test

# Ensure there is no diff when make gen-schema-json is run
- run: make gen-schema-json
- name: Check no diff
# Sync JSON schemas from YAML versions
- name: Sync JSON from YAML
run: |
if [ ! -z "$(git status --porcelain)" ]; then echo "JSON schema generation produced diff. Run 'make gen-schema-json' and commit results."; exit 1; fi
make gen-schema-json
if [ ! -z "$(git status --porcelain)" ]; then
echo "JSON schema generation produced diff, regenerating and committing result...";
git config --global user.name "validate-and-sync-schema-job"
git config --global user.email "bot@openfeature.dev"
git add json/*.json && git commit --amend --no-edit
git push
else
echo "No delta between YAML and JSON schemas, finishing..."
fi
3 changes: 2 additions & 1 deletion .github/workflows/release-please.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,9 @@ jobs:
id: release
with:
command: manifest
token: ${{secrets.GITHUB_TOKEN}}
token: ${{secrets.RELEASE_PLEASE_ACTION_TOKEN}}
default-branch: main
signoff: "OpenFeature Bot <109696520+openfeaturebot@users.noreply.github.com>"
outputs:
releases_created: ${{ steps.release.outputs.releases_created }}
# these are generated by release-please b/c this is in a manifest repo.
Expand Down
2 changes: 1 addition & 1 deletion json/flags.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"$id": "https://flagd.dev/schema/v0/flags.json",
"$id": "https://flagd.dev/schema/v0.2.5/flags.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "flagd Flag Configuration",
"description": "Defines flags for use in flagd, including typed variants and rules",
Expand Down
2 changes: 1 addition & 1 deletion json/flags.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
$id: "https://flagd.dev/schema/v0/flags.json"
$id: "https://flagd.dev/schema/v0.2.5/flags.json" # x-release-please-version
$schema: http://json-schema.org/draft-07/schema#
title: flagd Flag Configuration
description: Defines flags for use in flagd, including typed variants and rules
Expand Down
2 changes: 1 addition & 1 deletion json/targeting.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"$id": "https://flagd.dev/schema/v0/targeting.json",
"$id": "https://flagd.dev/schema/v0.2.5/targeting.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "flagd Targeting",
"description": "Defines targeting logic for flagd; a extension of JSONLogic, including purpose-built feature-flagging operations.",
Expand Down
2 changes: 1 addition & 1 deletion json/targeting.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
$id: "https://flagd.dev/schema/v0/targeting.json"
$id: "https://flagd.dev/schema/v0.2.5/targeting.json" # x-release-please-version
$schema: http://json-schema.org/draft-07/schema#
title: flagd Targeting
description: Defines targeting logic for flagd; a extension of JSONLogic, including
Expand Down
1 change: 1 addition & 0 deletions json/version.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
0.2.5
6 changes: 5 additions & 1 deletion release-please-config.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,11 @@
"release-type": "simple",
"prerelease": false,
"bump-minor-pre-major": true,
"bump-patch-for-minor-pre-major": true
"bump-patch-for-minor-pre-major": true,
"extra-files": [
"flags.yaml",
"targeting.yaml"
]
}
},
"changelog-sections": [
Expand Down

0 comments on commit 2c25b1d

Please sign in to comment.