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

Workflow builds gegen releases von Jameica und Hibiscus #516

Closed
4 tasks done
tolot27 opened this issue Dec 4, 2024 · 4 comments
Closed
4 tasks done

Workflow builds gegen releases von Jameica und Hibiscus #516

tolot27 opened this issue Dec 4, 2024 · 4 comments
Assignees
Labels
enhancement New feature or request

Comments

@tolot27
Copy link
Member

tolot27 commented Dec 4, 2024

Ich habe das jetzt mal in einen neuen Issue extrahiert, damit wir hier weiter diskutieren können.

Aktuell kompilieren die actions official und nightly gegen jameica master und hibiscus master.
Das sollte dann mit ref zu JAMEICA_2_8_BRANCH und HIBISCUS_2_8_BRANCH im checkout erweitert werden um die 2.8 Versionen zu bekommen.

Originally posted by @dippeal in #505 (comment)

  • gegen 2.10er tags kompilieren
  • Jars verwenden, statt jedes Mal zu kompilieren
  • Actions Cache verwenden, um jars nicht jedes Mal neu herunterladen zu müssen (was auch mal fehlschlagen kann)
  • Workflows wiederverwenden
@tolot27 tolot27 added the enhancement New feature or request label Dec 4, 2024
@tolot27
Copy link
Member Author

tolot27 commented Dec 4, 2024

Das sollte dann mit ref zu JAMEICA_2_8_BRANCH und HIBISCUS_2_8_BRANCH im checkout erweitert werden um die 2.8 Versionen zu bekommen.

Warum gegen die 2.8er Version "linken"? Die aktuelle Version ist die 2.10 (siehe https://www.willuhn.de/products/hibiscus/download.php und https://www.willuhn.de/products/jameica/download.php).

Ich würde es gern gegen das aktuelle Release und optional gegen das Nightly linken. Natürlich können wir auch gegen frühere Versionen linken. Das kann man im Workflow mit matrices abbilden.

@tolot27
Copy link
Member Author

tolot27 commented Dec 4, 2024

Ich würde mir die aktuellen release tags nun wie folgt holen:

git ls-remote --refs --tags --sort="-v:refname"  https://github.com/willuhn/jameica.git V_\* | head -1 | cut -f 2 | cut -d / -f 3
git ls-remote --refs --tags --sort="-v:refname"  https://github.com/willuhn/hibiscus.git V_\* | head -1 | cut -f 2 | cut -d / -f 3

@tolot27
Copy link
Member Author

tolot27 commented Dec 4, 2024

Das eigentliche fetching der aktuell released jar files geht doch einfacher, als ich dachte:

pip install remotezip
remotezip -d ../ https://www.willuhn.de/products/jameica/releases/current/jameica/jameica-linux64.zip jameica/jameica.jar jameica/plugin.xml
remotezip -d ../ https://www.willuhn.de/products/hibiscus/releases/current/hibiscus.zip hibiscus/hibiscus.jar hibiscus/plugin.xml

Über den release tag kann man sie cachen. Oder man zieht die Versionsinfo aus der plugin.xml:

xmllint --xpath "string(//*[local-name()='plugin']/@version)" ../hibiscus/plugin.xml
xmllint --xpath "string(//*[local-name()='system']/@version)" ../jameica/plugin.xml

@tolot27
Copy link
Member Author

tolot27 commented Dec 5, 2024

Ich möchte noch einmal hervorheben, dass wir durchaus die Cross-Compile-Fähigkeit von Java nutzen sollten. Mit e23c80d haben wir auf den --release-Parameter von javac umgestellt. Damit ist sichergestellt, dass wir, egal welche JDK-Version wir verwenden, die von uns gewünschte Zielversion unseres Plugins cross-kompilieren können.
Insofern könnten wir die Java-Version in den GitHub Actions Workflows durchaus bei 17 belassen. Solange wir jameica und hibiscus auschecken und kompilieren, egal ob nun master oder releases, wärend wir damit "resistenter" gegenüber Java Version Upgrades.

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

No branches or pull requests

2 participants