10000 Merge branch 'master' into remove_old_template_deployer · localstack/localstack@814599f · GitHub
[go: up one dir, main page]

Skip to content

Commit 814599f

Browse files
authored
Merge branch 'master' into remove_old_template_deployer
2 parents d1eb175 + ee3c0aa commit 814599f

36 files changed

+709
-441
lines changed

.circleci/config.yml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -814,9 +814,12 @@ jobs:
814814
- run:
815815
name: Publish a dev release
816816
command: |
817-
source .venv/bin/activate
818-
bin/release-helper.sh set-ver $(bin/release-helper.sh next-dev-ver)
819-
make publish
817+
if git describe --exact-match --tags >/dev/null 2>&1; then
818+
echo "not publishing a dev release as this is a tagged commit"
819+
else
820+
source .venv/bin/activate
821+
make publish || echo "dev release failed (maybe it is already published)"
822+
fi
820823
821824
push-to-tinybird:
822825
executor: ubuntu-machine-amd64

.dockerignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
.git
21
.venv*
32

43
.filesystem

.github/workflows/tests-s3-image.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,9 @@ jobs:
9696
steps:
9797
- name: Checkout
9898
uses: actions/checkout@v4
99+
with:
100+
# setuptools_scm requires the git history (at least until the last tag) to determine the version
101+
fetch-depth: 0
99102

100103
- name: Login to Docker Hub
101104
uses: docker/login-action@v3

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,3 +69,6 @@ gen/
6969

7070
# RAW snapshots
7171
*.raw.snapshot.json
72+
73+
# setuptools_scm version.py
74+
*/*/version.py

.pre-commit-config.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
repos:
44
- repo: https://github.com/astral-sh/ruff-pre-commit
55
# Ruff version.
6-
rev: v0.6.1
6+
rev: v0.6.2
77
hooks:
88
- id: ruff
99
args: [--fix, --exit-non-zero-on-fix]
@@ -17,6 +17,6 @@ repos:
1717
- id: trailing-whitespace
1818

1919
- repo: https://github.com/localstack/pre-commit-hooks
20-
rev: v1.2.0
20+
rev: v1.2.1
2121
hooks:
2222
- id: check-pinned-deps-for-needed-upgrade

Dockerfile

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# java-builder: Stage to build a custom JRE (with jlink)
2-
FROM eclipse-temurin:11@sha256:eb233e75bc8fbfff7ab3e6660c38304ccd89bd39b46f27fdbf365b2f8c6efd71 AS java-builder
2+
FROM eclipse-temurin:11@sha256:49b4274c068004fd73efb56fdb0f8890a6e17a7b2bdfa2be43341de9e1176d66 AS java-builder
33

44
# create a custom, minimized JRE via jlink
55
RUN jlink --add-modules \
@@ -155,32 +155,38 @@ RUN --mount=type=cache,target=/root/.cache \
155155

156156
# add files necessary to install runtime dependencies
157157
ADD Makefile pyproject.toml requirements-runtime.txt ./
158-
# add the VERSION file to invalidate docker layers with version bumps
159-
ADD VERSION ./
160158
# add the localstack start scripts (necessary for the installation of the runtime dependencies, i.e. `pip install -e .`)
161159
ADD bin/localstack bin/localstack.bat bin/localstack-supervisor bin/
162160

163-
# install dependencies to run the LocalStack Pro runtime and save which ones were installed
164-
RUN --mount=type=cache,target=/root/.cache \
165-
make install-runtime
166-
RUN . .venv/bin/activate && pip3 freeze -l > requirements-runtime.txt
161+
# Install dependencies for running the LocalStack runtime
162+
RUN --mount=type=cache,target=/root/.cache\
163+
. .venv/bin/activate && pip3 install -r requirements-runtime.txt
167164

168165

169166

170167
# final stage: Builds upon base stage and copies resources from builder stages
171168
FROM base
172169
COPY --from=builder /opt/code/localstack/.venv /opt/code/localstack/.venv
170+
# The build version is set in the docker-helper.sh script to be the output of setuptools_scm
171+
ARG LOCALSTACK_BUILD_VERSION
173172

174173
# add project files necessary to install all dependencies
175-
ADD Makefile pyproject.toml VERSION setup.py ./
174+
ADD Makefile pyproject.toml ./
176175
# add the localstack start scripts (necessary for the installation of the runtime dependencies, i.e. `pip install -e .`)
177176
ADD bin/localstack bin/localstack.bat bin/localstack-supervisor bin/
178177

179178
# add the code as late as possible
180179
ADD localstack-core/ /opt/code/localstack/localstack-core
181180

181+
# Install Lo EED3 calStack Community and generate the version file while doing so
182+
RUN --mount=type=cache,target=/root/.cache \
183+
. .venv/bin/activate && \
184+
SETUPTOOLS_SCM_PRETEND_VERSION_FOR_LOCALSTACK_CORE=${LOCALSTACK_BUILD_VERSION} \
185+
pip install -e .[runtime]
186+
182187
# Generate the plugin entrypoints
183-
RUN make entrypoints
188+
RUN SETUPTOOLS_SCM_PRETEND_VERSION_FOR_LOCALSTACK_CORE=${LOCALSTACK_BUILD_VERSION} \
189+
make entrypoints
184190

185191
# Install packages which should be shipped by default
186192
RUN --mount=type=cache,target=/root/.cache \
@@ -216,7 +222,6 @@ LABEL description="LocalStack Docker image"
216222
# Add the build date and git hash at last (changes everytime)
217223
ARG LOCALSTACK_BUILD_DATE
218224
ARG LOCALSTACK_BUILD_GIT_HASH
219-
ARG LOCALSTACK_BUILD_VERSION
220225
ENV LOCALSTACK_BUILD_DATE=${LOCALSTACK_BUILD_DATE}
221226
ENV LOCALSTACK_BUILD_GIT_HASH=${LOCALSTACK_BUILD_GIT_HASH}
222227
ENV LOCALSTACK_BUILD_VERSION=${LOCALSTACK_BUILD_VERSION}

Dockerfile.s3

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -53,19 +53,16 @@ RUN --mount=type=cache,target=/var/cache/apt \
5353

5454
# upgrade python build tools
5555
RUN --mount=type=cache,target=/root/.cache \
56-
(python3 -m venv .venv && . .venv/bin/activate && pip3 install --upgrade pip wheel setuptools build)
56+
(python3 -m venv .venv && . .venv/bin/activate && pip3 install --upgrade pip wheel setuptools setuptools_scm build)
5757

5858
# add files necessary to install all dependencies
5959
ADD Makefile pyproject.toml requirements-base-runtime.txt ./
60-
# add the VERSION file to invalidate docker layers with version bumps
61-
ADD VERSION ./
6260
# add the localstack start scripts (necessary for the installation of the runtime dependencies, i.e. `pip install -e .`)
6361
ADD bin/localstack bin/localstack.bat bin/localstack-supervisor bin/
6462

65-
# install dependencies to run the LocalStack Pro runtime and save which ones were installed
63+
# Install dependencies for running the LocalStack base runtime (for S3)
6664
RUN --mount=type=cache,target=/root/.cache \
67-
make install-s3
68-
RUN . .venv/bin/activate && pip3 freeze -l > requirements-runtime.txt
65+
. .venv/bin/activate && pip3 install -r requirements-base-runtime.txt
6966

7067
# delete the botocore specs for other services (>80mb)
7168
# TODO: well now it's compressed and it's much lighter: 20mb maybe not worth it
@@ -75,18 +72,26 @@ RUN find .venv/lib/python3.11/site-packages/botocore/data/ -mindepth 1 -maxdepth
7572
# final stage: Builds upon base stage and copies resources from builder stages
7673
FROM base
7774
COPY --from=builder /opt/code/localstack/.venv /opt/code/localstack/.venv
75+
# The build version is set in the docker-helper.sh script to be the output of setuptools_scm
76+
ARG LOCALSTACK_BUILD_VERSION
7877

7978
# add project files necessary to install all dependencies
80-
ADD Makefile pyproject.toml VERSION requirements-base-runtime.txt setup.py ./
79+
ADD Makefile pyproject.toml requirements-base-runtime.txt ./
8180
# add the localstack start scripts (necessary for the installation of the runtime dependencies, i.e. `pip install -e .`)
8281
ADD bin/localstack bin/localstack.bat bin/localstack-supervisor bin/
8382

8483
# add the code as late as possible
8584
ADD localstack-core/ /opt/code/localstack/localstack-core
8685

87-
# Generate the plugin entrypoints
88-
RUN make entrypoints
86+
# Install LocalStack Community and generate the version file while doing so
87+
RUN --mount=type=cache,target=/root/.cache \
88+
. .venv/bin/activate && \
89+
SETUPTOOLS_SCM_PRETEND_VERSION_FOR_LOCALSTACK_CORE=${LOCALSTACK_BUILD_VERSION} \
90+
pip install -e .[base-runtime]
8991

92+
# Generate the plugin entrypoints
93+
RUN SETUPTOOLS_SCM_PRETEND_VERSION_FOR_LOCALSTACK_CORE=${LOCALSTACK_BUILD_VERSION} \
94+
make entrypoints
9095

9196
# link the python package installer virtual environments into the localstack venv
9297
RUN echo /var/lib/localstack/lib/python-packages/lib/python3.11/site-packages > localstack-var-python-packages-venv.pth && \
@@ -112,7 +117,6 @@ LABEL description="LocalStack S3 Docker image"
112117
# Add the build date and git hash at last (changes everytime)
113118
ARG LOCALSTACK_BUILD_DATE
114119
ARG LOCALSTACK_BUILD_GIT_HASH
115-
ARG LOCALSTACK_BUILD_VERSION
116120
ENV LOCALSTACK_BUILD_DATE=${LOCALSTACK_BUILD_DATE}
117121
ENV LOCALSTACK_BUILD_GIT_HASH=${LOCALSTACK_BUILD_GIT_HASH}
118122
ENV LOCALSTACK_BUILD_VERSION=${LOCALSTACK_BUILD_VERSION}

Makefile

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ install-s3: venv ## Install dependencies for the localstack runtime for s3-o
7272
install: install-dev entrypoints ## Install full dependencies into venv
7373

7474
entrypoints: ## Run plux to build entry points
75-
$(VENV_RUN); python3 -m setup plugins egg_info
75+
$(VENV_RUN); python3 -c "from setuptools import setup; setup()" plugins egg_info
7676
@# make sure that the entrypoints were correctly created and are non-empty
7777
@test -s localstack-core/localstack_core.egg-info/entry_points.txt || (echo "Entrypoints were not correctly created! Aborting!" && exit 1)
7878

@@ -91,16 +91,16 @@ start: ## Manually start the local infrastructure for testing
9191
($(VENV_RUN); exec bin/localstack start --host)
9292

9393
docker-run-tests: ## Initializes the test environment and runs the tests in a docker container
94-
docker run -e LOCALSTACK_INTERNAL_TEST_COLLECT_METRIC=1 --entrypoint= -v `pwd`/requirements-test.txt:/opt/code/localstack/requirements-test.txt -v `pwd`/tests/:/opt/code/localstack/tests/ -v `pwd`/target/:/opt/code/localstack/target/ -v /var/run/docker.sock:/var/run/docker.sock -v /tmp/localstack:/var/lib/localstack \
94+
docker run -e LOCALSTACK_INTERNAL_TEST_COLLECT_METRIC=1 --entrypoint= -v `pwd`/.git:/opt/code/localstack/.git -v `pwd`/requirements-test.txt:/opt/code/localstack/requirements-test.txt -v `pwd`/tests/:/opt/code/localstack/tests/ -v `pwd`/target/:/opt/code/localstack/target/ -v /var/run/docker.sock:/var/run/docker.sock -v /tmp/localstack:/var/lib/localstack \
9595
$(IMAGE_NAME):$(DEFAULT_TAG) \
9696
bash -c "make install-test && DEBUG=$(DEBUG) PYTEST_LOGLEVEL=$(PYTEST_LOGLEVEL) PYTEST_ARGS='$(PYTEST_ARGS)' COVERAGE_FILE='$(COVERAGE_FILE)' TEST_PATH='$(TEST_PATH)' LAMBDA_IGNORE_ARCHITECTURE=1 LAMBDA_INIT_POST_INVOKE_WAIT_MS=50 TINYBIRD_PYTEST_ARGS='$(TINYBIRD_PYTEST_ARGS)' TINYBIRD_DATASOURCE='$(TINYBIRD_DATASOURCE)' TINYBIRD_TOKEN='$(TINYBIRD_TOKEN)' TINYBIRD_URL='$(TINYBIRD_URL)' CI_COMMIT_BRANCH='$(CI_COMMIT_BRANCH)' CI_COMMIT_SHA='$(CI_COMMIT_SHA)' CI_JOB_URL='$(CI_JOB_URL)' CI_JOB_NAME='$(CI_JOB_NAME)' CI_JOB_ID='$(CI_JOB_ID)' CI='$(CI)' TEST_AWS_REGION_NAME='${TEST_AWS_REGION_NAME}' TEST_AWS_ACCESS_KEY_ID='${TEST_AWS_ACCESS_KEY_ID}' TEST_AWS_ACCOUNT_ID='${TEST_AWS_ACCOUNT_ID}' make test-coverage"
9797

9898
docker-run-tests-s3-only: ## Initializes the test environment and runs the tests in a docker container for the S3 only image
9999
# TODO: We need node as it's a dependency of the InfraProvisioner at import time, remove when we do not need it anymore
100100
# g++ is a workaround to fix the JPype1 compile error on ARM Linux "gcc: fatal error: cannot execute ‘cc1plus’" because the test dependencies include the runtime dependencies.
101-
docker run -e LOCALSTACK_INTERNAL_TEST_COLLECT_METRIC=1 --entrypoint= -v `pwd`/requirements-test.txt:/opt/code/localstack/requirements-test.txt -v `pwd`/tests/:/opt/code/localstack/tests/ -v `pwd`/target/:/opt/code/localstack/target/ -v /var/run/docker.sock:/var/run/docker.sock -v /tmp/localstack:/var/lib/localstack \
101+
docker run -e LOCALSTACK_INTERNAL_TEST_COLLECT_METRIC=1 --entrypoint= -v `pwd`/.git:/opt/code/localstack/.git -v `pwd`/requirements-test.txt:/opt/code/localstack/requirements-test.txt -v `pwd`/tests/:/opt/code/localstack/tests/ -v `pwd`/target/:/opt/code/localstack/target/ -v /var/run/docker.sock:/var/run/docker.sock -v /tmp/localstack:/var/lib/localstack \
102102
$(IMAGE_NAME):$(DEFAULT_TAG) \
103-
bash -c "apt-get update && apt-get install -y g++ && make install-test && apt-get install -y --no-install-recommends gnupg && mkdir -p /etc/apt/keyrings && curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg && echo \"deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_18.x nodistro main\" > /etc/apt/sources.list.d/nodesource.list && apt-get update && apt-get install -y --no-install-recommends nodejs && DEBUG=$(DEBUG) PYTEST_LOGLEVEL=$(PYTEST_LOGLEVEL) PYTEST_ARGS='$(PYTEST_ARGS)' TEST_PATH='$(TEST_PATH)' TINYBIRD_PYTEST_ARGS='$(TINYBIRD_PYTEST_ARGS)' TINYBIRD_DATASOURCE='$(TINYBIRD_DATASOURCE)' TINYBIRD_TOKEN='$(TINYBIRD_TOKEN)' TINYBIRD_URL='$(TINYBIRD_URL)' CI_COMMIT_BRANCH='$(CI_COMMIT_BRANCH)' CI_COMMIT_SHA='$(CI_COMMIT_SHA)' CI_JOB_URL='$(CI_JOB_URL)' CI_JOB_NAME='$(CI_JOB_NAME)' CI_JOB_ID='$(CI_JOB_ID)' CI='$(CI)' make test"
103+
bash -c "apt-get update && apt-get install -y g++ git && make install-test && apt-get install -y --no-install-recommends gnupg && mkdir -p /etc/apt/keyrings && curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg && echo \"deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_18.x nodistro main\" > /etc/apt/sources.list.d/nodesource.list && apt-get update && apt-get install -y --no-install-recommends nodejs && DEBUG=$(DEBUG) PYTEST_LOGLEVEL=$(PYTEST_LOGLEVEL) PYTEST_ARGS='$(PYTEST_ARGS)' TEST_PATH='$(TEST_PATH)' TINYBIRD_PYTEST_ARGS='$(TINYBIRD_PYTEST_ARGS)' TINYBIRD_DATASOURCE='$(TINYBIRD_DATASOURCE)' TINYBIRD_TOKEN='$(TINYBIRD_TOKEN)' TINYBIRD_URL='$(TINYBIRD_URL)' CI_COMMIT_BRANCH='$(CI_COMMIT_BRANCH)' CI_COMMIT_SHA='$(CI_COMMIT_SHA)' CI_JOB_URL='$(CI_JOB_URL)' CI_JOB_NAME='$(CI_JOB_NAME)' CI_JOB_ID='$(CI_JOB_ID)' CI='$(CI)' make test"
104104

105105

106106
docker-cp-coverage:

VERSION

Lines changed: 0 additions & 1 deletion
This file was deleted.

bin/docker-helper.sh

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,10 @@ set -eo pipefail
55
shopt -s nullglob
66

77
# global defaults
8-
VERSION_FILE=${VERSION_FILE-"VERSION"}
98
DOCKERFILE=${DOCKERFILE-"Dockerfile"}
109
DEFAULT_TAG=${DEFAULT_TAG-"latest"}
10+
DOCKER_BUILD_CONTEXT=${DOCKER_BUILD_CONTEXT-"."}
1111

12-
# TODO extend help
1312
function usage() {
1413
echo "A set of commands that facilitate building and pushing versioned Docker images"
1514
echo ""
@@ -50,7 +49,15 @@ function _fail {
5049
}
5150

5251
function _get_current_version() {
53-
cat ${VERSION_FILE}
52+
# setuptools_scm will be installed transparently if not available, Python3 is expected to be present
53+
if ! python3 -m pip -qqq list | grep -F "setuptools_scm"; then
54+
python3 -m pip install -qqq setuptools_scm > /dev/null 2>&1
55+
fi
56+
python3 -m setuptools_scm
57+
}
58+
59+
function _is_release_commit() {
60+
[[ $(_get_current_version) =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]
5461
}
5562

5663
function _get_current_branch() {
@@ -104,6 +111,9 @@ function cmd-build() {
104111
_enforce_image_name
105112
_set_version_defaults
106113

114+
if [ ! -f "pyproject.toml" ]; then
115+
echo "No pyproject.toml found, setuptools_scm will not be able to retrieve configuration."
116+
fi
107117
if [ -z "$DOCKERFILE" ]; then DOCKERFILE=Dockerfile; fi
108118
# by default we load the result to the docker daemon
109119
if [ "$DOCKER_BUILD_FLAGS" = "" ]; then DOCKER_BUILD_FLAGS="--load"; fi
@@ -113,12 +123,12 @@ function cmd-build() {
113123
# --cache-from: Use the inlined caching information when building the image
114124
DOCKER_BUILDKIT=1 docker buildx build --pull --progress=plain \
115125
--cache-from "$IMAGE_NAME" --build-arg BUILDKIT_INLINE_CACHE=1 \
116-
--build-arg LOCALSTACK_PRE_RELEASE=$(_get_current_version | grep -v '.dev' >> /dev/null && echo "0" || echo "1") \
126+
--build-arg LOCALSTACK_PRE_RELEASE=$(_is_release_commit && echo "0" || echo "1") \
117127
--build-arg LOCALSTACK_BUILD_GIT_HASH=$(git rev-parse --short HEAD) \
118128
--build-arg=LOCALSTACK_BUILD_DATE=$(date -u +"%Y-%m-%d") \
119129
--build-arg=LOCALSTACK_BUILD_VERSION=$IMAGE_TAG \
120130
--add-host="localhost.localdomain:127.0.0.1" \
121-
-t "$IMAGE_NAME:$DEFAULT_TAG" $DOCKER_BUILD_FLAGS . -f $DOCKERFILE
131+
-t "$IMAGE_NAME:$DEFAULT_TAG" $DOCKER_BUILD_FLAGS $DOCKER_BUILD_CONTEXT -f $DOCKERFILE
122132
}
123133

124134
function cmd-save() {
@@ -164,7 +174,7 @@ function cmd-push() {
164174
# push default tag
165175
docker push $TARGET_IMAGE_NAME:$DEFAULT_TAG-$PLATFORM
166176

167-
function _push() {
177+
function _push_versioned_tags() {
168178
# create explicitly set image tag (via $IMAGE_TAG)
169179
docker tag $TARGET_IMAGE_NAME:$DEFAULT_TAG-$PLATFORM $TARGET_IMAGE_NAME:$IMAGE_TAG-$PLATFORM
170180

@@ -192,16 +202,11 @@ function cmd-push() {
192202
docker push $TARGET_IMAGE_NAME:$MAJOR_VERSION.$MINOR_VERSION.$PATCH_VERSION-$PLATFORM
193203
}
194204

195-
if [ -n "$FORCE_VERSION_TAG_PUSH" ] && [ "$FORCE_VERSION_TAG_PUSH" -eq "1" ]; then
196-
echo "Force-enabled version tag push."
197-
_push
198-
elif [ -n "$FORCE_VERSION_TAG_PUSH" ] && [ "$FORCE_VERSION_TAG_PUSH" -eq "0" ]; then
199-
echo "Force-disabled version tag push. Not pushing any other tags."
200-
elif (git diff HEAD^ ${VERSION_FILE} | tail -n 1 | grep -v '.dev'); then
201-
echo "Pushing version tags, version has changed in last commit."
202-
_push
205+
if _is_release_commit; then
206+
echo "Pushing version tags, we're building the commit of a version tag."
207+
_push_versioned_tags
203208
else
204-
echo "Not pushing any other tags, version has not changed in last commit."
209+
echo "Not pushing any other tags, we're not building a version-tagged commit."
205210
fi
206211
}
207212

@@ -221,7 +226,7 @@ function cmd-push-manifests() {
221226
# push default tag
222227
docker manifest push $IMAGE_NAME:$DEFAULT_TAG
223228

224-
function _push() {
229+
function _push_versioned_tags() {
225230
# create explicitly set image tag (via $IMAGE_TAG)
226231
docker manifest create $IMAGE_NAME:$IMAGE_TAG \
227232
--amend $IMAGE_NAME:$IMAGE_TAG-amd64 \
@@ -261,16 +266,11 @@ function cmd-push-manifests() {
261266
docker manifest push $IMAGE_NAME:$MAJOR_VERSION.$MINOR_VERSION.$PATCH_VERSION
262267
}
263268

264-
if [ -n "$FORCE_VERSION_TAG_PUSH" ] && [ "$FORCE_VERSION_TAG_PUSH" -eq "1" ]; then
265-
echo "Force-enabled version tag push."
266-
_push
267-
elif [ -n "$FORCE_VERSION_TAG_PUSH" ] && [ "$FORCE_VERSION_TAG_PUSH" -eq "0" ]; then
268-
echo "Force-disabled version tag push. Not pushing any other tags."
269-
elif (git diff HEAD^ ${VERSION_FILE} | tail -n 1 | grep -v '.dev'); then
270-
echo "Pushing version tags, version has changed in last commit."
271-
_push
269+
if _is_release_commit; then
270+
echo "Pushing version tags, we're building the commit of a version tag."
271+
_push_versioned_tags
272272
else
273-
echo "Not pushing any other tags, version has not changed in last commit."
273+
echo "Not pushing any other tags, we're not building a version-tagged commit."
274274
fi
275275
}
276276

0 commit comments

Comments
 (0)
0