feat(config): Add workflow for the automatic config conversion #10
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Automatic conversion of application.yml to ors-config.yml | |
on: | |
pull_request: | |
branches: | |
- main | |
- releases/** | |
- feat/config-cleanup-finalize # for testing | |
types: [ edited, opened, ready_for_review, review_requested, reopened, closed, synchronize ] | |
workflow_dispatch: | |
jobs: | |
detect_config_change: | |
name: Detect and commit config changes | |
runs-on: ubuntu-latest | |
permissions: | |
contents: write | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.head_ref }} | |
- name: Check PR state is ready_for_review | |
run: | | |
if [ "${{ github.event_name }}" == "pull_request" ]; then | |
if [ "${{ github.event.pull_request.state }}" != "ready_for_review" ]; then | |
echo "Pull request is not ready for review, exiting" | |
exit 0 | |
fi | |
fi | |
- name: Convert application.yml to ors-config.yml | |
run: | | |
.github/utils/config_conversion.sh ors-api/src/main/resources/application.yml ors-api/ors-config.yml | |
- name: Check with git if ors-api/ors-config.yml has changed | |
id: git-check | |
run: | | |
# Don't fail on exit code 1 (diff found) | |
set +e | |
git diff --exit-code --name-only ors-api/ors-config.yml | |
exit_value=$? | |
echo Found exit code $exit_value | |
# Write out the exit code using environment file | |
if [ $exit_value == 1 ]; then | |
echo "config_has_changed=true" >> $GITHUB_ENV | |
fi | |
- uses: MichaelsJP/git-auto-commit-action@v5 | |
if: env.config_has_changed == 'true' | |
with: | |
commit_message: 'chore(config): automatic conversion of application.yml to ors-config.yml' |