From 4b55e2ce8b0964ec77ef1d2360372e2fef5e3427 Mon Sep 17 00:00:00 2001 From: anttiharju Date: Sun, 13 Oct 2024 14:35:35 +0300 Subject: [PATCH 01/12] Bump checkout from v3 to v4 checkout v3 uses node16 which reaches EOL on 15th of Oct 2024 https://github.blog/changelog/2024-09-25-end-of-life-for-actions-node16/ --- .github/workflows/build.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index bafa83ef..e4297d84 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -10,7 +10,7 @@ jobs: # runs-on: macos-12 # steps: - # - uses: actions/checkout@v3 + # - uses: actions/checkout@v4 # - name: Fetch submodules # run: git submodule init && git submodule update @@ -130,7 +130,7 @@ jobs: # # Build Artifact of xamarin.android-oss dated 2022-02-16, master branch (= version 12.2.99) # xamarin_url: https://artprodcus3.artifacts.visualstudio.com/Ad0adf05a-e7d7-4b65-96fe-3f3884d42038/6fd3d886-57a5-4e31-8db7-52a1b47c07a8/_apis/artifact/cGlwZWxpbmVhcnRpZmFjdDovL3hhbWFyaW4vcHJvamVjdElkLzZmZDNkODg2LTU3YTUtNGUzMS04ZGI3LTUyYTFiNDdjMDdhOC9idWlsZElkLzU0OTUzL2FydGlmYWN0TmFtZS9pbnN0YWxsZXJzLXVuc2lnbmVkKy0rTGludXg1/content?format=zip # steps: - # - uses: actions/checkout@v3 + # - uses: actions/checkout@v4 # - name: Fetch submodules # run: git submodule init && git submodule update @@ -254,7 +254,7 @@ jobs: runs-on: windows-2022 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Setup Gradle uses: gradle/gradle-build-action@v2 From a54444e9195cc103016e0e78c03850794691d058 Mon Sep 17 00:00:00 2001 From: anttiharju Date: Sun, 13 Oct 2024 14:39:50 +0300 Subject: [PATCH 02/12] Bump gradle-build-action to v3 Gradle v2 uses node16 which will be EOL soon. "The only major breaking change from gradle-build-action@v2.12.0 is the update to require a Node 20 runtime environment. Aside from that change, this release should generally serve as a drop-in replacement for gradle-build-action@v2." Gradle updated the action name, following the advice from https://github.com/gradle/gradle-build-action/releases/tag/v3.0.0 --- .github/workflows/build.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e4297d84..466e59e8 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -16,7 +16,7 @@ jobs: # run: git submodule init && git submodule update # - name: Setup Gradle - # uses: gradle/gradle-build-action@v2 + # uses: gradle/actions/setup-gradle@v3 # - name: Cache NuGet packages # uses: actions/cache@v3 @@ -136,7 +136,7 @@ jobs: # run: git submodule init && git submodule update # - name: Setup Gradle - # uses: gradle/gradle-build-action@v2 + # uses: gradle/actions/setup-gradle@v3 # - name: Cache NuGet packages # uses: actions/cache@v3 @@ -257,7 +257,7 @@ jobs: - uses: actions/checkout@v4 - name: Setup Gradle - uses: gradle/gradle-build-action@v2 + uses: gradle/actions/setup-gradle@v3 - name: Cache NuGet packages uses: actions/cache@v3 From 84230b32ef6238a6b351b0a65c71ee774d3ddbba Mon Sep 17 00:00:00 2001 From: anttiharju Date: Sun, 13 Oct 2024 14:48:08 +0300 Subject: [PATCH 03/12] Bump gradle/actions/setup-gradle to v4 It includes caching improvements as described here: https://github.com/gradle/actions/releases/tag/v4.0.0 windows-2022 includes node20 per https://github.com/actions/runner-images/blob/main/images/windows/Windows2022-Readme.md#nodejs --- .github/workflows/build.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 466e59e8..3823c5be 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -16,7 +16,7 @@ jobs: # run: git submodule init && git submodule update # - name: Setup Gradle - # uses: gradle/actions/setup-gradle@v3 + # uses: gradle/actions/setup-gradle@v4 # - name: Cache NuGet packages # uses: actions/cache@v3 @@ -136,7 +136,7 @@ jobs: # run: git submodule init && git submodule update # - name: Setup Gradle - # uses: gradle/actions/setup-gradle@v3 + # uses: gradle/actions/setup-gradle@v4 # - name: Cache NuGet packages # uses: actions/cache@v3 @@ -257,7 +257,7 @@ jobs: - uses: actions/checkout@v4 - name: Setup Gradle - uses: gradle/actions/setup-gradle@v3 + uses: gradle/actions/setup-gradle@v4 - name: Cache NuGet packages uses: actions/cache@v3 From 247b37262dce15fdf4b823bc8e262f9d65cdeffa Mon Sep 17 00:00:00 2001 From: anttiharju Date: Sun, 13 Oct 2024 14:58:18 +0300 Subject: [PATCH 04/12] Bump actions/cache to v4 Just a node20 update per https://github.com/actions/cache/releases/tag/v4.0.0 --- .github/workflows/build.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3823c5be..8a7fedd2 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -19,7 +19,7 @@ jobs: # uses: gradle/actions/setup-gradle@v4 # - name: Cache NuGet packages - # uses: actions/cache@v3 + # uses: actions/cache@v4 # with: # path: ~/.nuget/packages # key: ${{ runner.os }}-nuget-${{ hashFiles('src/**/*.csproj', 'src/**/packages.config') }} @@ -139,7 +139,7 @@ jobs: # uses: gradle/actions/setup-gradle@v4 # - name: Cache NuGet packages - # uses: actions/cache@v3 + # uses: actions/cache@v4 # with: # path: ~/.nuget/packages # key: ${{ runner.os }}-nuget-${{ hashFiles('src/**/*.csproj', 'src/**/packages.config') }} @@ -148,7 +148,7 @@ jobs: # - name: Cache Xamarin.Android packages # id: xamarin_cache - # uses: actions/cache@v3 + # uses: actions/cache@v4 # with: # path: ~/xamarin.android-oss # key: ${{ runner.os }}-xamarin.android-oss-${{ env.xamarin_url }} @@ -260,7 +260,7 @@ jobs: uses: gradle/actions/setup-gradle@v4 - name: Cache NuGet packages - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ~/.nuget/packages key: ${{ runner.os }}-nuget-${{ hashFiles('src/**/*.csproj', 'src/**/packages.config') }} From 8bde5ed262b0d9d74bcfeea360d424b1e90c6eb9 Mon Sep 17 00:00:00 2001 From: anttiharju Date: Sun, 13 Oct 2024 15:10:36 +0300 Subject: [PATCH 05/12] Use actions/checkout for fetching submodules --- .github/workflows/build.yml | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8a7fedd2..e2a87b8c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -11,9 +11,8 @@ jobs: # steps: # - uses: actions/checkout@v4 - - # - name: Fetch submodules - # run: git submodule init && git submodule update + # with: + # submodules: true # - name: Setup Gradle # uses: gradle/actions/setup-gradle@v4 @@ -131,9 +130,8 @@ jobs: # xamarin_url: https://artprodcus3.artifacts.visualstudio.com/Ad0adf05a-e7d7-4b65-96fe-3f3884d42038/6fd3d886-57a5-4e31-8db7-52a1b47c07a8/_apis/artifact/cGlwZWxpbmVhcnRpZmFjdDovL3hhbWFyaW4vcHJvamVjdElkLzZmZDNkODg2LTU3YTUtNGUzMS04ZGI3LTUyYTFiNDdjMDdhOC9idWlsZElkLzU0OTUzL2FydGlmYWN0TmFtZS9pbnN0YWxsZXJzLXVuc2lnbmVkKy0rTGludXg1/content?format=zip # steps: # - uses: actions/checkout@v4 - - # - name: Fetch submodules - # run: git submodule init && git submodule update + # with: + # submodules: true # - name: Setup Gradle # uses: gradle/actions/setup-gradle@v4 @@ -255,6 +253,8 @@ jobs: steps: - uses: actions/checkout@v4 + with: + submodules: true - name: Setup Gradle uses: gradle/actions/setup-gradle@v4 @@ -267,9 +267,6 @@ jobs: restore-keys: | ${{ runner.os }}-nuget- - - name: Fetch submodules - run: git submodule init && git submodule update - # Workaround an issue when building on windows-2022. Error was # D8 : OpenJDK 64-Bit Server VM warning : INFO: os::commit_memory(0x00000000ae400000, 330301440, 0) failed; error='The paging file is too small for this operation to complete' (DOS error/errno=1455) [D:\a\keepass2android\keepass2android\src\keepass2android\keepass2android-app.csproj] # C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Xamarin\Android\Xamarin.Android.D8.targets(81,5): error MSB6006: "java.exe" exited with code 1. [D:\a\keepass2android\keepass2android\src\keepass2android\keepass2android-app.csproj] From 177b1fc9a392ff02e4c194a256f30599ca224286 Mon Sep 17 00:00:00 2001 From: anttiharju Date: Sun, 13 Oct 2024 15:15:11 +0300 Subject: [PATCH 06/12] Update al-cheb/configure-pagefile-action to v1.4 Just a node20 update per https://github.com/al-cheb/configure-pagefile-action/releases/tag/v1.4 --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e2a87b8c..79280c96 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -271,7 +271,7 @@ jobs: # D8 : OpenJDK 64-Bit Server VM warning : INFO: os::commit_memory(0x00000000ae400000, 330301440, 0) failed; error='The paging file is too small for this operation to complete' (DOS error/errno=1455) [D:\a\keepass2android\keepass2android\src\keepass2android\keepass2android-app.csproj] # C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Xamarin\Android\Xamarin.Android.D8.targets(81,5): error MSB6006: "java.exe" exited with code 1. [D:\a\keepass2android\keepass2android\src\keepass2android\keepass2android-app.csproj] - name: Configure Pagefile - uses: al-cheb/configure-pagefile-action@v1.3 + uses: al-cheb/configure-pagefile-action@v1.4 with: minimum-size: 8GB From 38e305bb4a15bcd9d6fc7b861208a28fceb710e8 Mon Sep 17 00:00:00 2001 From: anttiharju Date: Sun, 13 Oct 2024 15:16:37 +0300 Subject: [PATCH 07/12] Pin a third-party action This is security hardening, see https://docs.github.com/en/actions/security-for-github-actions/security-guides/security-hardening-for-github-actions#using-third-party-actions --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 79280c96..7095f888 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -271,7 +271,7 @@ jobs: # D8 : OpenJDK 64-Bit Server VM warning : INFO: os::commit_memory(0x00000000ae400000, 330301440, 0) failed; error='The paging file is too small for this operation to complete' (DOS error/errno=1455) [D:\a\keepass2android\keepass2android\src\keepass2android\keepass2android-app.csproj] # C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Xamarin\Android\Xamarin.Android.D8.targets(81,5): error MSB6006: "java.exe" exited with code 1. [D:\a\keepass2android\keepass2android\src\keepass2android\keepass2android-app.csproj] - name: Configure Pagefile - uses: al-cheb/configure-pagefile-action@v1.4 + uses: al-cheb/configure-pagefile-action@a3b6ebd6b634da88790d9c58d4b37a7f4a7b8708 # v1.4 with: minimum-size: 8GB From 5882263ee8e486b8ffaa6769b0b689c7bb7bf672 Mon Sep 17 00:00:00 2001 From: anttiharju Date: Sun, 13 Oct 2024 15:19:07 +0300 Subject: [PATCH 08/12] Bump microsoft/setup-msbuild to v2 for node20 Just a node20 update https://github.com/microsoft/setup-msbuild/releases/tag/v2 --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7095f888..d583d359 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -276,7 +276,7 @@ jobs: minimum-size: 8GB - name: Add msbuild to PATH - uses: microsoft/setup-msbuild@v1.1 + uses: microsoft/setup-msbuild@v2 # If we want to also have nmake, use this instead #uses: ilammy/msvc-dev-cmd@v1 From 8d354bb3f0550d2e398cf5b21599abbc2b261f5a Mon Sep 17 00:00:00 2001 From: anttiharju Date: Sun, 13 Oct 2024 15:22:50 +0300 Subject: [PATCH 09/12] Update actions/setup-java to v4 Just a node20 update https://github.com/actions/setup-java/releases/tag/v4.0.0 --- .github/workflows/build.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d583d359..17570486 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -51,7 +51,7 @@ jobs: # # $VM_ASSETS/select-xamarin-sdk-v2.sh --mono=6.12 --android=11.2 # - name: Switch to JDK-11 - # uses: actions/setup-java@v3 + # uses: actions/setup-java@v4 # with: # java-version: '11' # distribution: 'temurin' @@ -181,7 +181,7 @@ jobs: # echo "$HOME/xamarin.android-oss/bin/Release/bin" >> $GITHUB_PATH # - name: Switch to JDK-11 - # uses: actions/setup-java@v3 + # uses: actions/setup-java@v4 # with: # java-version: '11' # distribution: 'temurin' @@ -281,7 +281,7 @@ jobs: #uses: ilammy/msvc-dev-cmd@v1 - name: Switch to JDK-11 - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: java-version: '11' distribution: 'temurin' From 7dcccf110593d402d5b251da82fa30c0bba52062 Mon Sep 17 00:00:00 2001 From: anttiharju Date: Sun, 13 Oct 2024 15:29:45 +0300 Subject: [PATCH 10/12] Bump artifact actions to v4 v4 included breaking changes, but the setup here was compatible thanks to the usage of `${{ github.job }}`. https://github.com/actions/upload-artifact/releases/tag/v4.0.0 v3 artifact actions will be deprecated on November 30th https://github.blog/changelog/2024-04-16-deprecation-notice-v3-of-the-artifact-actions/ node16 actions will be EOL on October 15th https://github.blog/changelog/2024-09-25-end-of-life-for-actions-node16/ These seem contradictory but I _guess_ on self-hosted runners one can keep using v3 artifact actions until November 30th. --- .github/workflows/build.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 17570486..aed27475 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -81,7 +81,7 @@ jobs: # make apk Flavor=Net # - name: Archive production artifacts (net) - # uses: actions/upload-artifact@v3 + # uses: actions/upload-artifact@v4 # with: # name: signed APK ('net' built on ${{ github.job }}) # path: | @@ -99,7 +99,7 @@ jobs: # make apk Flavor=NoNet # - name: Archive production artifacts (nonet) - # uses: actions/upload-artifact@v3 + # uses: actions/upload-artifact@v4 # with: # name: signed APK ('nonet' built on ${{ github.job }}) # path: | @@ -215,7 +215,7 @@ jobs: # make apk Flavor=Net # - name: Archive production artifacts (net) - # uses: actions/upload-artifact@v3 + # uses: actions/upload-artifact@v4 # with: # name: signed APK ('net' built on ${{ github.job }}) # path: | @@ -233,7 +233,7 @@ jobs: # make apk Flavor=NoNet # - name: Archive production artifacts (nonet) - # uses: actions/upload-artifact@v3 + # uses: actions/upload-artifact@v4 # with: # name: signed APK ('nonet' built on ${{ github.job }}) # path: | @@ -317,7 +317,7 @@ jobs: make apk Flavor=Net - name: Archive production artifacts (net) - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: signed APK ('net' built on ${{ github.job }}) path: | @@ -338,7 +338,7 @@ jobs: make apk Flavor=NoNet - name: Archive production artifacts (nonet) - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: signed APK ('nonet' built on ${{ github.job }}) path: | From e464c59796276c158df143b06e0d31b3d5da7e3d Mon Sep 17 00:00:00 2001 From: anttiharju Date: Tue, 15 Oct 2024 22:41:23 +0300 Subject: [PATCH 11/12] Downgrade setup-gradle to v3 v3 is node20 and doesn't do validation by default like v4 validation can be disabled in v4 but when that bump is made it's probably better to resolve the issues rather than ignore them. --- .github/workflows/build.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index aed27475..b1cefc0f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -15,7 +15,7 @@ jobs: # submodules: true # - name: Setup Gradle - # uses: gradle/actions/setup-gradle@v4 + # uses: gradle/actions/setup-gradle@v3 # - name: Cache NuGet packages # uses: actions/cache@v4 @@ -134,7 +134,7 @@ jobs: # submodules: true # - name: Setup Gradle - # uses: gradle/actions/setup-gradle@v4 + # uses: gradle/actions/setup-gradle@v3 # - name: Cache NuGet packages # uses: actions/cache@v4 @@ -257,7 +257,7 @@ jobs: submodules: true - name: Setup Gradle - uses: gradle/actions/setup-gradle@v4 + uses: gradle/actions/setup-gradle@v3 - name: Cache NuGet packages uses: actions/cache@v4 From 65092dcccffd6c4d2f0df11fb52bd79e7cef2b35 Mon Sep 17 00:00:00 2001 From: anttiharju Date: Tue, 15 Oct 2024 22:44:37 +0300 Subject: [PATCH 12/12] Switch okhttp-digest source to github as instructed at https://github.com/rburgst/okhttp-digest?tab=readme-ov-file#use-via-gradle --- src/java/JavaFileStorage/app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/java/JavaFileStorage/app/build.gradle b/src/java/JavaFileStorage/app/build.gradle index fe29146e..3b7b0889 100644 --- a/src/java/JavaFileStorage/app/build.gradle +++ b/src/java/JavaFileStorage/app/build.gradle @@ -31,7 +31,7 @@ NOTE: If you change dependencies here, don't forget to update the jar files in J dependencies { implementation 'com.squareup.okhttp3:okhttp:4.10.0-RC1' - implementation 'com.burgstaller:okhttp-digest:2.5' + implementation 'io.github.rburgst:okhttp-digest:2.5' implementation 'com.google.http-client:google-http-client-gson:1.20.0' implementation('com.google.api-client:google-api-client-android:1.30.5') {