blob: 751d9f2f473dc0a3e6d2ee827cee19b118e2087d [file] [log] [blame]
Mohammed Naser8613c862023-04-24 17:26:51 -04001VERSION 0.7
2FROM python:3.10
3
4poetry:
5 RUN pip3 install poetry
6
7deps:
8 FROM +poetry
9 COPY pyproject.toml poetry.lock ./
10 RUN poetry export -f requirements.txt --without-hashes > requirements.txt
11 RUN pip wheel -r requirements.txt --wheel-dir=/wheels
12 SAVE ARTIFACT requirements.txt
13 SAVE ARTIFACT /wheels
14
15build:
16 FROM +deps
17 RUN python3 -m venv /venv
18 ENV PATH=/venv/bin:$PATH
19 RUN pip install -r requirements.txt
20 SAVE ARTIFACT /venv
21
22docker:
23 COPY +build/venv /venv
24 ENV PATH=/venv/bin:$PATH
25
26pin-images:
27 FROM +docker
28 COPY roles/defaults/defaults/main.yml /defaults.yml
29 COPY build/pin-images.py /usr/local/bin/pin-images
30 RUN /usr/local/bin/pin-images /defaults.yml /pinned.yml
31 SAVE ARTIFACT /pinned.yml AS LOCAL roles/defaults/defaults/main.yml
Mohammed Naserd03bba32023-04-25 12:54:58 +000032
33gh:
34 FROM alpine:3
35 RUN apk add --no-cache github-cli
36
37trigger-image-sync:
38 FROM +gh
39 ARG --required project
40 RUN --secret GITHUB_TOKEN gh workflow run --repo vexxhost/docker-openstack-${project} sync.yml