From 71a3cbc3345343fc5cf67d9fb495424a22cde4c6 Mon Sep 17 00:00:00 2001 From: Armin Schrenk Date: Fri, 20 Oct 2023 13:29:43 +0200 Subject: [PATCH 1/7] add workflow to check for jdk updates --- .github/check-jdk-updates.yml | 64 +++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 .github/check-jdk-updates.yml diff --git a/.github/check-jdk-updates.yml b/.github/check-jdk-updates.yml new file mode 100644 index 000000000..3e5f6a1b9 --- /dev/null +++ b/.github/check-jdk-updates.yml @@ -0,0 +1,64 @@ +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: 21.0.0 + 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@v3 + with: + java-version: 21.0.0 + distribution: zulu + 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@v3 + with: + java-version: 21 + distribution: zulu + 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" + SLACK_MESSAGE: "Cryptomator-CI JDK can be upgraded to ${{ needs.jdk-latest.outputs.jdk-version }}" + SLACK_FOOTER: false + MSG_MINIMAL: true \ No newline at end of file From a7a94099a833e71b01c1f4a73d6b3d333eea70e2 Mon Sep 17 00:00:00 2001 From: Armin Schrenk Date: Fri, 20 Oct 2023 13:35:03 +0200 Subject: [PATCH 2/7] Closes #3075 --- .github/workflows/appimage.yml | 2 +- .github/workflows/debian.yml | 2 +- .github/workflows/mac-dmg.yml | 2 +- .github/workflows/win-exe.yml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/appimage.yml b/.github/workflows/appimage.yml index 15c1ea3a9..5821a7fde 100644 --- a/.github/workflows/appimage.yml +++ b/.github/workflows/appimage.yml @@ -11,7 +11,7 @@ on: env: JAVA_DIST: 'zulu' - JAVA_VERSION: 21 + JAVA_VERSION: '21.0.1+12' jobs: get-version: diff --git a/.github/workflows/debian.yml b/.github/workflows/debian.yml index 054d6cadf..130e1a30e 100644 --- a/.github/workflows/debian.yml +++ b/.github/workflows/debian.yml @@ -17,7 +17,7 @@ on: env: JAVA_DIST: 'zulu' - JAVA_VERSION: 21 + JAVA_VERSION: '21.0.1+12' COFFEELIBS_JDK_VERSION: 21 OPENJFX_JMODS_AMD64: 'https://download2.gluonhq.com/openjfx/20.0.2/openjfx-20.0.2_linux-x64_bin-jmods.zip' OPENJFX_JMODS_AMD64_HASH: 'f522ac2ae4bdd61f0219b7b8d2058ff72a22f36a44378453bcfdcd82f8f5e08c' diff --git a/.github/workflows/mac-dmg.yml b/.github/workflows/mac-dmg.yml index 8db4296d9..1372fe6ce 100644 --- a/.github/workflows/mac-dmg.yml +++ b/.github/workflows/mac-dmg.yml @@ -16,7 +16,7 @@ on: env: JAVA_DIST: 'zulu' - JAVA_VERSION: 21 + JAVA_VERSION: '21.0.1+12' jobs: get-version: diff --git a/.github/workflows/win-exe.yml b/.github/workflows/win-exe.yml index 2b72a50a8..d8064fb0f 100644 --- a/.github/workflows/win-exe.yml +++ b/.github/workflows/win-exe.yml @@ -15,7 +15,7 @@ on: env: JAVA_DIST: 'zulu' - JAVA_VERSION: 21 + JAVA_VERSION: '21.0.1+12' OPENJFX_JMODS_AMD64: 'https://download2.gluonhq.com/openjfx/20.0.2/openjfx-20.0.2_windows-x64_bin-jmods.zip' OPENJFX_JMODS_AMD64_HASH: '18625bbc13c57dbf802486564247a8d8cab72ec558c240a401bf6440384ebd77' From 652a6f5c4dfd60d3de0959ec6e2d03f5679ed3d3 Mon Sep 17 00:00:00 2001 From: Armin Schrenk Date: Fri, 20 Oct 2023 13:42:00 +0200 Subject: [PATCH 3/7] use environment variables and update current jdk --- .github/check-jdk-updates.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/check-jdk-updates.yml b/.github/check-jdk-updates.yml index 3e5f6a1b9..68ef4af9f 100644 --- a/.github/check-jdk-updates.yml +++ b/.github/check-jdk-updates.yml @@ -5,7 +5,7 @@ on: - cron: '0 0 1 * *' # run once a month at the first day of month env: - JDK_VERSION: 21.0.0 + JDK_VERSION: '21.0.1+12' JDK_VENDOR: zulu jobs: @@ -17,8 +17,8 @@ jobs: steps: - uses: actions/setup-java@v3 with: - java-version: 21.0.0 - distribution: zulu + 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 @@ -35,7 +35,7 @@ jobs: - uses: actions/setup-java@v3 with: java-version: 21 - distribution: zulu + distribution: ${{ env.JDK_VENDOR }} check-latest: true - name: Read JAVA_VERSION_DATE and store in env variable id: get-data From db868c6df7e33317c6960c4899550b2acc57f2ee Mon Sep 17 00:00:00 2001 From: Armin Schrenk Date: Fri, 20 Oct 2023 16:22:45 +0200 Subject: [PATCH 4/7] move worklfow to correct directory --- .github/{ => workflows}/check-jdk-updates.yml | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .github/{ => workflows}/check-jdk-updates.yml (100%) diff --git a/.github/check-jdk-updates.yml b/.github/workflows/check-jdk-updates.yml similarity index 100% rename from .github/check-jdk-updates.yml rename to .github/workflows/check-jdk-updates.yml From 8ce304a0c3297bc52ba5266bc9e0f0851c2c2330 Mon Sep 17 00:00:00 2001 From: Armin Schrenk Date: Thu, 26 Oct 2023 16:21:22 +0200 Subject: [PATCH 5/7] Add link to how-to-jdk-update in notification --- .github/workflows/check-jdk-updates.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/check-jdk-updates.yml b/.github/workflows/check-jdk-updates.yml index 68ef4af9f..30954b9e4 100644 --- a/.github/workflows/check-jdk-updates.yml +++ b/.github/workflows/check-jdk-updates.yml @@ -58,7 +58,7 @@ jobs: SLACK_ICON: false SLACK_ICON_EMOJI: ':bot:' SLACK_CHANNEL: 'cryptomator-desktop' - SLACK_TITLE: "JDK update" - SLACK_MESSAGE: "Cryptomator-CI JDK can be upgraded to ${{ needs.jdk-latest.outputs.jdk-version }}" + 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 \ No newline at end of file + MSG_MINIMAL: true From b3f0ff36628194f34bc210fec4c95c7d455cd649 Mon Sep 17 00:00:00 2001 From: Armin Schrenk Date: Fri, 27 Oct 2023 12:10:37 +0200 Subject: [PATCH 6/7] use coffeelibs JDK for release builds --- .github/workflows/debian.yml | 5 +++-- dist/linux/debian/control | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/debian.yml b/.github/workflows/debian.yml index 130e1a30e..0e6b0f4c2 100644 --- a/.github/workflows/debian.yml +++ b/.github/workflows/debian.yml @@ -18,7 +18,8 @@ on: env: JAVA_DIST: 'zulu' JAVA_VERSION: '21.0.1+12' - COFFEELIBS_JDK_VERSION: 21 + COFFEELIBS_JDK: 21 + COFFEELIBS_JDK_VERSION: '21.0.1+12-0ppa1' OPENJFX_JMODS_AMD64: 'https://download2.gluonhq.com/openjfx/20.0.2/openjfx-20.0.2_linux-x64_bin-jmods.zip' OPENJFX_JMODS_AMD64_HASH: 'f522ac2ae4bdd61f0219b7b8d2058ff72a22f36a44378453bcfdcd82f8f5e08c' OPENJFX_JMODS_AARCH64: 'https://download2.gluonhq.com/openjfx/20.0.2/openjfx-20.0.2_linux-aarch64_bin-jmods.zip' @@ -43,7 +44,7 @@ jobs: run: | sudo add-apt-repository ppa:coffeelibs/openjdk sudo apt-get update - sudo apt-get install debhelper devscripts dput coffeelibs-jdk-${{ env.COFFEELIBS_JDK_VERSION }} libgtk2.0-0 + sudo apt-get install debhelper devscripts dput coffeelibs-jdk-${{ env.COFFEELIBS_JDK }}:amd64=${{ env.COFFEELIBS_JDK_VERSION }} libgtk2.0-0 - name: Setup Java uses: actions/setup-java@v3 with: diff --git a/dist/linux/debian/control b/dist/linux/debian/control index 148fdb213..0e7266c75 100644 --- a/dist/linux/debian/control +++ b/dist/linux/debian/control @@ -2,7 +2,7 @@ Source: cryptomator Maintainer: Cryptobot Section: utils Priority: optional -Build-Depends: debhelper (>=10), coffeelibs-jdk-21, libgtk2.0-0, libgtk-3-0, libxxf86vm1, libgl1 +Build-Depends: debhelper (>=10), coffeelibs-jdk-21 (= 21.0.1+12-0ppa1), libgtk2.0-0, libgtk-3-0, libxxf86vm1, libgl1 Standards-Version: 4.5.0 Homepage: https://cryptomator.org Vcs-Git: https://github.com/cryptomator/cryptomator.git From 7594e51e2beb8f55ddb512c7ded4d62853b645ec Mon Sep 17 00:00:00 2001 From: Armin Schrenk Date: Fri, 27 Oct 2023 12:30:37 +0200 Subject: [PATCH 7/7] Update debian.yml Remove architecture in apt install dependency --- .github/workflows/debian.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/debian.yml b/.github/workflows/debian.yml index 0e6b0f4c2..e8fd5da22 100644 --- a/.github/workflows/debian.yml +++ b/.github/workflows/debian.yml @@ -44,7 +44,7 @@ jobs: run: | sudo add-apt-repository ppa:coffeelibs/openjdk sudo apt-get update - sudo apt-get install debhelper devscripts dput coffeelibs-jdk-${{ env.COFFEELIBS_JDK }}:amd64=${{ env.COFFEELIBS_JDK_VERSION }} libgtk2.0-0 + sudo apt-get install debhelper devscripts dput coffeelibs-jdk-${{ env.COFFEELIBS_JDK }}=${{ env.COFFEELIBS_JDK_VERSION }} libgtk2.0-0 - name: Setup Java uses: actions/setup-java@v3 with: @@ -150,4 +150,4 @@ jobs: GITHUB_TOKEN: ${{ secrets.CRYPTOBOT_RELEASE_TOKEN }} run: | artifacts=$(ls | grep cryptomator*.deb) - gh release upload ${{ github.ref_name }} $artifacts \ No newline at end of file + gh release upload ${{ github.ref_name }} $artifacts