Checks JDK version for minor updates #5
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Checks JDK version for minor updates | |
on: | |
schedule: | |
- cron: '0 0 1 * *' # run once a month at the first day of month | |
env: | |
JDK_VERSION: '22.0.1+8' | |
JDK_VENDOR: zulu | |
jobs: | |
jdk-current: | |
name: Check out current version | |
runs-on: ubuntu-latest | |
outputs: | |
jdk-date: ${{ steps.get-data.outputs.jdk-date}} | |
steps: | |
- uses: actions/setup-java@v4 | |
with: | |
java-version: ${{ env.JDK_VERSION }} | |
distribution: ${{ env.JDK_VENDOR }} | |
check-latest: false | |
- name: Read JAVA_VERSION_DATE and store in env variable | |
id: get-data | |
run: | | |
date=$(cat ${JAVA_HOME}/release | grep "JAVA_VERSION_DATE=\"" | awk -F'=' '{print $2}' | tr -d '"') | |
echo "jdk-date=${date}" >> "$GITHUB_OUTPUT" | |
jdk-latest: | |
name: Checkout latest jdk version | |
runs-on: ubuntu-latest | |
outputs: | |
jdk-date: ${{ steps.get-data.outputs.jdk-date}} | |
jdk-version: ${{ steps.get-data.outputs.jdk-version}} | |
steps: | |
- uses: actions/setup-java@v4 | |
with: | |
java-version: 21 | |
distribution: ${{ env.JDK_VENDOR }} | |
check-latest: true | |
- name: Read JAVA_VERSION_DATE and store in env variable | |
id: get-data | |
run: | | |
date=$(cat ${JAVA_HOME}/release | grep "JAVA_VERSION_DATE=\"" | awk -F'=' '{print $2}' | tr -d '"') | |
echo "jdk-date=${date}" >> "$GITHUB_OUTPUT" | |
version=$(cat ${JAVA_HOME}/release | grep "JAVA_RUNTIME_VERSION=\"" | awk -F'=' '{print $2}' | tr -d '"') | |
echo "jdk-version=${version}" >> "$GITHUB_OUTPUT" | |
notify: | |
name: Notifies for jdk update | |
runs-on: ubuntu-latest | |
needs: [jdk-current, jdk-latest] | |
if: ${{ needs.jdk-latest.outputs.jdk-date }} > ${{ needs.jdk-current.outputs.jdk-date }} | |
steps: | |
- name: Slack Notification | |
uses: rtCamp/action-slack-notify@v2 | |
env: | |
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }} | |
SLACK_USERNAME: 'Cryptobot' | |
SLACK_ICON: false | |
SLACK_ICON_EMOJI: ':bot:' | |
SLACK_CHANNEL: 'cryptomator-desktop' | |
SLACK_TITLE: "JDK update available" | |
SLACK_MESSAGE: "Cryptomator-CI JDK can be upgraded to ${{ needs.jdk-latest.outputs.jdk-version }}. See https://github.com/cryptomator/cryptomator/wiki/How-to-update-the-build-JDK for instructions." | |
SLACK_FOOTER: false | |
MSG_MINIMAL: true |