Skip to content

add support for letting the bot build compat layer#163

Merged
trz42 merged 56 commits intoEESSI:mainfrom
bedroge:ansible_in_container
Apr 3, 2023
Merged

add support for letting the bot build compat layer#163
trz42 merged 56 commits intoEESSI:mainfrom
bedroge:ansible_in_container

Conversation

@bedroge
Copy link
Copy Markdown
Collaborator

@bedroge bedroge commented Jan 6, 2023

The new script install-compatibility-layer.sh will run Ansible inside an Apptainer container (generated with a modified version of the existing Dockerfile, updated to Rocky 8).

Haven't managed to do a full test run, due to issues with the bootstrapping process: it fails to fetch some source file, so I'll probably have to update the gentoo commit that we use.

Comment thread Dockerfile.bootstrap-prefix-rockylinux8 Fixed
Comment thread Dockerfile.bootstrap-prefix-rockylinux8 Fixed
Comment thread Dockerfile.bootstrap-prefix-rockylinux8 Fixed
@bedroge
Copy link
Copy Markdown
Collaborator Author

bedroge commented Jan 12, 2023

This seems to work now. I've tested it, but had to disable the package set installation (as, for instance, archspec wouldn't install due to changes in gentoo, unrelated to this PR) and use a more up-to-date version of the bootstrap script and gentoo commit.

@bedroge bedroge marked this pull request as ready for review January 12, 2023 14:09
@@ -0,0 +1,17 @@
FROM debian:11-slim

Check warning

Code scanning / Scorecard

Pinned-Dependencies

score is 7: containerImage not pinned by hash Remediation tip: pin your Docker image by updating debian to debian@sha256:534da5794e770279c889daa891f46f5a530b0c5de8bfbc5e40394a0164d9fa87 Click Remediation section below for further remediation help
RUN apt-get update
RUN apt-get install -y gcc g++ make diffutils libgmp-dev perl
RUN apt-get install -y git python3-pip
RUN pip3 install --upgrade pip

Check warning

Code scanning / Scorecard

Pinned-Dependencies

score is 7: pipCommand not pinned by hash Click Remediation section below to solve this issue
Comment thread Dockerfile.bootstrap-prefix-debian11 Fixed
@bedroge bedroge force-pushed the ansible_in_container branch from 83619d2 to 8b9ef7d Compare January 12, 2023 14:44
@bedroge
Copy link
Copy Markdown
Collaborator Author

bedroge commented Jan 12, 2023

Initially, I switched from CentOS to Rocky for the container, but Rocky 8 only provides Docker containers for arm64 and amd64. So, in the end, I switched to Debian 11, which supports a whole range of architectures including ppc64le (and the unstable Debian image already supports riscv64 as well).

@ocaisa
Copy link
Copy Markdown
Member

ocaisa commented Jan 12, 2023

@ocaisa
Copy link
Copy Markdown
Member

ocaisa commented Jan 12, 2023

almalinux:8 does have a container for POWER

@bedroge
Copy link
Copy Markdown
Collaborator Author

bedroge commented Jan 12, 2023

almalinux:8 does have a container for POWER

Yeah, I considered that one as well, but since Debian is a bit more active with respect to riscv64 as well (which we probably want/need in the future) and the distro shouldn't really matter, I preferred it over Alma.

@bedroge
Copy link
Copy Markdown
Collaborator Author

bedroge commented Jan 12, 2023

See https://github.com/EESSI/compatibility-layer/actions/runs/3903315061/jobs/6667515735#step:7:3652 for the failure...no rust compiler for POWER?

Weird, I think it should exist: https://packages.debian.org/bullseye/rustc

@bedroge
Copy link
Copy Markdown
Collaborator Author

bedroge commented Mar 6, 2023

Successfully ran this on x86_64:

TASK [compatibility_layer : Run ReFrame tests] *********************************
ok: [localhost]

RUNNING HANDLER [compatibility_layer : Generate locales] ***********************
changed: [localhost]

PLAY RECAP *********************************************************************
localhost                  : ok=57   changed=31   unreachable=0    failed=0    skipped=3    rescued=0    ignored=1   

@bedroge bedroge changed the title Run the entire compatibility layer installation in a container + add support for letting the bot build Run the entire compatibility layer installation in a container + add support for letting the bot build + updates for 2023.03 Mar 7, 2023
@bedroge
Copy link
Copy Markdown
Collaborator Author

bedroge commented Mar 7, 2023

This PR includes so many different things now, I'm splitting it up into smaller ones:

boegel
boegel previously requested changes Mar 14, 2023
Comment thread bot/build.sh
host_arch=$(uname -m)
eessi_arch=${cpu_target_arch:-${host_arch}}
eessi_os=linux
eessi_version=2023.02
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

bump to 2023.03?

trz42 pushed a commit to trz42/compatibility-layer that referenced this pull request Mar 30, 2023
@trz42 trz42 dismissed boegel’s stale review April 3, 2023 09:04

version bump is done or needs to be done in a follow up PR

Copy link
Copy Markdown
Contributor

@trz42 trz42 left a comment

Choose a reason for hiding this comment

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

All conflicts resolved. Some requested changes (version bump) postponed to follow-up PR.

@trz42 trz42 merged commit b71060f into EESSI:main Apr 3, 2023
@boegel boegel changed the title Run the entire compatibility layer installation in a container + add support for letting the bot build + updates for 2023.03 add support for letting the bot build compat layer Apr 11, 2023
@bedroge bedroge deleted the ansible_in_container branch April 21, 2023 13:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants