superlint/.github/workflows/sync-scala-version.yaml

40 lines
1.4 KiB
YAML
Raw Normal View History

---
name: Sync scala format version between Dockerfile and config file
on:
pull_request:
paths:
- 'Dockerfile'
permissions:
contents: write
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
repository: ${{ github.event.pull_request.head.repo.full_name }}
ref: ${{ github.event.pull_request.head.ref }}
- name: Sync the version if the dockerfile is getting updated
shell: bash
run: |
scala_version_from_dockerfile=$(grep 'scalameta/scalafmt' Dockerfile | awk -F: '{print $2}' | awk '{print $1}')
scala_version_from_dockerfile=${scala_version_from_dockerfile#v}
scala_version_from_config=$(grep 'version =' TEMPLATES/.scalafmt.conf | awk -F= '{print $2}' | tr -d '[:space:]')
echo "scala_version_from_dockerfile: $scala_version_from_dockerfile"
echo "scala_version_from_config: $scala_version_from_config"
if [ "$scala_version_from_dockerfile" != "$scala_version_from_config" ]; then echo "versions differ"; sed -i "s/\(version =\).*/\1 ${scala_version_from_dockerfile}/g" TEMPLATES/.scalafmt.conf; fi
- uses: EndBug/add-and-commit@v9 # You can change this to use a specific version.
with:
add: 'TEMPLATES/.scalafmt.conf'
fetch: false
message: 'Update scala config version to match version installed'