Skip to content

rnpgp/rnp-ci-containers

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build scripts for RNP CI containers

This repository contains docker scripts to build containers that support RNP CI.

Naming

Scripts naming follows the pattern

<operating system>-<version>.Dockerfile

for example,

debian-11-i386.Dockerfile

Containers' tags follow the pattern

ci-rnp-<operating system>-<version>

for example,

ci-rnp-debian-11-i386

Image specification

RNP CI normally uses system shipped versions of dependencies. However, under two circumstances custom requirements need to be supported:

  • some legacy environments provide only versions that are not supported by rnp

  • sometimes RNP needs to be tested with versions that differ from provided by system packages

This repository created images that support two cases listed above

Currently built gpg versions are 2.2.43 for lts, and 2.4.5 for stable.

Pre-installed versions of gnugp and json-c and botan libraries

image botan version botan source gpg version gpg source

debian-10-i386

2.18.2

local build @ /usr/local

2.2.12

system shipped

debian-11-i386

2.18.2

local build @ /usr/local

2.2.27

system shipped

debian-11-amd64

2.18.2

local build @ /usr/local

2.2.27

system shipped

debian-12-amd64

2.19.3

system shipped

2.2.40

system shipped

centos-7-amd64

2.16.0

ribose repository

2.0.22

system shipped

stable

local build @ /opt/gpg/stable

lts

local build @ /opt/gpg/lts

centos-9-amd64

2.19.3

system shipped

2.3.3

system shipped

stable

local build @ /opt/gpg/stable

lts

local build @ /opt/gpg/lts

fedora-39-amd64

2.19.3

system shipped

2.4.4

system shipped

3.4.0

local build @ /opt/botan/3.4.0

stable

local build @ /opt/gpg/stable

lts

local build @ /opt/gpg/lts

fedora-40-amd64

2.19.3

system shipped

2.4.4

system shipped

3.1.1

local build @ /opt/botan/3.1.1

stable

local build @ /opt/gpg/stable

3.2.0

local build @ /opt/botan/3.2.0

3.3.0

local build @ /opt/botan/3.3.0

lts

local build @ /opt/gpg/lts

3.4.0

local build @ /opt/botan/3.4.0

opensuse-leap

2.19.3

system shipped

2.2.27

system shipped

opensuse-tumbleweed

2.19.3

system shipped

2.4.5

system shipped

RHEL OpenSSL-only images

image openssl version openssl source gpg version gpg source

RHEL 8 UBI

1.1.1k

system shipped

2.2.20

system shipped

RHEL 9 UBI

3.0.7

system shipped

2.3.3

system shipped

Helper script

All images include helper script placed at /opt/tools/tools.sh This script supports the following actions

/opt/tools/tools.sh build_and_install_botan [<botan version selector>]

Builds and installs specified botan version. botan version selector is any tag or branch that can be used by git checkout Specified bitan version is installed to /opt/botan/<botan version selector>

There are two special cases. If <botan version selector> is 'head' the script uses 'master' for checkout If <botan version selector> is omitted, the script build default botan version (2.18.2) and installs it to /usr/local

/opt/tools/tools.sh build_and_install_gpg [<gpg version selector>]

Builds and installs specified gpg version. gpg version selector can be head, stable or lts only. Build is performed using the script from https://github.com/rnpgp/gpg-build-scripts and specification below

selector npth libgpg-error libgcrypt libassuan libksba pinentry gnupg

head (uses git references)

npth-1.6

master

master

master

master

master

master

stable

1.7

1.48

1.10.3

2.5.7

1.6.6

1.3.0

2.4.5

lts

1.6

1.48

1.8.10

2.5.5

1.6.3

1.2.1

2.2.43

select_crypto_backend_for_gha [botan | openssl]

Configures GHA environment to use specified crypto backend. This configuration takes effect from the next job step only

select_gpg_version_for_gha [<gpg version selector>]

Configures GHA environment to use specified version of botan. This configuration takes effect from the next job step only <gpg version selector> is either selector used by build_and_install_gpg or 'system'

select_botan_version_for_gha [<botan version selector>]

Configures GHA environment to use specified version of botan. This configuration takes effect from the next job step only <botan version selector> is either selector used by build_and_install_botan or 'system'