diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 6441b4b..1da570f 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -70,3 +70,11 @@ jobs: path: dist - name: Publish to PyPI uses: pypa/gh-action-pypi-publish@release/v1 + + create_docker: + name: Create Docker Image + needs: create_release + if: ${{ needs.create_release.outputs.success == 'true' }} + uses: luketainton/gha-workflows/.github/workflows/build-push-attest-docker.yml@main + with: + release: ${{ needs.create_release.outputs.release_name }} diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..4c12430 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,24 @@ +FROM python:3.11-slim +LABEL maintainer="Luke Tainton " +LABEL org.opencontainers.image.source="https://github.com/luketainton/pypilot" +USER root + +ENV PYTHONPATH="/run:/usr/local/lib/python3.11/lib-dynload:/usr/local/lib/python3.11/site-packages:/usr/local/lib/python3.11" +WORKDIR /run + +RUN mkdir -p /.local && \ + chmod -R 777 /.local && \ + pip install -U pip poetry + +COPY pyproject.toml /run/pyproject.toml +COPY poetry.lock /run/poetry.lock + +RUN poetry config virtualenvs.create false && \ + poetry install --without dev + +ENTRYPOINT ["python3", "-B", "-m", "app.main"] + +ARG version="dev" +ENV APP_VERSION=$version + +COPY ipilot /run/app