blob: 751d9f2f473dc0a3e6d2ee827cee19b118e2087d [file] [log] [blame]
VERSION 0.7
FROM python:3.10
poetry:
RUN pip3 install poetry
deps:
FROM +poetry
COPY pyproject.toml poetry.lock ./
RUN poetry export -f requirements.txt --without-hashes > requirements.txt
RUN pip wheel -r requirements.txt --wheel-dir=/wheels
SAVE ARTIFACT requirements.txt
SAVE ARTIFACT /wheels
build:
FROM +deps
RUN python3 -m venv /venv
ENV PATH=/venv/bin:$PATH
RUN pip install -r requirements.txt
SAVE ARTIFACT /venv
docker:
COPY +build/venv /venv
ENV PATH=/venv/bin:$PATH
pin-images:
FROM +docker
COPY roles/defaults/defaults/main.yml /defaults.yml
COPY build/pin-images.py /usr/local/bin/pin-images
RUN /usr/local/bin/pin-images /defaults.yml /pinned.yml
SAVE ARTIFACT /pinned.yml AS LOCAL roles/defaults/defaults/main.yml
gh:
FROM alpine:3
RUN apk add --no-cache github-cli
trigger-image-sync:
FROM +gh
ARG --required project
RUN --secret GITHUB_TOKEN gh workflow run --repo vexxhost/docker-openstack-${project} sync.yml