Skip to content

Commit 40f1e95

Browse files
authored
fix(docker): Set version based on release tag, revert gorelease signing (#3051)
* fix(docker): Set version based on release tag, revert gorelease signing
1 parent 89ccb86 commit 40f1e95

File tree

5 files changed

+35
-19
lines changed

5 files changed

+35
-19
lines changed

.github/workflows/atlantis-image.yml

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ jobs:
2828
RELEASE_TAG: ${{ contains(github.ref, 'pre') && 'prerelease-latest' || 'latest' }}
2929
IMAGE_BASE: ghcr.io/${{ github.repository_owner }}/atlantis
3030
IMAGE_SUFFIX: ${{ matrix.image_type != 'alpine' && format('-{0}', matrix.image_type) || '' }}
31+
3132
steps:
3233
- uses: actions/checkout@v3
3334

@@ -76,7 +77,11 @@ jobs:
7677
cache-from: type=gha
7778
cache-to: type=gha,mode=max
7879
context: .
79-
build-args: ATLANTIS_BASE_TAG_TYPE=${{ matrix.image_type }}
80+
build-args: |
81+
ATLANTIS_BASE_TAG_TYPE=${{ matrix.image_type }}
82+
ATLANTIS_VERSION=dev
83+
ATLANTIS_COMMIT=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.revision'] }}
84+
ATLANTIS_DATE=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.created'] }}
8085
platforms: linux/arm64/v8,linux/amd64,linux/arm/v7
8186
push: ${{ github.event_name != 'pull_request' }}
8287
tags: |
@@ -100,7 +105,11 @@ jobs:
100105
cache-from: type=gha
101106
cache-to: type=gha,mode=max
102107
context: .
103-
build-args: ATLANTIS_BASE_TAG_TYPE=${{ matrix.image_type }}
108+
build-args: |
109+
ATLANTIS_BASE_TAG_TYPE=${{ matrix.image_type }}
110+
ATLANTIS_VERSION=${{ env.RELEASE_VERSION }}
111+
ATLANTIS_COMMIT=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.revision'] }}
112+
ATLANTIS_DATE=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.created'] }}
104113
platforms: linux/arm64/v8,linux/amd64,linux/arm/v7
105114
push: ${{ github.event_name != 'pull_request' }}
106115
# release version is the name of the tag i.e. v0.10.0

.github/workflows/release.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ on:
55
tags:
66
- v*.*.* # stable release like, v0.19.2
77
- v*.*.*-pre.* # pre release like, v0.19.0-pre.calendardate
8+
workflow_dispatch:
89

910
jobs:
1011
goreleaser:

.goreleaser.yml

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,6 @@ changelog:
2525
skip: true
2626

2727
release:
28-
github:
29-
owner: runatlantis
30-
name: atlantis
31-
3228
# If set to true, will not auto-publish the release.
3329
# Default is false.
3430
draft: false
@@ -47,10 +43,12 @@ release:
4743
# Default is false.
4844
prerelease: auto
4945

50-
signs:
51-
# https://goreleaser.com/customization/sign/
52-
-
53-
artifacts: all
46+
# TODO: This requires a gpg_private_key
47+
# https://github.com/marketplace/actions/goreleaser-action#signing
48+
# signs:
49+
# # https://goreleaser.com/customization/sign/
50+
# -
51+
# artifacts: all
5452

5553
snapshot:
5654
name_template: "{{ incpatch .Version }}-next"

Dockerfile

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,19 @@ ARG ATLANTIS_BASE_TAG_TYPE=alpine
66

77
FROM golang:1.19.5-alpine AS builder
88

9+
ARG ATLANTIS_VERSION=dev
10+
ENV ATLANTIS_VERSION=${ATLANTIS_VERSION}
11+
ARG ATLANTIS_COMMIT=none
12+
ENV ATLANTIS_COMMIT=${ATLANTIS_COMMIT}
13+
ARG ATLANTIS_DATE=unknown
14+
ENV ATLANTIS_DATE=${ATLANTIS_DATE}
15+
916
WORKDIR /app
1017
COPY . /app
18+
1119
RUN --mount=type=cache,target=/go/pkg/mod \
1220
--mount=type=cache,target=/root/.cache/go-build \
13-
CGO_ENABLED=0 go build -trimpath -ldflags "-s -w" -v -o atlantis .
21+
CGO_ENABLED=0 go build -trimpath -ldflags "-s -w -X 'main.version=${ATLANTIS_VERSION}' -X 'main.commit=${ATLANTIS_COMMIT}' -X 'main.date=${ATLANTIS_DATE}'" -v -o atlantis .
1422

1523
# Stage 2
1624
# The runatlantis/atlantis-base is created by docker-base/Dockerfile
@@ -48,20 +56,20 @@ RUN AVAILABLE_TERRAFORM_VERSIONS="1.0.11 1.1.9 1.2.9 ${DEFAULT_TERRAFORM_VERSION
4856
ENV DEFAULT_CONFTEST_VERSION=0.38.0
4957

5058
RUN AVAILABLE_CONFTEST_VERSIONS="${DEFAULT_CONFTEST_VERSION}" && \
51-
case ${TARGETPLATFORM} in \
59+
case "${TARGETPLATFORM}" in \
5260
"linux/amd64") CONFTEST_ARCH=x86_64 ;; \
5361
"linux/arm64") CONFTEST_ARCH=arm64 ;; \
5462
# There is currently no compiled version of conftest for armv7
5563
"linux/arm/v7") CONFTEST_ARCH=x86_64 ;; \
5664
esac && \
5765
for VERSION in ${AVAILABLE_CONFTEST_VERSIONS}; do \
58-
curl -LOs https://github.com/open-policy-agent/conftest/releases/download/v${VERSION}/conftest_${VERSION}_Linux_${CONFTEST_ARCH}.tar.gz && \
59-
curl -LOs https://github.com/open-policy-agent/conftest/releases/download/v${VERSION}/checksums.txt && \
66+
curl -LOs "https://github.com/open-policy-agent/conftest/releases/download/v${VERSION}/conftest_${VERSION}_Linux_${CONFTEST_ARCH}.tar.gz" && \
67+
curl -LOs "https://github.com/open-policy-agent/conftest/releases/download/v${VERSION}/checksums.txt" && \
6068
sed -n "/conftest_${VERSION}_Linux_${CONFTEST_ARCH}.tar.gz/p" checksums.txt | sha256sum -c && \
61-
mkdir -p /usr/local/bin/cft/versions/${VERSION} && \
62-
tar -C /usr/local/bin/cft/versions/${VERSION} -xzf conftest_${VERSION}_Linux_${CONFTEST_ARCH}.tar.gz && \
63-
ln -s /usr/local/bin/cft/versions/${VERSION}/conftest /usr/local/bin/conftest${VERSION} && \
64-
rm conftest_${VERSION}_Linux_${CONFTEST_ARCH}.tar.gz && \
69+
mkdir -p "/usr/local/bin/cft/versions/${VERSION}" && \
70+
tar -C "/usr/local/bin/cft/versions/${VERSION}" -xzf "conftest_${VERSION}_Linux_${CONFTEST_ARCH}.tar.gz" && \
71+
ln -s "/usr/local/bin/cft/versions/${VERSION}/conftest" "/usr/local/bin/conftest${VERSION}" && \
72+
rm "conftest_${VERSION}_Linux_${CONFTEST_ARCH}.tar.gz" && \
6573
rm checksums.txt; \
6674
done
6775

main.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,12 @@ var (
3333
)
3434

3535
func main() {
36-
fmt.Printf("atlantis %s, commit %s, built at %s", version, commit, date)
3736

3837
v := viper.New()
3938

4039
logger, err := logging.NewStructuredLogger()
4140

41+
logger.Debug("atlantis %s, commit %s, built at %s\n", version, commit, date)
4242
if err != nil {
4343
panic(fmt.Sprintf("unable to initialize logger. %s", err.Error()))
4444
}

0 commit comments

Comments
 (0)