Commit Graph

35 Commits

Author SHA1 Message Date
anttiharju
8d354bb3f0 Update actions/setup-java to v4
Just a node20 update
https://github.com/actions/setup-java/releases/tag/v4.0.0
2024-10-13 15:22:50 +03:00
anttiharju
5882263ee8 Bump microsoft/setup-msbuild to v2 for node20
Just a node20 update
https://github.com/microsoft/setup-msbuild/releases/tag/v2
2024-10-13 15:20:33 +03:00
anttiharju
38e305bb4a 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
2024-10-13 15:16:37 +03:00
anttiharju
177b1fc9a3 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
2024-10-13 15:15:11 +03:00
anttiharju
8bde5ed262 Use actions/checkout for fetching submodules 2024-10-13 15:10:36 +03:00
anttiharju
247b37262d Bump actions/cache to v4
Just a node20 update per
https://github.com/actions/cache/releases/tag/v4.0.0
2024-10-13 14:58:18 +03:00
anttiharju
84230b32ef 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
2024-10-13 14:56:14 +03:00
anttiharju
a54444e919 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
2024-10-13 14:42:06 +03:00
anttiharju
4b55e2ce8b 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/
2024-10-13 14:35:35 +03:00
Philipp Crocoll
4949fede32 remove tab in yml file 2023-03-06 08:05:57 +01:00
Philipp Crocoll
48a6d0a2ad disable macos build action 2023-03-06 07:58:52 +01:00
Philipp Crocoll
85315d0ecc run unit tests in github action 2023-02-28 22:42:04 +01:00
Philipp Crocoll
c1f7460c3e disable linux runner, currently not supported 2023-01-30 08:00:36 +01:00
tenzap
91b59c7c9f github workflow: switch to JDK 11
Since Android Gradle plugin was updated, it now requires JDK 11.

Fixes:

> Could not resolve all files for configuration ':classpath'.
   > Could not resolve com.android.tools.build:gradle:7.4.0.
     Required by:
         project :
      > No matching variant of com.android.tools.build:gradle:7.4.0 was found. The consumer was configured to find a runtime of a library compatible with Java 8, packaged as a jar, and its dependencies declared externally, as well as attribute 'org.gradle.plugin.api-version' with value '7.6' but:
          - Variant 'apiElements' capability com.android.tools.build:gradle:7.4.0 declares a library, packaged as a jar, and its dependencies declared externally:
              - Incompatible because this component declares an API of a component compatible with Java 11 and the consumer needed a runtime of a component compatible with Java 8
              - Other compatible attribute:
                  - Doesn't say anything about org.gradle.plugin.api-version (required '7.6')
2023-01-26 22:02:25 +01:00
tenzap
7ba6a44888 github workflow: restore download of 'platforms;android-26'
Some targets still target v8.0 (api26):

src/KeePassLib2Android/KeePassLib2Android.csproj:    <TargetFrameworkVersion>v8.0</TargetFrameworkVersion>
src/KP2AKdbLibraryBinding/KP2AKdbLibraryBinding.csproj:    <TargetFrameworkVersion>v8.0</TargetFrameworkVersion>
src/ZlibAndroid/ZlibAndroid.csproj:    <TargetFrameworkVersion>v8.0</TargetFrameworkVersion>
src/PluginSdkBinding/PluginSdkBinding.csproj:    <TargetFrameworkVersion>v8.0</TargetFrameworkVersion>
src/PCloudBindings/PCloudBindings.csproj:    <TargetFrameworkVersion>v8.0</TargetFrameworkVersion>
src/AndroidFileChooserBinding/AndroidFileChooserBinding.csproj:    <TargetFrameworkVersion>v8.0</TargetFrameworkVersion>
src/TwofishCipher/TwofishCipher.csproj:    <TargetFrameworkVersion>v8.0</TargetFrameworkVersion>

So we need it in ANDROID_SDK_ROOT.

Otherwise build fails with this error (on macos & windows):

C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Xamarin\Android\Xamarin.Android.Tooling.targets(100,5): error XA5207: Could not find android.jar for API level 26. This means the Android SDK platform for API level 26 is not installed. Either install it in the Android SDK Manager (Tools > Android > Android SDK Manager...), or change the Xamarin.Android project to target an API version that is installed. (C:\Android\android-sdk\platforms\android-26\android.jar missing.) [D:\a\keepass2android\keepass2android\src\TwofishCipher\TwofishCipher.csproj]
2023-01-25 09:16:31 +01:00
tenzap
187d4c8f41 github workflow: fix typo 2023-01-25 09:13:41 +01:00
tenzap
58b0b666ce github workflow: restore download of xamarin.android only if it isn't in cache 2023-01-25 09:13:22 +01:00
tenzap
8393694e6c github workflow: restore 'Setup Xamarin.Android' step 2023-01-25 09:11:24 +01:00
tenzap
b99f82d3d7 github workflow: remove 'Install NDK' step
Not needed and I believe nowadays we should use the sdkmanager or cmdline-tools/latest/bin
2023-01-25 09:10:22 +01:00
tenzap
3c9a8341ae github workflow: use gradle/gradle-build-action@v2 to manage gradle cache
Should be better than the custom way we used and manages the lock
made on windows runners
2023-01-25 09:06:52 +01:00
Philipp Crocoll
8f69a60307 remove gradle caching on Windows as well 2023-01-24 20:55:37 +01:00
Philipp Crocoll
14c2e64e2f disable gradle cache 2023-01-24 20:50:52 +01:00
Philipp Crocoll
554338012e now really remove install workload 2023-01-24 19:57:16 +01:00
Philipp Crocoll
3185cf1a9c re-enable download of xamarin build tools for linux 2023-01-24 19:43:54 +01:00
Philipp Crocoll
ed91d0db0b fix syntax error 2023-01-24 19:36:10 +01:00
Philipp Crocoll
dd7cb0a088 enable usage of xamarin_url for linux again 2023-01-24 19:31:01 +01:00
Philipp Crocoll
874e1dbae8 remove download of xamarin-33 2023-01-24 19:22:52 +01:00
Philipp Crocoll
649c0739f6 github action: install ndk for windows also, use "workload install" on linux 2023-01-23 20:39:17 +01:00
Philipp Crocoll
3db5ea4713 fix syntax error 2023-01-23 12:53:07 +01:00
Philipp Crocoll
96b5e1c10e install NDK 21.0.6113669 on github workflow runner 2023-01-23 12:41:14 +01:00
Philipp Crocoll
2bf5222505 update github workflow to use Visual studio 2022 and Xamarin for target sdk 33 2023-01-23 12:15:28 +01:00
tenzap
3483654830 github workflow: make use of caches for nuget, gradle & xamarin
Speeds job by up to ~3-5 minutes
2022-12-13 14:10:00 +01:00
tenzap
548b92ffe9 Makefile: improve nuget restore & clean
In some cases, nuget restore isn't sufficient to restore everything, especially if project.assets.json files
are missing or were removed. So we add a call to MSBuild -t:restore to build it.

Both nuget & msbuild are required because msbuild can only restore packages in 'packages.config' from version
16.5
2022-12-13 14:07:15 +01:00
tenzap
cf0e8a1926 [nonet migration] adapt Makefile and github worklow, update build doc
This will permit to build on the github workflow both the 'net' and 'nonet'
variant
2022-12-10 20:44:55 +01:00
tenzap
b99272e850 add github actions workflow (build with macos, windows, linux) 2022-12-08 12:29:15 +01:00