Skip to content

Commit 41a6165

Browse files
committed
fix(ci): revert manual version bump and restore original release flow
1 parent 4ebc707 commit 41a6165

6 files changed

Lines changed: 55 additions & 117 deletions

File tree

.cz.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
commitizen:
33
name: cz_conventional_commits
44
tag_format: v$version
5-
version: 0.7.6
5+
version: 0.7.2
66
version_files:
77
- Cargo.toml:^version
88
- helm/Chart.yaml:version

.github/workflows/docker.yml

Lines changed: 40 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -2,42 +2,11 @@ name: Publish Docker Images
22

33
on:
44
push:
5-
branches: [main]
5+
tags:
6+
- "v*"
67
workflow_dispatch:
78

89
jobs:
9-
extract-version:
10-
name: Extract Version
11-
if: github.event_name == 'workflow_dispatch' || startsWith(github.event.head_commit.message, 'bump:')
12-
runs-on: ubuntu-latest
13-
outputs:
14-
version: ${{ steps.version.outputs.version }}
15-
chart_name: ${{ steps.chartName.outputs.chart_name }}
16-
17-
steps:
18-
- name: Checkout
19-
uses: actions/checkout@v4
20-
21-
- name: Extract version from .cz.yaml
22-
id: version
23-
run: |
24-
VERSION=$(yq '.commitizen.version' .cz.yaml)
25-
if [[ -z "$VERSION" ]]; then
26-
echo "Error: Could not extract version from .cz.yaml"
27-
exit 1
28-
fi
29-
echo "version=$VERSION" >> "$GITHUB_OUTPUT"
30-
31-
- name: Helm Chart Name
32-
id: chartName
33-
run: |
34-
CHART_NAME=$(yq '.name' helm/Chart.yaml)
35-
if [[ -z "$CHART_NAME" ]]; then
36-
echo "Error: Could not extract chart name from helm/Chart.yaml"
37-
exit 1
38-
fi
39-
echo "chart_name=$CHART_NAME" >> $GITHUB_OUTPUT
40-
4110
build-images:
4211
name: Build Docker Images
4312
runs-on: ${{ matrix.platform == 'linux/arm64' && 'Linux-ARM64' || 'ubuntu-latest' }}
@@ -113,7 +82,7 @@ jobs:
11382
create-manifests:
11483
name: Create Multi-Arch Manifests
11584
runs-on: ubuntu-latest
116-
needs: [extract-version, build-images]
85+
needs: build-images
11786
strategy:
11887
matrix:
11988
variant:
@@ -126,9 +95,6 @@ jobs:
12695
contents: read
12796
packages: write
12897

129-
env:
130-
VERSION: ${{ needs.extract-version.outputs.version }}
131-
13298
steps:
13399
- name: Download digests
134100
uses: actions/download-artifact@v4
@@ -153,30 +119,32 @@ jobs:
153119
username: ${{ secrets.DOCKERHUB_USERNAME }}
154120
password: ${{ secrets.DOCKERHUB_TOKEN }}
155121

156-
- name: Set short SHA
157-
run: echo "SHORT_SHA=${GITHUB_SHA::7}" >> $GITHUB_ENV
122+
- name: Extract metadata for Docker
123+
id: docker-metadata
124+
uses: docker/metadata-action@v4
125+
with:
126+
images: |
127+
ghcr.io/traceloop/hub${{ matrix.variant.suffix }}
128+
traceloop/hub${{ matrix.variant.suffix }}
129+
tags: |
130+
type=sha
131+
type=semver,pattern={{version}}
132+
type=semver,pattern={{major}}.{{minor}}
158133
159134
- name: Create and push multi-arch manifests (${{ matrix.variant.name }})
160135
working-directory: /tmp/digests
161136
run: |
162-
GHCR_IMAGE="ghcr.io/traceloop/hub${{ matrix.variant.suffix }}"
163-
DOCKERHUB_IMAGE="traceloop/hub${{ matrix.variant.suffix }}"
137+
# Get tags from metadata
138+
TAGS="${{ steps.docker-metadata.outputs.tags }}"
164139
140+
# Create manifest list using digests
165141
docker buildx imagetools create \
166-
--tag "${GHCR_IMAGE}:${{ env.VERSION }}" \
167-
--tag "${GHCR_IMAGE}:sha-${{ env.SHORT_SHA }}" \
168-
--tag "${GHCR_IMAGE}:latest" \
169-
--tag "${DOCKERHUB_IMAGE}:${{ env.VERSION }}" \
170-
--tag "${DOCKERHUB_IMAGE}:sha-${{ env.SHORT_SHA }}" \
171-
--tag "${DOCKERHUB_IMAGE}:latest" \
172-
$(printf "${GHCR_IMAGE}@sha256:%s " *)
142+
$(printf '%s\n' "$TAGS" | sed 's/^/--tag /' | tr '\n' ' ') \
143+
$(printf 'ghcr.io/traceloop/hub${{ matrix.variant.suffix }}@sha256:%s ' *)
173144
deploy:
174145
name: Deploy to Traceloop
175146
runs-on: ubuntu-latest
176-
needs: [extract-version, create-manifests]
177-
env:
178-
VERSION: ${{ needs.extract-version.outputs.version }}
179-
CHART_NAME: ${{ needs.extract-version.outputs.chart_name }}
147+
needs: create-manifests
180148
steps:
181149
- name: Install Octopus CLI
182150
uses: OctopusDeploy/install-octopus-cli-action@v3
@@ -188,41 +156,47 @@ jobs:
188156
OCTOPUS_API_KEY: ${{ secrets.OCTOPUS_API_KEY }}
189157
OCTOPUS_URL: ${{ secrets.OCTOPUS_URL }}
190158
OCTOPUS_SPACE: ${{ secrets.OCTOPUS_SPACE }}
191-
run: |
192-
octopus release create --project hub \
193-
--version="${{ env.VERSION }}" \
194-
--packageVersion="${{ env.VERSION }}" \
195-
--package="${{ env.CHART_NAME }}:${{ env.VERSION }}" \
196-
--no-prompt
159+
run: octopus release create --project hub --version=sha-${GITHUB_SHA::7} --packageVersion=sha-${GITHUB_SHA::7} --no-prompt
197160

198161
- name: Deploy Octopus release (Staging)
199162
env:
200163
OCTOPUS_API_KEY: ${{ secrets.OCTOPUS_API_KEY }}
201164
OCTOPUS_URL: ${{ secrets.OCTOPUS_URL }}
202165
OCTOPUS_SPACE: ${{ secrets.OCTOPUS_SPACE }}
203-
run: octopus release deploy --project hub --version="${{ env.VERSION }}" --environment Staging --no-prompt
204-
166+
run: octopus release deploy --project hub --version=sha-${GITHUB_SHA::7} --environment Staging --no-prompt
167+
205168
- name: Deploy Octopus release (staging-new)
206169
env:
207170
OCTOPUS_API_KEY: ${{ secrets.OCTOPUS_API_KEY }}
208171
OCTOPUS_URL: ${{ secrets.OCTOPUS_URL }}
209172
OCTOPUS_SPACE: ${{ secrets.OCTOPUS_SPACE }}
210-
run: octopus release deploy --project hub --version="${{ env.VERSION }}" --environment staging-new --no-prompt
173+
run: octopus release deploy --project hub --version=sha-${GITHUB_SHA::7} --environment staging-new --no-prompt
211174

212175
push-helm-chart:
213176
name: Push Helm Chart to Dockerhub
214177
runs-on: ubuntu-latest
215-
needs: [extract-version, create-manifests]
178+
needs: create-manifests
216179
permissions:
217180
contents: write
218-
env:
219-
VERSION: ${{ needs.extract-version.outputs.version }}
220-
CHART_NAME: ${{ needs.extract-version.outputs.chart_name }}
221181

222182
steps:
223183
- name: Checkout
224184
uses: actions/checkout@v4
225185

186+
- name: Get Chart Version
187+
id: chartVersion
188+
run: |
189+
CHART_VERSION=$(grep '^version:' helm/Chart.yaml | awk '{print $2}')
190+
echo "CHART_VERSION=$CHART_VERSION"
191+
echo "chart_version=$CHART_VERSION" >> $GITHUB_OUTPUT
192+
193+
- name: Get Chart Name
194+
id: chartName
195+
run: |
196+
CHART_NAME=$(grep '^name:' helm/Chart.yaml | awk '{print $2}')
197+
echo "CHART_NAME=$CHART_NAME"
198+
echo "chart_name=$CHART_NAME" >> $GITHUB_OUTPUT
199+
226200
- name: Login to Docker Hub as OCI registry
227201
run: |
228202
echo "${{ secrets.DOCKERHUB_TOKEN }}" | helm registry login registry-1.docker.io \
@@ -235,4 +209,4 @@ jobs:
235209
236210
- name: Push Helm Chart
237211
run: |
238-
helm push "${{ env.CHART_NAME }}-${{ env.VERSION }}.tgz" oci://registry-1.docker.io/traceloop
212+
helm push "${{ steps.chartName.outputs.chart_name }}-${{ steps.chartVersion.outputs.chart_version }}.tgz" oci://registry-1.docker.io/traceloop

.github/workflows/version.yml

Lines changed: 0 additions & 35 deletions
This file was deleted.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "hub"
3-
version = "0.7.6"
3+
version = "0.7.2"
44
edition = "2024"
55

66
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

helm/Chart.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@ apiVersion: v2
22
name: helm-hub
33
description: A Helm chart for Hub application
44
type: application
5-
version: 0.7.6
5+
version: 0.7.2

helm/templates/migration-job.yaml

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -27,33 +27,32 @@ spec:
2727
valueFrom:
2828
configMapKeyRef:
2929
name: {{ .Values.management.database.configMapName }}
30-
key: POSTGRES_DATABASE_HOST
30+
key: {{ .Values.management.database.configMapKeys.host }}
3131
- name: POSTGRES_DATABASE_PORT
3232
valueFrom:
3333
configMapKeyRef:
3434
name: {{ .Values.management.database.configMapName }}
35-
key: POSTGRES_DATABASE_PORT
35+
key: {{ .Values.management.database.configMapKeys.port }}
3636
- name: POSTGRES_DATABASE_NAME
3737
valueFrom:
3838
configMapKeyRef:
3939
name: {{ .Values.management.database.configMapName }}
40-
key: POSTGRES_DATABASE_NAME
40+
key: {{ .Values.management.database.configMapKeys.name }}
41+
{{- else }}
42+
- name: POSTGRES_DATABASE_HOST
43+
value: {{ .Values.management.database.host | quote }}
44+
- name: POSTGRES_DATABASE_PORT
45+
value: {{ .Values.management.database.port | quote }}
46+
- name: POSTGRES_DATABASE_NAME
47+
value: {{ .Values.management.database.name | quote }}
48+
{{- end }}
4149
- name: DB_PASSWORD
4250
valueFrom:
4351
secretKeyRef:
4452
name: {{ .Values.management.database.existingSecret }}
45-
key: {{ .Values.management.database.passwordKey | default "password" }}
53+
key: {{ .Values.management.database.passwordKey }}
4654
- name: DATABASE_URL
4755
value: "postgresql://{{ .Values.management.database.user }}:$(DB_PASSWORD)@$(POSTGRES_DATABASE_HOST):$(POSTGRES_DATABASE_PORT)/$(POSTGRES_DATABASE_NAME)?sslmode={{ .Values.management.database.sslMode }}"
48-
{{- else }}
49-
- name: DB_PASSWORD
50-
valueFrom:
51-
secretKeyRef:
52-
name: {{ .Values.management.database.existingSecret | default (printf "%s-db-secret" (include "app.fullname" .)) }}
53-
key: {{ .Values.management.database.passwordKey | default "password" }}
54-
- name: DATABASE_URL
55-
value: "postgresql://{{ .Values.management.database.user }}:$(DB_PASSWORD)@{{ .Values.management.database.host }}:{{ .Values.management.database.port }}/{{ .Values.management.database.name }}?sslmode={{ .Values.management.database.sslMode }}"
56-
{{- end }}
5756
resources:
5857
{{- toYaml .Values.management.migrations.resources | nindent 12 }}
5958
backoffLimit: 3

0 commit comments

Comments
 (0)