name: "Lint whitespace and languages" on: workflow_dispatch: ~ push: paths: - ".github/workflows/**" - "src/main/**.java" - "**.json" - "build.gradle" - "format_whitespace.py" - "manage_languages.py" branches: - "development" jobs: Make-Lint-Commits: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v3 with: fetch-depth: 0 - name: Setup Python uses: actions/setup-python@v4 with: python-version: '3.10' - name: Run Whitespace Linter run: python format_whitespace.py - run: git config --global user.name "github-actions" - run: git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com" - run: git stash - run: git checkout LintRatchet # - run: git merge development - run: git reset --hard development - run: git stash pop || true - name: Commit any whitespace changes run: git add -u && git commit -m 'Fix whitespace [skip actions]' || true - name: Update Languages run: python manage_languages.py -u - name: Commit any language changes run: git add -u && git commit -m 'Update languages [skip actions]' || true - name: Bump version to a release # a.b.c-dev -> a.b.c # If any breaking changes, a.b.c-dev -> a.(b+1).0 run: | export BREAKING=`git log $(git describe --tags --abbrev=0)..HEAD --pretty=format:"%s" --grep="BREAKING"` if [[ $BREAKING ]]; then export NEXT_VERSION=`sed -nr "s/^version = '(.*\.)([0-9]+)\.[0-9]+(-dev)?'"'/echo "\1$((\2+1)).0"/ep' build.gradle`; else export NEXT_VERSION=`sed -nr "s/^version = '(.*)-dev'/\1/p" build.gradle`; fi export CHANGELOG=`git log $(git describe --tags --abbrev=0)..HEAD --pretty=format:"%s"` perl -pi -e "s/version = '.*'/version = '$NEXT_VERSION'/g" build.gradle git add build.gradle && git commit -m "Version $NEXT_VERSION" -m "$CHANGELOG" - name: Bump version to next dev # a.b.c -> a.b.(c+1)-dev run: | export NEXT_VERSION=`sed -nr "s/^version = '(.*)([0-9]+)'"'/echo "\1$((\2+1))-dev"/ep' build.gradle` perl -pi -e "s/version = '.*'/version = '$NEXT_VERSION'/g" build.gradle git add build.gradle && git commit -m "Version $NEXT_VERSION [skip actions]" - name: Force-push changes to LintRatchet run: git push --set-upstream --force origin LintRatchet