Platform SIG February 28, 2023

Attending:

Agenda:

  • Open action items:

  • Docker Images

  • Ongoing Work and discussions

    • Centos 7 Jenkins Controller Docker Image
    • Officially (RedHat & Community: About/Product - CentOS Wiki), CentOS7 is in “maintenance” update from 2020 and until June 2024.
    • Proposal: deprecate the centos images. needs announcement
    • Need a JEP: proposal to end the Centos7 image earlier than June 2024. The docker container is already not supported anymore.
    • We would need another JEP before using an administrative monitor:
      • Consider adding a Jenkins administrative monitor that would inform the user that they are running a deprecated container image. We could use the presence of a flag file in the container image to indicate deprecation, then display the alert in Jenkins in the same way that “you have a new version” or “this plugin is deprecated” messages are shown
      • That could maybe work with a JEP and a PR. We should change our usual behavior. We could choose an arbitrary date before the official end-of-life for Centos. PR would be about the message entering Jenkins core. We should then get lots of conversation and insights about this proposal, which is good for the project. The subject is broader than Centos7 itself, that could lead to good solutions for the next things to deprecate.
  • Latest updates on the agent images:

    • Ssh-agent:
      • Bump Git version on Windows to 2.39.2.windows.1 (#209) @github-actions
    • Docker-agent:
      • Bump Git version on Windows to 2.39.2.windows.1 (#376) @github-actions
    • Inbound agent:
      • Bump the parent image jenkins/agent version to 3107.v665000b_51092-4 (#331) @github-actions
      • Bump the parent image jenkins/agent version to 3107.v665000b_51092-3 (#330) @github-actions
      • chore(deps): bump updatecli/updatecli-action from 2.19.0 to 2.20.1 (#329) @dependabot
  • Android Build tools are now natively compatible with aarch64.

    • No need to use Rosetta to build Android apps on aarch64 anymore from Android Build tools 31.0.0…
    • Prior to version 31.0.0, there was a bug in the Android build tools that caused the aapt2 tool to crash when building resources on aarch64 machines. This issue was resolved in version 31.0.0, which added native support for aarch64 and fixed the aapt2 crash on these machines.
    • So, if you want to build Android applications on the command line on an aarch64 machine, you will need to make sure you are using Android build tools version 31.0.0 or later. This should allow you to use the android and gradle command-line tools to build and package your Android application, as well as to test and deploy it on a range of Android devices.
    • We could theoretically build Android apps on Raspberry PI 3B+ from now on… with Jenkins of course.
  • RISC-V and Jenkins

    • In a blog post from May 2021, the RISC-V Foundation demonstrated Jenkins running on a RISC-V board with a Linux operating system. The demo used the OpenSBI bootloader and the OpenJDK RISC-V Port to run Jenkins, and was able to successfully build and test a simple Java application. The post includes detailed instructions for setting up Jenkins on RISC-V and running a build job.
    • In a Reddit thread from January 2021, a user reported running Jenkins on a HiFive Unmatched RISC-V board using Ubuntu 20.04 and OpenJDK 11. The user reported that Jenkins worked well on the RISC-V board and was able to run build jobs without any issues.
    • In a GitHub issue from May 2020, a user reported running Jenkins on a RISC-V board with a custom-built Linux kernel and OpenJDK 11. The user reported some initial issues with the JVM crashing, but was able to resolve these issues by disabling some of the more complex Jenkins plugins. The user reported that Jenkins was working well on the RISC-V board and was able to successfully run build jobs.