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: add Mariner and Arch Linux #1747

Merged
merged 4 commits into from
Oct 22, 2024

Conversation

dscho
Copy link
Collaborator

@dscho dscho commented Oct 22, 2024

After dropping the now-obsolete tgagor/centos-stream value from the matrix in #1746, let's now instead add the "somewhat" supported Mariner Linux and Arch Linux to the testing matrix.

The `which` executable must often be installed because it is missing
from many a Docker image. Therefore, it won't _really_ work if one
checks `which which` to figure out whether `which` is installed.

Let's avoid this by using `type`, which is a shell builtin for most
shells.

The `type` utility is specified in the POSIX standard, as per
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/type.html,
yet neither command-line options nor output is standardized. The only
thing we _can_ rely on is the exit status.

Note: _Technically_, this poses a change of behavior, as `which`
resolves only to executables that are on the `PATH` while `type` will
also happily report shell builtins. However, this is a net improvement:
If running the script in, say, BusyBox, where many of the common
utilities (including `which`!) are shell builtins, we would like to
avoid forcefully installing the packages without need.

Signed-off-by: Johannes Schindelin <[email protected]>
…sh work

The dotnet-install.sh script expects `awk` to be present, which is not
installed by default in Mariner Linux.

Signed-off-by: Johannes Schindelin <[email protected]>
This seems to be necessary to avoid problems with the `curl` calls when
`dotnet-install.sh` tries to download the `dotnet-sdk` TAR archive:

	dotnet-install: Attempting to download using aka.ms link https://dotnetcli.azureedge.net/dotnet/Sdk/8.0.403/dotnet-sdk-8.0.403-linux-x64.tar.gz
	curl: (60) SSL certificate problem: unable to get local issuer certificate
	More details here: https://curl.se/docs/sslcerts.html
	curl failed to verify the legitimacy of the server and therefore could not
	establish a secure connection to it. To learn more about this situation and
	how to fix it, please visit the web page mentioned above.

Signed-off-by: Johannes Schindelin <[email protected]>
These currently work, too, and we probably want to keep it that way.

Signed-off-by: Johannes Schindelin <[email protected]>
@dscho
Copy link
Collaborator Author

dscho commented Oct 22, 2024

For the record, here is a manually-triggered, successful run of the validate-install-from-source workflow that uses this PR branch: https://github.com/dscho/git-credential-manager/actions/runs/11458170852.

@dscho dscho requested a review from mjcheetham October 22, 2024 10:24
@mjcheetham mjcheetham merged commit 6c916a3 into git-ecosystem:main Oct 22, 2024
6 checks passed
@dscho dscho deleted the add-mariner-and-archlinux branch October 22, 2024 10:34
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