Skip to content

Commit

Permalink
Merge pull request #2103 from hidalgopl/sync-vcluster-config-schema-o…
Browse files Browse the repository at this point in the history
…n-release

sync values.schema.json only on the latest release
  • Loading branch information
FabianKramm authored Sep 3, 2024
2 parents 29efe25 + eeedbef commit 839ce57
Show file tree
Hide file tree
Showing 2 changed files with 68 additions and 1 deletion.
68 changes: 68 additions & 0 deletions .github/workflows/sync-config-schema.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
name: Sync Config Schema
on:
release:
types:
- published # this will run whenever a release (or pre-release is created)
- released # this will run when a (not-pre-)release is created or was changed from pre-release to a release
jobs:
sync:
runs-on: ubuntu-latest
outputs:
latest_release_tag: ${{ steps.release.outputs.latest_release }}
is_latest_release: ${{ steps.release.outputs.is_latest_release }}
steps:
- name: Checkout repo
uses: actions/checkout@v4

- name: Configure git
run: git config --global url.https://[email protected]/.insteadOf https://github.com/
env:
GH_ACCESS_TOKEN: ${{ secrets.GH_ACCESS_TOKEN }}

- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: go.mod

- name: Get release info
id: release
run: |
RELEASE_JSON=$(curl -s -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
"https://api.github.com/repos/${{ github.repository }}/releases/latest")
LATEST_RELEASE_NAME=$(echo "$RELEASE_JSON" | jq -r '.name')
IS_LATEST="false"
if [[ "${LATEST_RELEASE_NAME}" == "${{ github.event.release.tag_name }}" ]]; then
IS_LATEST="true"
fi
echo "Latest release name: $LATEST_RELEASE_NAME"
echo "Is latest release: $IS_LATEST"
echo "latest_release=$LATEST_RELEASE_NAME" >> "$GITHUB_OUTPUT"
echo "is_latest_release=$IS_LATEST" >> "$GITHUB_OUTPUT"
- name: Clone and update
if: ${{ steps.release.outputs.is_latest_release == 'true' }}
run: |
git clone --single-branch https://github.com/loft-sh/vcluster-config.git
# copy generated schema from vcluster chart values to vcluster-config
cp chart/values.schema.json vcluster-config/values.schema.json
cd vcluster-config
git add --all
# if there are no changes, exit early
if git diff-index --quiet HEAD --; then
exit 0
fi
# set git info
git config --global user.name "Loft Bot"
git config --global user.email '[email protected]'
echo "Changes detected"
# commit changes
git commit -m "chore: sync vCluster config schema"
git push -u origin -f main
echo "Pushed commit to main branch"
1 change: 0 additions & 1 deletion .github/workflows/sync-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@ jobs:
git clone --single-branch https://github.com/loft-sh/vcluster-config.git
cp -R config/. vcluster-config/config/
cp chart/values.schema.json vcluster-config/values.schema.json
cd vcluster-config
Expand Down

0 comments on commit 839ce57

Please sign in to comment.