Add installation tests for Linux packages
- Dominant language
- Jinja
- Stars
- 168
- Forks
- 77
- Avg merge
- 2d 14h
- Merged PRs (30d)
- 12
Description
The umbrella issue is #205.
We need to tests whether Linux packages can be installed at all.
Things we have to check:
* **Does the package install at all?** This needs to be tested on all supported distributions, on all platforms and newest and oldest supported versions. For example, there are subtle differences between Debian and Ubuntu that made packages installable on Ubuntu but not on Debian (see #105 for an example).
* **Does the package pull in the right dependencies?** This needs to be tested at least on all distributions and platforms. RPM for example requires a ISA indicator. Without it, yum might pull 32 bit dependencies on a 64 bit platform.
* **Is it possible to install the package after the matching Java implementation shipped with the distribution?** Inconsistencies in update-alternatives might cause installation failures. This needs to be tested on all distributions, oldest and newest supported.
* **Is it possible to switch between the Java implementation shipped with the distribution and the AdoptOpenJDK package using the distribution's tools?** `update-alternatives` on RPM-based distributions and `update-java-alternatives` on deb-based distributions. This needs to be tested on all distributions, newest and oldest supported versions.
Additional requirements:
* The test should be performed as part of the build before packages are uploaded and should fail the build if it does not succeed.
* The artifact (deb, rpm) produced during the build should be directly installed. Downloading additional packages from our repository is okay, however.
* Ideally, the testing should be able to handle multiple packages simultaneously because of #106.
Contributor guide
Research direction
Start with umbrella issue #205 and inspect the existing build and package-production flow. Map the supported distributions, platforms, and Java implementations, then determine how the generated deb and rpm artifacts can be installed and switched during the build. Done means build failures cover installation, dependencies, and Java implementation switching across the required matrix.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, linux
- Domain
- build-system, devops, operating-systems, testing-qa
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100