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

Add JDK EA build #10904

Merged
merged 21 commits into from
Feb 24, 2024
Merged

Add JDK EA build #10904

merged 21 commits into from
Feb 24, 2024

Conversation

koppor
Copy link
Member

@koppor koppor commented Feb 21, 2024

This adds build checks on main for JDK early access builds. The concrete setting is inspired by the JUnit5 team at https://github.com/junit-team/junit5/blob/main/.github/workflows/cross-version.yml.

Background: JabRef is listed on the Quality Outreach page of the JDK team and "should" report whether JabRef works with EA builds. With this workflow, we will be able to tell whether JabRef can be build (or not)


image


Generated files:

image


image

Mandatory checks

  • Change in CHANGELOG.md described in a way that is understandable for the average user (if applicable)
  • Tests created for changes (if applicable)
  • Manually tested changed features in running JabRef (always required)
  • Screenshots added in PR description (for UI changes)
  • Checked developer's documentation: Is the information available and up to date? If not, I outlined it in this pull request.
  • Checked documentation: Is the information available and up to date? If not, I created an issue at https://github.com/JabRef/user-documentation/issues or, even better, I submitted a pull request to the documentation repository.

@koppor koppor marked this pull request as draft February 21, 2024 20:37
run: |
echo "${{ secrets.buildJabRefPrivateKey }}" > sshkey
chmod 600 sshkey
rsync -rt --chmod=Du=rwx,Dg=rx,Do=rx,Fu=rw,Fg=r,Fo=r --itemize-changes --stats --rsync-path="mkdir -p /var/www/builds.jabref.org/www/${{ needs.build.outputs.branchname }} && rsync" -e 'ssh -p 9922 -i sshkey -o StrictHostKeyChecking=no' build/distribution/ [email protected]:/var/www/builds.jabref.org/www/${{ needs.build.outputs.branchname }}/
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

upload. in a separate dir?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@koppor
Copy link
Member Author

koppor commented Feb 21, 2024

@Siedlerchr I removed the notarization things and called jlink using the "normal" gradle task. Seems to work?!

@koppor koppor marked this pull request as ready for review February 21, 2024 23:54
Copy link
Contributor

github-actions bot commented Feb 21, 2024

The build for this PR is no longer available. Please visit https://builds.jabref.org/main/ for the latest build.

@koppor
Copy link
Member Author

koppor commented Feb 22, 2024

Next PR could add inclusion of JavaFX-_EA (https://jdk.java.net/javafx22/). I didn't find it on maven central quickly yet.

@Siedlerchr
Copy link
Member

@Siedlerchr Siedlerchr added this pull request to the merge queue Feb 24, 2024
Merged via the queue into main with commit d94c9f4 Feb 24, 2024
27 checks passed
@Siedlerchr Siedlerchr deleted the check-jdk22-ea branch February 24, 2024 12:08
Siedlerchr added a commit to shawn-jj/jabref that referenced this pull request Feb 26, 2024
* upstream/main: (22 commits)
  Bump com.github.andygoossens.modernizer from 1.9.0 to 1.9.2 (JabRef#10922)
  Bump com.dlsc.gemsfx:gemsfx from 1.97.0 to 2.0.3 (JabRef#10923)
  Bump org.apache.logging.log4j:log4j-to-slf4j from 2.22.1 to 2.23.0 (JabRef#10921)
  Added missing changelog entry for JabRef#10912
  Change the popup to enter types to the combo box for custom entry types (JabRef#10912)
  Add JDK EA build (JabRef#10904)
  Fix Broken Links (JabRef#10899)
  Add HTML2MD conversion to abstract and comment fields (JabRef#10896)
  docs: Fixed URLs and corrected typos (JabRef#10900)
  Add refresh button for LaTeX citations. (JabRef#10901)
  Farewell btut 👋 (JabRef#10905)
  Fix: About OOError, Alternatives section not visible (JabRef#10902)
  Update code-quality.md
  Fix documentation issues: Sourcegraph URL and method name (JabRef#10898)
  Removed mainapplication layer (JabRef#10895)
  Update check-links.yml (JabRef#10897)
  [WIP] Adds the ability to specify [camelN] as a title-related field marker for citation key generation (JabRef#10772)
  Bump com.dlsc.gemsfx:gemsfx from 1.92.0 to 1.97.0 (JabRef#10894)
  Bump org.openrewrite.recipe:rewrite-recipe-bom from 2.6.3 to 2.6.4 (JabRef#10892)
  Bump org.junit.platform:junit-platform-launcher from 1.10.1 to 1.10.2 (JabRef#10893)
  ...

# Conflicts:
#	src/main/java/org/jabref/gui/desktop/os/NativeDesktop.java
@koppor koppor mentioned this pull request Feb 26, 2024
6 tasks
@linsui
Copy link
Contributor

linsui commented May 9, 2024

Why is the repo for org.gradle.toolchains.foojay-resolver-convention removed? I got this error when building jabref:

* Where:
Settings file '/build/source/settings.gradle' line: 2

* What went wrong:
Plugin [id: 'org.gradle.toolchains.foojay-resolver-convention', version: '0.8.0'] was not found in any of the following sources:

- Gradle Core Plugins (plugin is not in 'org.gradle' namespace)
- Included Builds (No included builds contain this plugin)
- Plugin Repositories (could not resolve plugin artifact 'org.gradle.toolchains.foojay-resolver-convention:org.gradle.toolchains.foojay-resolver-convention.gradle.plugin:0.
8.0')
  Searched in the following reposito

@Siedlerchr
Copy link
Member

Hm, normally it should not be necessary. Did readdding fix your issues?

@linsui
Copy link
Contributor

linsui commented May 9, 2024

Yes, without it some other plugins in build.gradle can't be resolved, either.

@koppor
Copy link
Member Author

koppor commented May 9, 2024

Why is the repo for org.gradle.toolchains.foojay-resolver-convention removed? I got this error when building jabref:

* Where:
Settings file '/build/source/settings.gradle' line: 2

* What went wrong:
Plugin [id: 'org.gradle.toolchains.foojay-resolver-convention', version: '0.8.0'] was not found in any of the following sources:

- Gradle Core Plugins (plugin is not in 'org.gradle' namespace)
- Included Builds (No included builds contain this plugin)
- Plugin Repositories (could not resolve plugin artifact 'org.gradle.toolchains.foojay-resolver-convention:org.gradle.toolchains.foojay-resolver-convention.gradle.plugin:0.
8.0')
  Searched in the following reposito

Which operating system? Which branch? - We use the CI environment of GitHub; and we don't have any issues there.

@linsui
Copy link
Contributor

linsui commented May 10, 2024

I'm building 5.13 for NixOS.

@koppor
Copy link
Member Author

koppor commented May 13, 2024

@linsui I didn't have time to try myself on NixOS. Do you have a link to enable easy reproducing?

The error message is incomplete. It stops at Searched in the following reposito, but after that, the list of all searched repositories should appear.

- Plugin Repositories (could not resolve plugin artifact 'me.champeau.notfound.jmh:me.champeau.notfound.jmh.gradle.plugin:0.7.2')
  Searched in the following repositories:
    Gradle Central Plugin Repository

Yes, without it some other plugins in build.gradle can't be resolved, either.

Maybe, it is some NixOS specialty not to load any plugins if not explicitly asked for?

@linsui
Copy link
Contributor

linsui commented May 13, 2024

FAILURE: Build failed with an exception.

* Where:
Settings file '/build/source/settings.gradle' line: 2

* What went wrong:
Plugin [id: 'org.gradle.toolchains.foojay-resolver-convention', version: '0.8.0'] was not found in any of the following sources:

- Gradle Core Plugins (plugin is not in 'org.gradle' namespace)
- Included Builds (No included builds contain this plugin)
- Plugin Repositories (could not resolve plugin artifact 'org.gradle.toolchains.foojay-resolver-convention:org.gradle.toolchains.foojay-resolver-convention.gradle.plugin:0.
8.0')
  Searched in the following repositories:
    Gradle Central Plugin Repository

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
> Get more help at https://help.gradle.org.

BUILD FAILED in 3s

I did more tests and I found that I just need to add

    pluginManagement {
      repositories {
      }
    }

@koppor
Copy link
Member Author

koppor commented May 14, 2024

@linsui This is very strange. I tried, compiles also with empty repositories (also it should not)

Can you run it with --scan and check the "Build Dependency" and check which repository was used?

grafik

We currently assume that NixOS might inject some other repositories?

@linsui
Copy link
Contributor

linsui commented May 14, 2024

We currently assume that NixOS might inject some other repositories?

Oh, you are correct. Sorry for the noise! NixOS downloads the maven deps into a local maven repo for offline build. Without the repositories in settings.gradle the local maven repo is not injected. Thanks for your help!

@koppor
Copy link
Member Author

koppor commented May 14, 2024

We currently assume that NixOS might inject some other repositories?
Oh, you are correct. Sorry for the noise! NixOS downloads the maven deps into a local maven repo for offline build. Without the repositories in settings.gradle the local maven repo is not injected. Thanks for your help!

Thank you for the follow-up and quick replies! Does that also mean that there will be patch to the NixOS scripts? 😅

Kudos to @jjohannes for the help in a slack chat!

@linsui
Copy link
Contributor

linsui commented May 14, 2024

Yes, I'm updating the jabref package for NixOS. :)

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.

3 participants