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

Jacek Kowalski
2020-12-17 707bb4aeb075f48847e60f35a28d20a3cdabbfee
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           if [ '${{ secrets.GH_TOKEN }}' != '' ]; then
707bb4 81             echo 'GH_TOKEN=${{ secrets.GH_TOKEN }}' >> $GITHUB_ENV
478402 82           else
707bb4 83             echo 'GH_TOKEN=${{ secrets.GITHUB_TOKEN }}' >> $GITHUB_ENV
478402 84           fi
JK 85
86       - id: create_pull_request_default_token
87         name: Create pull request
88         if: steps.check_branch.outputs.commit == ''
89         uses: actions/github-script@0.9.0
90         with:
91           github-token: ${{ env.GH_TOKEN }}
92           script: |
93             github.pulls.create({
94               owner: context.repo.owner,
95               repo: context.repo.repo,
96               head: 'feature/keycloak-update-${{ steps.vars.outputs.keycloakVersion }}',
97               base: 'master',
98               title: 'Update to Keycloak ${{ steps.vars.outputs.keycloakVersion }}',
99               body: 'Automatic dependency bump due to release of Keycloak ${{ steps.vars.outputs.keycloakVersion }}'
100             })