summaryrefslogtreecommitdiffstats
path: root/README-DOCKER.md
diff options
context:
space:
mode:
authorBen Woodard <woodard@redhat.com>2022-05-16 09:34:43 -0700
committerDodji Seketeli <dodji@redhat.com>2022-05-17 00:13:40 +0200
commitd7557e8c25b118f75e0f79f6fafbe50360759d4a (patch)
tree977d09ea592c60986e922a81ed13f24508b9c487 /README-DOCKER.md
parentabipkgdiff: Add support to compare packages with CTF debug format (diff)
downloadlibabigail-d7557e8c25b118f75e0f79f6fafbe50360759d4a.tar.gz
libabigail-d7557e8c25b118f75e0f79f6fafbe50360759d4a.tar.bz2
libabigail-d7557e8c25b118f75e0f79f6fafbe50360759d4a.tar.xz
Add github actions to support workflows
To facilitate collaboration with developers working on the BUILD-SI project who are using github, I have been maintaining a clone of the libabigail repo there. Having this repo also allows us to leverage some of the tooling that github provides, in particular the ability to have github actions test patches to verify that the builds succeed, and all the regression tests run successfully. This will allow it to better integrate with the normal agile workflow used by at least this community of developers. * .github/workflows/build-container.yaml: New file. * .github/workflows/libabigail.yaml: Likewise. * .github/workflows/test.yaml: Likewise. * .github/workflows/test-fedora.yaml: Likewise. * .github/README.md: Likewise. * docker/Dockerfile.fedora: Likewise. * docker/Dockerfile.ubuntu: Likewise. * docker/Dockerfile.fedora-base: Likewise. * docker/Dockerfile.test: Likewise. * README-DOCKER.md: Likewise. Signed-off-by: Vanessa Sochat <sochat1@llnl.gov> Reviewed-by: Ben Woodard <woodard@redhat.com> Signed-off-by: Dodji Seketeli <dodji@redhat.com>
Diffstat (limited to 'README-DOCKER.md')
-rw-r--r--README-DOCKER.md66
1 files changed, 66 insertions, 0 deletions
diff --git a/README-DOCKER.md b/README-DOCKER.md
new file mode 100644
index 00000000..ad2dd8e1
--- /dev/null
+++ b/README-DOCKER.md
@@ -0,0 +1,66 @@
1# Libabigail Docker
2
3Libabigail comes with two Dockerfile in [docker](docker) to build each of:
4
5 - a Fedora base image (recommended)
6 - an Ubuntu base image.
7
8These containers are built and deployed on merges to the main branch and releases.
9
10### Usage
11
12Here is how to build the containers. Note that we build so it belongs to the same
13namespace as the repository here. "ghcr.io" means "GitHub Container Registry" and
14is the [GitHub packages](https://github.com/features/packages) registry that supports
15 Docker images and other OCI artifacts.
16
17```bash
18$ docker build -f docker/Dockerfile.fedora -t ghcr.io/woodard/libabigail-fedora .
19```
20```bash
21$ docker build -f docker/Dockerfile.ubuntu -t ghcr.io/woodard/libabigail-ubuntu-22.04 .
22```
23
24Note that currently the fedora image is deployed to `ghcr.io/woodard/libabigail:latest`.
25
26### Shell
27
28To shell into a container (here is an example with ubuntu):
29
30```bash
31$ docker run -it ghcr.io/woodard/libabigail-ubuntu-22.04 bash
32```
33
34Off the bat, you can find the abi executables:
35
36```bash
37# which abidiff
38/opt/abigail-env/.spack-env/view/bin/abidiff
39```
40
41Since the ubuntu base uses spack, you can interact with spack.
42You can go to the environment in `/opt/abigail-env` and (given you
43have the source code bound to `/src`) build and test again.
44
45```bash
46$ spack install
47```
48
49And that's it! This workflow should make it easy to install development versions of libabigail with spack.
50We will also use the "production" containers to grab libraries in:
51
52```
53$ ls /opt/abigail-env/.spack-env/view/
54bin include lib share
55```
56
57Note that the fedora container does not come with spack.
58
59### Testing
60
61We provide a testing container, which will use a fedora base and add new code to
62compile, and then run `make check`. You can do this as follows on your local machine:
63
64```bash
65$ docker build -f docker/Dockerfile.test -t test .
66```