Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CI maintenance because of deprecations on Oct 15 and Nov 30 2024 #2685

Closed
wants to merge 12 commits into from

Conversation

anttiharju
Copy link
Contributor

What

I made small careful commits and tried to explain each in their message. Reviewing this PR commit-by-commit might be the easiest way to understand it.

Why

https://github.blog/changelog/label/actions+deprecation/ is a good resource for staying up-to-date on action deprecations. There are a few that would affect this repo, so I went ahead and updated the build workflow.

  1. End of life for Actions Node16

    From the 15th of October, we will no longer include Node16 in the Actions runner and customers will no longer be able to use Node16 Actions or operating systems that do not support Node20.

  2. Deprecation notice: v3 of the artifact actions

    Starting November 30, 2024, GitHub Actions customers will no longer be able to use v3 of actions/upload-artifact or actions/download-artifact. Customers should update workflows to begin using v4 of the artifact actions as soon as possible.


I like this app quite a bit, hopefully this PR is helpful. Thanks for all the work so far.

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
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.
@anttiharju anttiharju marked this pull request as ready for review October 13, 2024 12:59
@PhilippC
Copy link
Owner

thanks a lot! That nicely goes hand-in-hand with my current efforts to upgrade Gradle version, Target SDK version, some used libraries etc.

@anttiharju
Copy link
Contributor Author

There seems to be some validation issues, sorry about those. I'll try to debug them in a private fork where CI runs wouldn't need maintainer approval.

Are your current efforts available in a branch?

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.
@anttiharju
Copy link
Contributor Author

I pushed a few more commits, validation is no longer an issue.

The issue seems to be that the dependencies com.onedrive.sdk:onedrive-sdk-android:1.2.0 and com.microsoft.services.msa:msa-auth:0.8.6 are no longer available as jCenter has gone offline (see the logs snippet in the spoiler below). I took a stab at looking for alternative sources, but couldn't find any. I'm afraid I can't help further with this as I'm completely unfamiliar with gradle.

logs
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:checkDebugAarMetadata'.
> Could not resolve all files for configuration ':app:debugRuntimeClasspath'.
   > Could not find com.onedrive.sdk:onedrive-sdk-android:1.2.0.
     Searched in the following locations:
       - https://dl.google.com/dl/android/maven2/com/onedrive/sdk/onedrive-sdk-android/1.2.0/onedrive-sdk-android-1.2.0.pom
       - https://repo.maven.apache.org/maven2/com/onedrive/sdk/onedrive-sdk-android/1.2.0/onedrive-sdk-android-1.2.0.pom
       - https://jcenter.bintray.com/com/onedrive/sdk/onedrive-sdk-android/1.2.0/onedrive-sdk-android-1.2.0.pom
     Required by:
         project :app > project :JavaFileStorage
   > Could not find com.microsoft.services.msa:msa-auth:0.8.6.
     Searched in the following locations:
       - https://dl.google.com/dl/android/maven2/com/microsoft/services/msa/msa-auth/0.8.6/msa-auth-0.8.6.pom
       - https://repo.maven.apache.org/maven2/com/microsoft/services/msa/msa-auth/0.8.6/msa-auth-0.8.6.pom
       - https://jcenter.bintray.com/com/microsoft/services/msa/msa-auth/0.8.6/msa-auth-0.8.6.pom
     Required by:
         project :app > project :JavaFileStorage

One dependency that was previously on jCenter was available from GitHub so that's updated in 65092dc

@PhilippC
Copy link
Owner

Hi @anttiharju sorry for the late response. I haven't pushed my changes yet because I wasn't able to build the app with the updated libraries yet. I got stuck on in issue with the Xamarin bindings library for the new dropbox API which now includes an .aar which I wasn't yet able to bind. I only have some time again today, hopefully I will be successful later.

Regarding OneDrive: In my local branch I removed these old libraries. I have implemented OneDrive using a more recent SDK a while ago, but kept the old API for users who already used it. But now it's been around for so long that I think I can safely remove it.

I'll hopefully push my changes later!

@PhilippC PhilippC mentioned this pull request Oct 22, 2024
@PhilippC
Copy link
Owner

fyi: I have merged this into #2692. After some further smaller changes, the build succeeded there now!

@PhilippC
Copy link
Owner

I'll close this here and merge the changes as part of #2692

@PhilippC PhilippC closed this Oct 22, 2024
@anttiharju
Copy link
Contributor Author

thanks for all the work!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants