on: schedule: - cron: '41 8 * * *' name: Update dependencies jobs: update: name: Update dependencies runs-on: ubuntu-latest steps: - id: checkout name: Checkout code uses: actions/checkout@v2 - id: java name: Install Java and Maven uses: actions/setup-java@v1 with: java-version: 8 - id: update_keycloak name: Update Keycloak run: | mvn -B versions:update-property -Dproperty=keycloak.version - id: vars name: Get project variables run: | echo -n "::set-output name=versionUpdated::" [ -f pom.xml.versionsBackup ] && echo 1 || echo 0 echo -n "::set-output name=keycloakVersion::" mvn -q help:evaluate -Dexpression=keycloak.version -DforceStdout 2> /dev/null | grep -E '^[0-9a-zA-Z.-]+$' - id: check_branch name: Check if branch exists run: | echo -n "::set-output name=commit::" if [ '${{ steps.vars.outputs.versionUpdated }}' == '1' ]; then git ls-remote origin 'feature/keycloak-update-${{ steps.vars.outputs.keycloakVersion }}' else git rev-parse HEAD fi - id: reset_repo name: Reset repository if: steps.check_branch.outputs.commit == '' run: | git reset --hard - id: update_deps name: Update dependencies if: steps.check_branch.outputs.commit == '' run: | mvn versions:set -DnewVersion='${{ steps.vars.outputs.keycloakVersion }}' mvn versions:compare-dependencies \ -DremotePom='org.keycloak:keycloak-parent:${{ steps.vars.outputs.keycloakVersion }}' \ -DupdateDependencies=true -DupdatePropertyVersions=true mvn versions:use-latest-versions -DallowMajorUpdates=false - id: create_commit name: Create commit if: steps.check_branch.outputs.commit == '' run: | git add pom.xml git config user.name 'github-actions' git config user.email '41898282+github-actions[bot]@users.noreply.github.com' git commit -m 'Update to Keycloak ${{ steps.vars.outputs.keycloakVersion }}' - id: create_branch name: Create branch if: steps.check_branch.outputs.commit == '' run: | git push origin 'HEAD:feature/keycloak-update-${{ steps.vars.outputs.keycloakVersion }}' - id: set_token name: Set access token if: steps.check_branch.outputs.commit == '' run: | echo -n "::set-env name=GH_TOKEN::" if [ '${{ secrets.GH_TOKEN }}' != '' ]; then echo '${{ secrets.GH_TOKEN }}' else echo '${{ secrets.GITHUB_TOKEN }}' fi - id: create_pull_request_default_token name: Create pull request if: steps.check_branch.outputs.commit == '' uses: actions/github-script@0.9.0 with: github-token: ${{ env.GH_TOKEN }} script: | github.pulls.create({ owner: context.repo.owner, repo: context.repo.repo, head: 'feature/keycloak-update-${{ steps.vars.outputs.keycloakVersion }}', base: 'master', title: 'Update to Keycloak ${{ steps.vars.outputs.keycloakVersion }}', body: 'Automatic dependency bump due to release of Keycloak ${{ steps.vars.outputs.keycloakVersion }}' })