|
28 | 28 |
|
29 | 29 | - name: Build image |
30 | 30 | run: |- |
31 | | - docker build -t $IMAGE_NAME:$IMAGE_TAG . |
| 31 | + docker build \ |
| 32 | + --build-arg BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ') \ |
| 33 | + --build-arg VCS_REF=${{ github.sha }} \ |
| 34 | + --build-arg VERSION=${{ github.ref_name }} \ |
| 35 | + -t $IMAGE_NAME:$IMAGE_TAG . |
32 | 36 |
|
33 | 37 | - name: Smoke test image |
34 | 38 | run: |- |
@@ -63,19 +67,41 @@ jobs: |
63 | 67 | --cache-from=$IMAGE_NAME:latest \ |
64 | 68 | --push \ |
65 | 69 | -t $IMAGE_NAME:latest \ |
66 | | - --platform linux/amd64,linux/arm64,linux/arm/v7 \ |
| 70 | + --platform linux/amd64,linux/arm64,linux/arm/v7,linux/arm/v6 \ |
| 71 | + --build-arg BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ') \ |
| 72 | + --build-arg VCS_REF=${{ github.sha }} \ |
| 73 | + --build-arg VERSION=latest \ |
67 | 74 | . |
68 | 75 |
|
69 | | - - name: Set tag in environment |
| 76 | + - name: Parse version components |
70 | 77 | if: contains(github.ref, 'refs/tags/') |
71 | | - run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV |
| 78 | + id: parse_version |
| 79 | + run: | |
| 80 | + VERSION=${GITHUB_REF#refs/tags/} |
| 81 | + echo "FULL_VERSION=$VERSION" >> $GITHUB_ENV |
72 | 82 |
|
73 | | - - name: Build multi-arch image and push release tag |
| 83 | + # Extract base version without revision for parsing (e.g., 6.8.1 from 6.8.1-1) |
| 84 | + BASE=$(echo $VERSION | cut -d- -f1) |
| 85 | +
|
| 86 | + # Extract major version (e.g., 6 from 6.8.1) |
| 87 | + MAJOR=$(echo $BASE | cut -d. -f1) |
| 88 | + echo "MAJOR_VERSION=$MAJOR" >> $GITHUB_ENV |
| 89 | +
|
| 90 | + # Extract minor version (e.g., 6.8 from 6.8.1) |
| 91 | + MINOR=$(echo $BASE | cut -d. -f1,2) |
| 92 | + echo "MINOR_VERSION=$MINOR" >> $GITHUB_ENV |
| 93 | +
|
| 94 | + - name: Build multi-arch image and push release tags |
74 | 95 | if: contains(github.ref, 'refs/tags/') |
75 | 96 | run: |- |
76 | 97 | docker buildx build \ |
77 | 98 | --cache-from=$IMAGE_NAME:latest \ |
78 | 99 | --push \ |
79 | | - -t $IMAGE_NAME:$RELEASE_VERSION \ |
80 | | - --platform linux/amd64,linux/arm64,linux/arm/v7 \ |
| 100 | + -t $IMAGE_NAME:$FULL_VERSION \ |
| 101 | + -t $IMAGE_NAME:$MINOR_VERSION \ |
| 102 | + -t $IMAGE_NAME:$MAJOR_VERSION \ |
| 103 | + --platform linux/amd64,linux/arm64,linux/arm/v7,linux/arm/v6 \ |
| 104 | + --build-arg BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ') \ |
| 105 | + --build-arg VCS_REF=${{ github.sha }} \ |
| 106 | + --build-arg VERSION=$FULL_VERSION \ |
81 | 107 | . |
0 commit comments