Skip to content

Commit 6c0eac5

Browse files
committed
add build push docker image
1 parent 059da7e commit 6c0eac5

File tree

1 file changed

+66
-1
lines changed

1 file changed

+66
-1
lines changed

.github/workflows/publish.yml

Lines changed: 66 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ on:
66
- "v*.*.*" # Triggers when a tag like 'v3.2.0' is pushed
77

88
jobs:
9-
build-and-publish:
9+
build-and-publish-pypi:
1010
name: Build and Publish Packages
1111
runs-on: ubuntu-latest
1212

@@ -58,3 +58,68 @@ jobs:
5858
5959
# Publish to PyPI
6060
twine upload dist/*
61+
build-and-push-images:
62+
name: Build and Push Docker Images
63+
runs-on: ubuntu-latest
64+
permissions:
65+
contents: read
66+
packages: write
67+
68+
steps:
69+
- name: Checkout repository
70+
uses: actions/checkout@v4
71+
72+
- name: Set up QEMU
73+
uses: docker/setup-qemu-action@v3
74+
75+
- name: Set up Docker Buildx
76+
uses: docker/setup-buildx-action@v3
77+
78+
- name: Log in to GitHub Container Registry
79+
uses: docker/[email protected]
80+
with:
81+
registry: ghcr.io
82+
username: ${{ github.actor }}
83+
password: ${{ secrets.GITHUB_TOKEN }}
84+
85+
- name: Extract metadata for Elasticsearch image
86+
id: meta-es
87+
uses: docker/[email protected]
88+
with:
89+
images: ghcr.io/stac-utils/stac-fastapi-es
90+
tags: |
91+
type=raw,value=latest
92+
type=ref,event=tag
93+
94+
- name: Build and push Elasticsearch Docker image
95+
uses: docker/[email protected]
96+
with:
97+
context: .
98+
file: dockerfiles/Dockerfile.deploy.es
99+
platforms: linux/amd64,linux/arm64
100+
push: true
101+
tags: ${{ steps.meta-es.outputs.tags }}
102+
labels: ${{ steps.meta-es.outputs.labels }}
103+
cache-from: type=gha
104+
cache-to: type=gha,mode=max
105+
106+
- name: Extract metadata for OpenSearch image
107+
id: meta-os
108+
uses: docker/[email protected]
109+
with:
110+
images: ghcr.io/stac-utils/stac-fastapi-os
111+
tags: |
112+
type=raw,value=latest
113+
type=ref,event=tag
114+
115+
- name: Build and push OpenSearch Docker image
116+
uses: docker/[email protected]
117+
with:
118+
context: .
119+
file: dockerfiles/Dockerfile.deploy.os
120+
platforms: linux/amd64,linux/arm64
121+
push: true
122+
tags: ${{ steps.meta-os.outputs.tags }}
123+
labels: ${{ steps.meta-os.outputs.labels }}
124+
cache-from: type=gha
125+
cache-to: type=gha,mode=max

0 commit comments

Comments
 (0)