66 - " v*.*.*" # Triggers when a tag like 'v3.2.0' is pushed
77
88jobs :
9- build-and-publish :
9+ build-and-publish-pypi :
1010 name : Build and Publish Packages
1111 runs-on : ubuntu-latest
1212
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/login-action@v3.3.0
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/metadata-action@v5.5.1
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/build-push-action@v6.9.0
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/metadata-action@v5.5.1
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/build-push-action@v6.9.0
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