Skip to content

Commit b480bea

Browse files
publish docker container
1 parent 2c324c9 commit b480bea

File tree

2 files changed

+66
-0
lines changed

2 files changed

+66
-0
lines changed

.github/workflows/publish.yaml

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
name: Publish Docker image
2+
3+
on:
4+
release:
5+
types: [published]
6+
push:
7+
branches:
8+
- publish-docker
9+
10+
jobs:
11+
push_to_registry:
12+
name: Push Docker image to Docker Hub
13+
runs-on: ubuntu-latest
14+
permissions:
15+
packages: write
16+
contents: read
17+
attestations: write
18+
id-token: write
19+
steps:
20+
- name: Check out the repo
21+
uses: actions/checkout@v4
22+
23+
- name: Log in to Docker Hub
24+
uses: docker/login-action@f4ef78c080cd8ba55a85445d5b36e214a81df20a
25+
with:
26+
username: ${{ secrets.DOCKER_USERNAME }}
27+
password: ${{ secrets.DOCKER_PASSWORD }}
28+
29+
- name: Extract metadata (tags, labels) for Docker
30+
id: meta
31+
uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7
32+
with:
33+
images: ghcr.io/fiboa/fiboa-sda
34+
35+
- name: Build and push Docker image
36+
id: push
37+
uses: docker/build-push-action@3b5e8027fcad23fda98b2e3ac259d8d67585f671
38+
with:
39+
context: .
40+
file: ./Dockerfile
41+
push: true
42+
tags: ${{ steps.meta.outputs.tags }}
43+
labels: ${{ steps.meta.outputs.labels }}
44+
45+
- name: Generate artifact attestation
46+
uses: actions/attest-build-provenance@v2
47+
with:
48+
subject-name: index.docker.io/my-docker-hub-namespace/my-docker-hub-repository
49+
subject-digest: ${{ steps.push.outputs.digest }}
50+
push-to-registry: true

Dockerfile

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
FROM python:3.11-alpine
2+
3+
# Bash for convenience :)
4+
RUN apk update && apk add bash gdal-dev alpine-sdk cmake apache-arrow-dev py3-pyarrow
5+
RUN pip install poetry
6+
7+
WORKDIR app
8+
9+
COPY pyproject.toml pyproject.toml
10+
COPY poetry.lock poetry.lock
11+
COPY README.md README.md
12+
RUN poetry install --no-root
13+
COPY fiboa_sda fiboa_sda
14+
15+
ENTRYPOINT ["poetry", "run"]
16+
CMD ["fiboa-sda"]

0 commit comments

Comments
 (0)