compiler-explorer / compiler-explorer/infra

Cerberus support

Open
#1,197 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
434
Forks
429
Avg merge
4d 21h
Merged PRs (30d)
38

Description

Now, as https://github.com/compiler-explorer/compiler-explorer/pull/5864 have been merged (Thanks!), I want to add support from Cerberus to the main website.

@mattgodbolt wrote: "The process could do with a look at: but basically if you have a system that can install the compiler from a tarball, or a dockerfile that can bulid it for Ubuntu 20 or 22, then we can help :) The compiler needs to be able to be somewhat hermetically built with no external dependencies (or minimal) as it will be run in a very restricted environment. Let me know if I can help more!"

We do not presently have a tarball, but we have a very simple ubuntu-based docker container:

1. [Dockerhub](https://hub.docker.com/repository/docker/vzaliva/cerberus-cheri/general)
2. [Dockerfile](https://github.com/rems-project/cerberus/blob/master/Dockerfile.cheri)

As you can see, the installation is done via OPAM package manger, which is, in turn, provided by Ubuntu (and other distros). Theoretically one can make OPAM to install everything under `/opt` or any other location by providing `--root=/opt/compiler-explorer/.opam` command line option to `opam init` command.

I am volunteering to do what's needed but need some guidance.

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the merged Compiler Explorer PR #5864, then inspect Dockerfile.cheri and the linked Docker Hub image to understand the current Cerberus installation. Confirm what the existing compiler-support process requires for a hermetic Ubuntu image and an installation under a controlled path; done means Cerberus is available on the main website.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, ubuntu
Domain
devops, infrastructure
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.