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+ 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+ 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+ 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+ 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+ 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