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

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