From 6378f6ee6b43ef801725f3dda428cc10a68f26d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maxime=20=E2=80=9Cpep=E2=80=9D=20Buquet?= Date: Thu, 3 Mar 2022 23:33:35 +0100 Subject: roezio: rework .gitlab-ci.yml MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Maxime “pep” Buquet --- scripts/generate_container | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100755 scripts/generate_container (limited to 'scripts/generate_container') diff --git a/scripts/generate_container b/scripts/generate_container new file mode 100755 index 00000000..fc01a0ee --- /dev/null +++ b/scripts/generate_container @@ -0,0 +1,42 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +# vim:fenc=utf-8 et ts=4 sts=4 sw=4 +# +# Copyright © 2022 Maxime “pep” Buquet +# +# Distributed under terms of the GPLv3+ license. + +""" + Generate Dockerfiles for our CI containers. + + The output can be used in the following way: + ``` + docker login docker.louiz.org + CONTAINER=docker.louiz.org/poezio/poezio:rust-python3.10 + python generate_container 3.10 | docker -t $CONTAINER - + docker push $CONTAINER + ``` +""" + +import sys + +TEMPLATE='''FROM rust:slim +RUN set -eux; \ + apt update; \ + apt install -y --no-install-recommends git libidn11-dev libncurses-dev; \ + rm -rf /var/lib/apt/lists/* +RUN rustup component add clippy rustfmt +COPY --from=python:VERSION-slim /usr/ /usr/ +COPY --from=python:VERSION-slim /lib/ /lib/ +RUN ldconfig''' + +REGISTRY='docker.louiz.org' +CONTAINER='poezio/poezio' +TAG='rust-python{version}' + +if __name__ == '__main__': + if len(sys.argv) != 2: + print('./generate_container.py ', file=sys.stderr) + sys.exit(1) + + print(TEMPLATE.replace('VERSION', sys.argv[1])) -- cgit v1.2.3