Skip to content

Commit eb44534

Browse files
chore(deps): update dependency https://github.com/developerc286/template to v1.4.9
1 parent 15b3183 commit eb44534

File tree

8 files changed

+96
-53
lines changed

8 files changed

+96
-53
lines changed

.copier-answers.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
# Changes here will be overwritten by Copier
2-
_commit: v1.4.8
2+
_commit: v1.4.9
33
_src_path: https://github.com/DeveloperC286/template
44
project_name: clean_git_history

.github/workflows/claude-code-agent.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ jobs:
3333

3434
- name: Run Claude Code
3535
id: claude
36-
uses: anthropics/claude-code-action@f0c8eb29807907de7f5412d04afceb5e24817127 # v1.0.23
36+
uses: anthropics/claude-code-action@7145c3e0510bcdbdd29f67cc4a8c1958f1acfa2f # v1.0.27
3737
with:
3838
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
3939

.github/workflows/claude-code-review.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ jobs:
2424

2525
- name: Run Claude Code Review
2626
id: claude-review
27-
uses: anthropics/claude-code-action@f0c8eb29807907de7f5412d04afceb5e24817127 # v1.0.23
27+
uses: anthropics/claude-code-action@7145c3e0510bcdbdd29f67cc4a8c1958f1acfa2f # v1.0.27
2828
with:
2929
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
3030
prompt: |

.github/workflows/continuous-delivery.yml

Lines changed: 34 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -39,22 +39,51 @@ jobs:
3939
env:
4040
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
4141

42-
publish-docker:
43-
name: Publish Docker Image
44-
runs-on: ubuntu-24.04
42+
publish-docker-image:
43+
name: Publish Docker Image (${{ matrix.platform }})
44+
runs-on: ${{ matrix.runner }}
4545
needs: [publish-binary]
46+
strategy:
47+
matrix:
48+
include:
49+
- platform: linux/amd64
50+
runner: ubuntu-24.04
51+
target: x86_64-unknown-linux-musl
52+
suffix: amd64
53+
- platform: linux/arm64
54+
runner: ubuntu-24.04-arm
55+
target: aarch64-unknown-linux-musl
56+
suffix: arm64
4657
steps:
4758
- name: Checkout code.
4859
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
4960
- name: Set up Docker Buildx
50-
uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v3.11.1
61+
uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3.12.0
5162
- name: Login to GitHub Container Registry
5263
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
5364
with:
5465
registry: ghcr.io
5566
username: ${{ github.actor }}
5667
password: ${{ secrets.GITHUB_TOKEN }}
5768
- name: Publish Docker Image
58-
run: make publish-docker RELEASE="${GITHUB_REF_NAME}"
69+
run: make publish-docker-image RELEASE="${GITHUB_REF_NAME}" PLATFORM="${{ matrix.platform }}" TARGET="${{ matrix.target }}" SUFFIX="${{ matrix.suffix }}"
5970
env:
6071
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
72+
73+
publish-docker-manifest:
74+
name: Publish Docker Manifest
75+
runs-on: ubuntu-24.04
76+
needs: [publish-docker-image]
77+
steps:
78+
- name: Checkout code.
79+
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
80+
- name: Set up Docker Buildx
81+
uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3.12.0
82+
- name: Login to GitHub Container Registry
83+
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
84+
with:
85+
registry: ghcr.io
86+
username: ${{ github.actor }}
87+
password: ${{ secrets.GITHUB_TOKEN }}
88+
- name: Publish Docker Manifest
89+
run: make publish-docker-manifest RELEASE="${GITHUB_REF_NAME}"

Makefile

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,10 @@ dogfood-docker: release
7979
docker build --build-arg TARGET=$(MUSL_TARGET) --tag clean_git_history --file Dockerfile .
8080
docker run --rm --volume $(PWD):/workspace --workdir /workspace --env HOME=/github/home --env GITHUB_ACTIONS=true --env CI=true clean_git_history $(FROM)
8181

82-
.PHONY: publish-docker
83-
publish-docker:
84-
./ci/publish-docker.sh ${RELEASE}
82+
.PHONY: publish-docker-image
83+
publish-docker-image:
84+
./ci/publish-docker-image.sh ${RELEASE} ${PLATFORM} ${TARGET} ${SUFFIX}
85+
86+
.PHONY: publish-docker-manifest
87+
publish-docker-manifest:
88+
./ci/publish-docker-manifest.sh ${RELEASE}

ci/publish-docker-image.sh

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
#!/usr/bin/env sh
2+
3+
set -o errexit
4+
set -o xtrace
5+
6+
if [ $# -ne 4 ]; then
7+
echo "Usage: $0 <release> <platform> <target> <suffix>"
8+
exit 1
9+
fi
10+
11+
RELEASE="$1"
12+
PLATFORM="$2"
13+
TARGET="$3"
14+
SUFFIX="$4"
15+
16+
REPOSITORY="$(basename "$(git rev-parse --show-toplevel)")"
17+
IMAGE="ghcr.io/developerc286/${REPOSITORY}"
18+
19+
# Download and extract pre-built binary from the GitHub release for this architecture.
20+
gh release download "${RELEASE}" --pattern "${TARGET}.tar.gz"
21+
mkdir -p "target/${TARGET}/release"
22+
tar -xzf "${TARGET}.tar.gz" -C "target/${TARGET}/release"
23+
24+
# Build and push the Docker image for this architecture natively (no QEMU emulation).
25+
docker buildx build --platform "${PLATFORM}" --build-arg TARGET="${TARGET}" --tag "${IMAGE}:${RELEASE}-${SUFFIX}" --file Dockerfile . --push

ci/publish-docker-manifest.sh

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
#!/usr/bin/env sh
2+
3+
set -o errexit
4+
set -o xtrace
5+
6+
if [ $# -ne 1 ]; then
7+
echo "Usage: $0 <release>"
8+
exit 1
9+
fi
10+
11+
RELEASE="$1"
12+
REPOSITORY="$(basename "$(git rev-parse --show-toplevel)")"
13+
IMAGE="ghcr.io/developerc286/${REPOSITORY}"
14+
15+
# Create and push the multi-architecture manifest.
16+
docker buildx imagetools create --tag "${IMAGE}:${RELEASE}" \
17+
"${IMAGE}:${RELEASE}-amd64" \
18+
"${IMAGE}:${RELEASE}-arm64"
19+
20+
# Create alternate version tag (with/without 'v' prefix).
21+
if [ "${RELEASE#v}" != "${RELEASE}" ]; then
22+
# Release has 'v' prefix (v1.2.3), also create version without 'v' prefix (1.2.3).
23+
docker buildx imagetools create --tag "${IMAGE}:${RELEASE#v}" "${IMAGE}:${RELEASE}"
24+
else
25+
# Release has no 'v' prefix (1.2.3), also create version with 'v' prefix (v1.2.3).
26+
docker buildx imagetools create --tag "${IMAGE}:v${RELEASE}" "${IMAGE}:${RELEASE}"
27+
fi

ci/publish-docker.sh

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

0 commit comments

Comments
 (0)