1
0
mirror of https://github.com/chylex/IntelliJ-IdeaVim.git synced 2024-11-25 16:42:55 +01:00
IntelliJ-IdeaVim/.github/workflows/updateChangelog.yml

66 lines
2.5 KiB
YAML

# This workflow will build a package using Gradle and then publish it to GitHub packages when a release is created
# For more information see: https://github.com/actions/setup-java/blob/main/docs/advanced-usage.md#Publishing-using-gradle
name: Update Changelog
on:
workflow_dispatch:
schedule:
- cron: '0 10 * * *'
# Workflow run on push is disabled to avoid conflicts when merging PR
# push:
# branches: [ master ]
jobs:
build:
runs-on: ubuntu-latest
if: github.repository == 'JetBrains/ideavim'
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 300
# See end of file updateChangeslog.yml for explanation of this secret
ssh-key: ${{ secrets.PUSH_TO_PROTECTED_BRANCH_SECRET }}
- name: Get tags
run: git fetch --tags origin
- name: Set up JDK 11
uses: actions/setup-java@v2
with:
java-version: '11'
distribution: 'adopt'
server-id: github # Value of the distributionManagement/repository/id field of the pom.xml
settings-path: ${{ github.workspace }} # location for the settings.xml file
# The last successful job was marked with a tag
- name: Get commit with last workflow
run: |
echo "LAST_COMMIT=$(git rev-list -n 1 tags/workflow-changelog)" >> $GITHUB_ENV
- name: Update changelog
run: ./gradlew updateChangelog
env:
SUCCESS_COMMIT: ${{ env.LAST_COMMIT }}
- name: Commit changes
uses: stefanzweifel/git-auto-commit-action@v4
with:
commit_message: Update changelog. Action id - ${{ github.run_id }}
commit_user_name: IdeaVim Bot
commit_user_email: maintainers@ideavim.dev
commit_author: IdeaVim Bot <maintainers@ideavim.dev>
file_pattern: CHANGES.md
- name: Update tags
run: |
git tag --delete workflow-changelog || true
git push origin :refs/tags/workflow-changelog || true
git tag workflow-changelog
git push origin workflow-changelog
# Regarding secrets.PUSH_TO_PROTECTED_BRANCH_SECRET - we use branch protection rules to automate merges of the
# dependabot updates. See mergeDependatobPR.yml file.
# However, it turned out that GitHub accepts pushes from the actions as a PR and requires checks, that are always
# false for pushing from actions.
# This secret is created to implement the workaround described in https://stackoverflow.com/a/76135647/3124227