Skip to content

Commit c2f8940

Browse files
committed
Add version labels
1 parent d840538 commit c2f8940

File tree

2 files changed

+63
-25
lines changed

2 files changed

+63
-25
lines changed

.github/workflows/main.yml

Lines changed: 49 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -39,12 +39,46 @@ jobs:
3939
echo "DockerTag=${DOCKER_TAG}" >> $GITHUB_OUTPUT
4040
echo "AppEnv=${APP_ENV}" >> $GITHUB_OUTPUT
4141
42+
- name: Extract versions from builder image
43+
id: versions
44+
run: |
45+
# Pull the builder image and extract versions.json
46+
docker pull ghcr.io/sillsdev/app-builders:latest
47+
CONTAINER_ID=$(docker create ghcr.io/sillsdev/app-builders:latest)
48+
docker cp ${CONTAINER_ID}:/versions.json ./versions.json
49+
docker rm ${CONTAINER_ID}
50+
51+
# Parse versions.json using jq and set outputs
52+
echo "Contents of versions.json:"
53+
cat ./versions.json
54+
55+
VERSION_SAB=$(jq -r '.scriptureappbuilder' ./versions.json)
56+
VERSION_RAB=$(jq -r '.readingappbuilder' ./versions.json)
57+
VERSION_DAB=$(jq -r '.dictionaryappbuilder' ./versions.json)
58+
VERSION_KAB=$(jq -r '.keyboardappbuilder' ./versions.json)
59+
60+
echo "Extracted versions:"
61+
echo " scriptureappbuilder: $VERSION_SAB"
62+
echo " readingappbuilder: $VERSION_RAB"
63+
echo " dictionaryappbuilder: $VERSION_DAB"
64+
echo " keyboardappbuilder: $VERSION_KAB"
65+
66+
echo "VERSION_SAB=$VERSION_SAB" >> $GITHUB_OUTPUT
67+
echo "VERSION_RAB=$VERSION_RAB" >> $GITHUB_OUTPUT
68+
echo "VERSION_DAB=$VERSION_DAB" >> $GITHUB_OUTPUT
69+
echo "VERSION_KAB=$VERSION_KAB" >> $GITHUB_OUTPUT
70+
4271
- name: Build docker image
4372
uses: docker/build-push-action@v6
4473
with:
4574
context: .
4675
load: true
4776
tags: ${{ env.BUILD_TAG }}
77+
build-args: |
78+
VERSION_SAB=${{ steps.versions.outputs.VERSION_SAB }}
79+
VERSION_RAB=${{ steps.versions.outputs.VERSION_RAB }}
80+
VERSION_DAB=${{ steps.versions.outputs.VERSION_DAB }}
81+
VERSION_KAB=${{ steps.versions.outputs.VERSION_KAB }}
4882
4983
- name: Get version
5084
id: version
@@ -71,13 +105,11 @@ jobs:
71105
registries: ${{ secrets.SIL__AWS_ECR_ACCOUNT }}
72106

73107
- name: Push to AWS ECR (SIL)
74-
uses: docker/build-push-action@v6
75-
with:
76-
context: .
77-
push: true
78-
tags: |
79-
"${{ steps.ecr_sil.outputs.registry }}/appbuilder-agent-${{ steps.meta.outputs.AppEnv }}:${{ steps.meta.outputs.DockerTag }}"
80-
"${{ steps.ecr_sil.outputs.registry }}/appbuilder-agent-${{ steps.meta.outputs.AppEnv }}:${{ steps.version.outputs.VersionTag }}"
108+
run: |
109+
docker tag ${{ env.BUILD_TAG }} "${{ steps.ecr_sil.outputs.registry }}/appbuilder-agent-${{ steps.meta.outputs.AppEnv }}:${{ steps.meta.outputs.DockerTag }}"
110+
docker tag ${{ env.BUILD_TAG }} "${{ steps.ecr_sil.outputs.registry }}/appbuilder-agent-${{ steps.meta.outputs.AppEnv }}:${{ steps.version.outputs.VersionTag }}"
111+
docker push "${{ steps.ecr_sil.outputs.registry }}/appbuilder-agent-${{ steps.meta.outputs.AppEnv }}:${{ steps.meta.outputs.DockerTag }}"
112+
docker push "${{ steps.ecr_sil.outputs.registry }}/appbuilder-agent-${{ steps.meta.outputs.AppEnv }}:${{ steps.version.outputs.VersionTag }}"
81113
82114
- name: Configure AWS credentials (FCBH)
83115
if: ${{ steps.meta.outputs.AppEnv == 'prd' }}
@@ -97,13 +129,11 @@ jobs:
97129

98130
- name: Push to AWS ECR (FCBH)
99131
if: ${{ steps.meta.outputs.AppEnv == 'prd' }}
100-
uses: docker/build-push-action@v6
101-
with:
102-
context: .
103-
push: true
104-
tags: |
105-
"${{ steps.ecr_fcbh.outputs.registry }}/appbuilder-agent-${{ steps.meta.outputs.AppEnv }}:${{ steps.meta.outputs.DockerTag }}"
106-
"${{ steps.ecr_fcbh.outputs.registry }}/appbuilder-agent-${{ steps.meta.outputs.AppEnv }}:${{ steps.version.outputs.VersionTag }}"
132+
run: |
133+
docker tag ${{ env.BUILD_TAG }} "${{ steps.ecr_fcbh.outputs.registry }}/appbuilder-agent-${{ steps.meta.outputs.AppEnv }}:${{ steps.meta.outputs.DockerTag }}"
134+
docker tag ${{ env.BUILD_TAG }} "${{ steps.ecr_fcbh.outputs.registry }}/appbuilder-agent-${{ steps.meta.outputs.AppEnv }}:${{ steps.version.outputs.VersionTag }}"
135+
docker push "${{ steps.ecr_fcbh.outputs.registry }}/appbuilder-agent-${{ steps.meta.outputs.AppEnv }}:${{ steps.meta.outputs.DockerTag }}"
136+
docker push "${{ steps.ecr_fcbh.outputs.registry }}/appbuilder-agent-${{ steps.meta.outputs.AppEnv }}:${{ steps.version.outputs.VersionTag }}"
107137
108138
- name: Login to GHCR
109139
uses: docker/login-action@v3
@@ -113,13 +143,11 @@ jobs:
113143
password: ${{ secrets.GITHUB_TOKEN }}
114144

115145
- name: Push to GHCR
116-
uses: docker/build-push-action@v6
117-
with:
118-
context: .
119-
push: true
120-
tags: |
121-
"ghcr.io/sillsdev/appbuilder-agent-${{ steps.meta.outputs.AppEnv }}:${{ steps.meta.outputs.DockerTag }}"
122-
"ghcr.io/sillsdev/appbuilder-agent-${{ steps.meta.outputs.AppEnv }}:${{ steps.version.outputs.VersionTag }}"
146+
run: |
147+
docker tag ${{ env.BUILD_TAG }} "ghcr.io/sillsdev/appbuilder-agent-${{ steps.meta.outputs.AppEnv }}:${{ steps.meta.outputs.DockerTag }}"
148+
docker tag ${{ env.BUILD_TAG }} "ghcr.io/sillsdev/appbuilder-agent-${{ steps.meta.outputs.AppEnv }}:${{ steps.version.outputs.VersionTag }}"
149+
docker push "ghcr.io/sillsdev/appbuilder-agent-${{ steps.meta.outputs.AppEnv }}:${{ steps.meta.outputs.DockerTag }}"
150+
docker push "ghcr.io/sillsdev/appbuilder-agent-${{ steps.meta.outputs.AppEnv }}:${{ steps.version.outputs.VersionTag }}"
123151
- name: Cleanup older untagged packages, keep 2
124152
uses: actions/delete-package-versions@v5
125153
with:

Dockerfile

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,19 @@
1-
FROM ghcr.io/sillsdev/app-builders:latest as builder
1+
FROM --platform=linux/amd64 ghcr.io/sillsdev/app-builders:latest AS builder
22

33
FROM --platform=linux/amd64 phusion/baseimage:jammy-1.0.1
4-
LABEL maintainer="chris_hubbard@sil.org"
5-
LABEL refreshed_at="2024-01-11"
4+
5+
# Build arguments for versions (will be extracted from builder's versions.json)
6+
ARG VERSION_SAB=""
7+
ARG VERSION_RAB=""
8+
ARG VERSION_DAB=""
9+
ARG VERSION_KAB=""
10+
11+
LABEL maintainer="chris_hubbard@sil.org" \
12+
refreshed_at="2025-11-11" \
13+
org.opencontainers.image.version_scriptureappbuilder="${VERSION_SAB}" \
14+
org.opencontainers.image.version_readingappbuilder="${VERSION_RAB}" \
15+
org.opencontainers.image.version_dictionaryappbuilder="${VERSION_DAB}" \
16+
org.opencontainers.image.version_keyboardappbuilder="${VERSION_KAB}"
617

718
RUN apt-get update && apt-get install -y\
819
python3-apt\
@@ -19,7 +30,6 @@ WORKDIR /app-builders
1930

2031
COPY --from=builder / /app-builders/
2132

22-
#RUN tar -xvf /app-builders.tgz && rm /app-builders.tgz &&\
2333
RUN chmod +x /app-builders/*.sh &&\
2434
ln -s /app-builders/sab.sh /usr/local/bin/scripture-app-builder &&\
2535
ln -s /app-builders/rab.sh /usr/local/bin/reading-app-builder &&\

0 commit comments

Comments
 (0)