diff options
author | Ben Woodard <woodard@redhat.com> | 2022-05-16 09:34:43 -0700 |
---|---|---|
committer | Dodji Seketeli <dodji@redhat.com> | 2022-05-17 00:13:40 +0200 |
commit | d7557e8c25b118f75e0f79f6fafbe50360759d4a (patch) | |
tree | 977d09ea592c60986e922a81ed13f24508b9c487 /README-DOCKER.md | |
parent | abipkgdiff: Add support to compare packages with CTF debug format (diff) | |
download | libabigail-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.md | 66 |
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 | |||
3 | Libabigail comes with two Dockerfile in [docker](docker) to build each of: | ||
4 | |||
5 | - a Fedora base image (recommended) | ||
6 | - an Ubuntu base image. | ||
7 | |||
8 | These containers are built and deployed on merges to the main branch and releases. | ||
9 | |||
10 | ### Usage | ||
11 | |||
12 | Here is how to build the containers. Note that we build so it belongs to the same | ||
13 | namespace as the repository here. "ghcr.io" means "GitHub Container Registry" and | ||
14 | is 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 | |||
24 | Note that currently the fedora image is deployed to `ghcr.io/woodard/libabigail:latest`. | ||
25 | |||
26 | ### Shell | ||
27 | |||
28 | To 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 | |||
34 | Off 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 | |||
41 | Since the ubuntu base uses spack, you can interact with spack. | ||
42 | You can go to the environment in `/opt/abigail-env` and (given you | ||
43 | have the source code bound to `/src`) build and test again. | ||
44 | |||
45 | ```bash | ||
46 | $ spack install | ||
47 | ``` | ||
48 | |||
49 | And that's it! This workflow should make it easy to install development versions of libabigail with spack. | ||
50 | We will also use the "production" containers to grab libraries in: | ||
51 | |||
52 | ``` | ||
53 | $ ls /opt/abigail-env/.spack-env/view/ | ||
54 | bin include lib share | ||
55 | ``` | ||
56 | |||
57 | Note that the fedora container does not come with spack. | ||
58 | |||
59 | ### Testing | ||
60 | |||
61 | We provide a testing container, which will use a fedora base and add new code to | ||
62 | compile, 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 | ``` | ||