mirror of https://github.com/jacekkow/keycloak-protocol-cas

Jacek Kowalski
2020-12-17 56212dd9b4b7310a3a4e3f6ecb7e65ce01ea4be1
commit | author | age
478402 1 on:
JK 2   schedule:
3     - cron:  '41 8 * * *'
56212d 4   workflow_dispatch:
478402 5
JK 6 name: Update dependencies
7
8 jobs:
9   update:
10     name: Update dependencies
11     runs-on: ubuntu-latest
12     steps:
13       - id: checkout
14         name: Checkout code
15         uses: actions/checkout@v2
16
17       - id: java
18         name: Install Java and Maven
19         uses: actions/setup-java@v1
20         with:
21           java-version: 8
22
23       - id: update_keycloak
24         name: Update Keycloak
25         run: |
26           mvn -B versions:update-property -Dproperty=keycloak.version
27
28       - id: vars
29         name: Get project variables
30         run: |
31           echo -n "::set-output name=versionUpdated::"
32           [ -f pom.xml.versionsBackup ] && echo 1 || echo 0
33           echo -n "::set-output name=keycloakVersion::"
34           mvn -q help:evaluate -Dexpression=keycloak.version -DforceStdout 2> /dev/null | grep -E '^[0-9a-zA-Z.-]+$'
35
36       - id: check_branch
37         name: Check if branch exists
38         run: |
39           echo -n "::set-output name=commit::"
40           if [ '${{ steps.vars.outputs.versionUpdated }}' == '1' ]; then
41             git ls-remote origin 'feature/keycloak-update-${{ steps.vars.outputs.keycloakVersion }}'
42           else
43             git rev-parse HEAD
44           fi
45
46       - id: reset_repo
47         name: Reset repository
48         if: steps.check_branch.outputs.commit == ''
49         run: |
50           git reset --hard
51
52       - id: update_deps
53         name: Update dependencies
54         if: steps.check_branch.outputs.commit == ''
55         run: |
56           mvn versions:set -DnewVersion='${{ steps.vars.outputs.keycloakVersion }}'
57           mvn versions:compare-dependencies \
58             -DremotePom='org.keycloak:keycloak-parent:${{ steps.vars.outputs.keycloakVersion }}' \
59             -DupdateDependencies=true -DupdatePropertyVersions=true
60           mvn versions:use-latest-versions -DallowMajorUpdates=false
61
62       - id: create_commit
63         name: Create commit
64         if: steps.check_branch.outputs.commit == ''
65         run: |
66           git add pom.xml
67           git config user.name 'github-actions'
68           git config user.email '41898282+github-actions[bot]@users.noreply.github.com'
69           git commit -m 'Update to Keycloak ${{ steps.vars.outputs.keycloakVersion }}'
70
71       - id: create_branch
72         name: Create branch
73         if: steps.check_branch.outputs.commit == ''
74         run: |
75           git push origin 'HEAD:feature/keycloak-update-${{ steps.vars.outputs.keycloakVersion }}'
76
77       - id: set_token
78         name: Set access token
79         if: steps.check_branch.outputs.commit == ''
80         run: |
81           if [ '${{ secrets.GH_TOKEN }}' != '' ]; then
707bb4 82             echo 'GH_TOKEN=${{ secrets.GH_TOKEN }}' >> $GITHUB_ENV
478402 83           else
707bb4 84             echo 'GH_TOKEN=${{ secrets.GITHUB_TOKEN }}' >> $GITHUB_ENV
478402 85           fi
JK 86
87       - id: create_pull_request_default_token
88         name: Create pull request
89         if: steps.check_branch.outputs.commit == ''
90         uses: actions/github-script@0.9.0
91         with:
92           github-token: ${{ env.GH_TOKEN }}
93           script: |
94             github.pulls.create({
95               owner: context.repo.owner,
96               repo: context.repo.repo,
97               head: 'feature/keycloak-update-${{ steps.vars.outputs.keycloakVersion }}',
98               base: 'master',
99               title: 'Update to Keycloak ${{ steps.vars.outputs.keycloakVersion }}',
100               body: 'Automatic dependency bump due to release of Keycloak ${{ steps.vars.outputs.keycloakVersion }}'
101             })