All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
5.1.1 - 2024-03-06
- Make
image-prepare-tag
command fail whenarchitect project version
command fails (because CircleCI runs the scripts with-o pipefail
)
5.1.0 - 2024-02-23
- Update machine executor image to
default
.
5.0.1 - 2024-02-05
5.0.1 - 2024-02-05
- fix:
push-to-registries
correctly handles theforce-public
flag
- Update CircleCI orb-tools to v12
5.0.0 - 2024-01-16
- Removed
push-to-docker
job. Please migrate topush-to-registries
.
4.38.0 - 2024-01-10
- Update
app-build-suite
version tov1.2.2
. - Switch images to be pulled from
gsoci.azurecr.io
instead ofquay.io
4.37.0 - 2023-12-20
push-to-registries
job changes:- remove deprecated
push-to-*
config options - login to registries before an image is built, so it's possible to use private base images
- remove deprecated
4.36.0 - 2023-12-19
push-to-registries
job changes:- Add retries to all remote commands
- Add a check for a visibility of the source code in the job that pushes images to registry. If repo is private, an image should only be pushed to registries that are configured as private ones.
- Add repos configuration that is parsed from an environment variable. This allows to configure the job to push to different registries based on the configuration only.
4.35.6 - 2023-12-05
- Update
push-to-app-collection
command to check if the released version is greater than the one stored in the app collection repository. If so, the update is pushed. Skipped otherwise (for lesser or equal). - Let golangci-lint report more than 3 items of the same type of complaint
4.35.5 - 2023-11-28
In the 'push-to-registries' job, pushing to docker.io
is now the default as well.
4.35.4 - 2023-11-28
- Improvements to the
push-to-registries
job.
4.35.3 - 2023-11-24
- Made the
image-build-with-docker
command work in a situation where thedocker build
command would output the image SHA more than once.
4.35.2 - 2023-11-24
- More improvements to the
push-to-registries
job:- It is possible now to configure which target registry should receive images for dev builds. This defaults to gsoci (new ACR) and quay.io only. Check the docs for details.
- The
image
parameter is now optional. The default is to create the name from the GitHub organization and repository name.
4.35.1 - 2023-11-22
- UX improvements on
push-to-registries
job.
4.35.0 - 2023-11-21
Introduce a new push-to-registries
job that pushes charts to multiple registries at once.
4.34.1 - 2023-11-10
- Fix Go checksum for
machine-install-go
command
4.34.0 - 2023-11-08
- Update
architect
version tov6.13.0
(includes Go v1.21.3)
4.33.1 - 2023-10-31
- Prevent false positives in nancy's vulnerability reports by using
go list
with-deps ./...
4.33.0 - 2023-10-10
- Update
app-test-suite
to v0.5.0.
4.32.0 - 2023-10-10
- Update
app-test-suite
to v0.4.1. - Update
apptestctl
to v0.18.0, which installs VerticalPodAutoscaler and PolicyException CRDs to test clusters.
4.31.0 - 2023-08-02
- Update
apptestctl
to v0.17.0, which installs ServiceMonitor and PodMonitor CRDs to test clusters and makes it compatible with Kubernetes 1.25 and above.
4.30.1 - 2023-07-20
- Bump architect image to v6.12.1 which includes latest golangci-lint
4.30.0 - 2023-07-20
- Bump architect image to v6.12.0 which includes bump of Go to v1.20
4.29.0 - 2023-04-28
- Update
apptestctl
to v0.15.0, which installs Cilium Network Policy and Cluster-wide Policy CRDs by default.
4.28.1 - 2023-03-09
- Add
pre_test_target
parameter togo-build
andgo-test
jobs. This allows a Makefile target to be executed when specified and is helpful for generating code before any linters run.
4.28.0 - 2023-02-21
- Fix
go test
nancy
external service error ignore logic - Add
explicit_allow_chart_name_mismatch
topush-to-app-catalog
withapp-build-suite
executor. - Add
test_target
parameter togo-test
command. This allows a Makefile target to be executed when specified. - Remove deprecated
kubeval
command in favor ofkubeconform
. Add more recent k8s version checks and validation against our giantswarm/json-schema repo
- Update
architect
version tov6.10.0
. - Update Go version used in
machine-install
command to 1.19.6.
4.26.0 - 2022-11-21
4.25.3 - 2022-10-26
- Don't fail
go test
if thenancy
back end is down.
4.25.2 - 2022-10-26
- Increase timeout for
golangci-lint
to 10 minutes.
4.25.1 - 2022-10-20
- Add step names where missing.
4.25.0 - 2022-10-05
- Update
architect
version tov6.7.0
. - Update Go version used in
machine-install
command to 1.19.1.
4.24.0 - 2022-07-12
- Update
architect
version tov6.6.0
.- Update
nancy
tov1.0.37
.
- Update
- Use an additional nancy exclude vulnerabilities file at the root of the repositories:
.nancy-ignore.generated
. If the file does not exist, nancy will ignore it. The standard.nancy-ignore
file should contain the repository specific excludes and.nancy-ignore.generated
is a generated one that should contain globally ignored vulnerabilities, if any.
4.23.0 - 2022-06-22
- Remove old k8s versions from
kubeval
job.
4.22.0 - 2022-06-21
- Set
push_to_oci_registry
totrue
by default, pushing all charts to OCI as a result.
4.21.1 - 2022-06-16
- Update
app-test-suite
to v0.2.4
4.21.0 - 2022-05-31
- Remove
.nancy-ignore.local
file.
4.20.0 - 2022-05-27
- Add a second
.nancy-ignore.local
file.
4.19.0 - 2022-05-24
- Update
app-test-suite
to v0.2.3
4.18.0 - 2022-05-10
- Update
architect
version tov6.4.0
.- Updates Go version to 1.18.1.
- Update Go version used in
machine-install
command to 1.18.1.
4.17.0 - 2022-04-21
- Add support for pushing to OCI-based App catalogs.
4.16.0 - 2022-04-13
- Update deprek8ion policies to include checking for deprecated manifests of kubernetes releases 1.22
- Change
kubeval
k8s schema to more up-to-date source. (1.21 and 1.22)
4.15.0 - 2022-03-29
- Update
app-build-suite
to v1.1.2
4.14.4 - 2022-03-24
- Update
app-build-suite
to v1.1.1
4.14.3 - 2022-03-11
- Let
docker build
command produce plain progress output
- Update to apptestctl to v0.14.1 to fix problem with AppCatalogEntry CRD.
4.14.2 - 2022-03-08
- Check out app catalog at default
HEAD
instead of specifyingmaster
branch for compatibility withmain
branch.
4.14.1 - 2022-03-07
- Add retry logic to the docker-push step
4.14.0 - 2022-03-04
- Update
architect
version tov6.3.0
.- Updates Go version to 1.17.8.
- Update Go version used in
machine install
command to 1.17.8.
4.13.0 - 2022-02-18
- Don't push Argo application CRs to app collections now Flux migration is done.
4.12.0 - 2022-02-11
- Default to use
DOCKER_BUILDKIT=1
environment variable inpush-to-docker
job. - Update
architect
version tov6.2.0
.- Updates Go version to 1.17.7
- Update Go version used in
machine-install
command to 1.17.7.
4.11.0 - 2022-02-09
- Update architect to 6.1.1.
4.10.1 - 2022-02-07
- Update architect to 6.0.0. Includes generators for Flux-friendly app collections.
4.10.0 - 2022-02-07
- Change
push-to-app-collection
command: generate resources for Flux to manage app collections
4.9.0 - 2021-12-15
- Change
integration-test
job to always installapptestctl
binary. - Add
helm-version
parameter tointegration-test
job.
4.8.1 - 2021-11-17
- Update
app-test-suite
to 0.2.2. Includes 2 important bugfixes for working with ginatswarm catalog.
4.8.0 - 2021-11-03
- Update
app-test-suite
to 0.2.1. Main changes are- New test type - upgrade test
- New test executor - go test
- Update python to 3.9
4.7.0 - 2021-11-02
- Add
tags
parameter togo-build
job to allow specifying-tags
flag when runninggo build
.
- Change download URL of
dats.sh
wrapper to use raw.githubusercontent.com to be able to run pre-release versions of app-test-suite inrun-tests-with-ats
job.
- Remove unused
pkg
parameter ingo-build
command.
4.6.0 - 2021-10-04
- Change
kubeval
k8s schema to more up-to-date source. - Specify machine
image
to use (ubuntu-2004:202010-01
) for all jobs that use themachine
executor.
4.5.0 - 2021-09-29
- Add
kubeval
validation step for duplicate chart resources inpush-to-app-catalog
job.
4.4.0 - 2021-09-24
- Use version 1.0.4 of app-build-suite for
app-build-suite
executor. - Replace
run-tests-with-abs
withrun-tests-with-ats
. Use newapp-test-suite
. - Add
persist_chart_archive
parameter topush-to-app-catalog
job to be used together withrun-tests-with-abs
job.
4.3.0 - 2021-09-13
- Update
architect
version tov5.2.0
.- Updates Go version to 1.17.1
- Updated
golangci-lint
to v1.42.1
- Update Go version used in
machine-install
command to 1.17.1.
4.2.0 - 2021-08-25
- Update
architect
version tov5.1.0
.
4.1.0 - 2021-08-20
- Update deprek8ion policies to include checking for deprecated manifests of kubernetes releases 1.16, 1.17, 1.18, 1.19 and 1.20
- Remove pushing Argo Application CRs into
helm/
chart path.
4.0.0 - 2021-07-12
- Update architect to 4.0.0.
3.3.0 - 2021-06-16
- Update architect to 3.7.1.
- Add a friendly name to the lint helm chart step.
3.2.0 - 2021-06-15
- Update apptestctl version in integration-test job to 0.9.0.
- Remove
skip_helm_chart_linting
option introduced in #256.
3.1.0 - 2021-05-26
- Use version 0.2.3 of app-build-suite for
app-build-suite
executor.
3.0.0 - 2021-05-21
⚠️ Push Argo Application CRs instead of Giant Swarm App CRs to collections' /helm directory. This is a breaking change.
⚠️ Remove alluser_configmap*
anduser_secret*
parameters frompush-to-app-collection
job. This is a breaking change.
2.11.0 - 2021-05-20
- Add
selfHeal: true
andallowEmpty: true
to the generated Application CR sync policy inpush-to-app-collectoin
job (See architect@v3.6.0).
- Temporarily don't fail when Chart.yaml doesn't have the config annotation in
push-to-app-collectoin
job (See architect@v3.6.0).
2.10.0 - 2021-05-19
- Update Kubernetes version in integration-test job to 1.21.1.
- Update KinD version in integration-test job to 0.11.0.
- Update Helm version in integration-test job to 3.5.4.
2.9.0 - 2021-05-18
- Create Argo CD Application CR alongside Giant Swarm App CR in
push-to-app-collection
job. They are pushed to separate /manifests directory.
2.8.0 - 2021-05-13
- Remove
.status
field from App CR before pushing into app-collection.
2.7.0 - 2021-04-08
- Regenerate ssh public key in
push-to-app-catalog
andpush-to-app-collection
to match given private catalogbot ssh key.
2.6.0 - 2021-04-07
- Update apptestctl version in integration-test job to 0.8.0.
- Update Kubernetes version in integration-test job to 1.20.2.
2.5.0 - 2021-03-30
- Allow skipping helm chart linting during
push-to-app-catalog
by settingskip_helm_chart_linting
.
2.4.2 - 2021-03-24
- Fix git clone for push to app collection using master as a main branch
2.4.1 - 2021-03-24
- Upgrade architect to 3.4.1 which contains the extended chart schema of app-build-suite.
2.4.0 - 2021-03-23
- Support both main and master branch in push-to-app-collection.
- Update Kubernetes version in integration-test job to 1.19.4.
- Update Kind version in integration-test job to 0.10.0.
- Bump apptestctl in integration-test job to 0.7.0.
- Update Go version used in
machine-install
command to 1.16.2. - Bump architect to 3.4.0.
- Update
go
version tov1.16.2
. - Update
helm
version tov3.5.3
. - Update
alpine
version to3.13
. - Update
conftest
version tov0.21.0
. - Update
golangci-lint
version tov1.38.0
. - Update
nancy
version tov1.0.17
. - Update
helm-chart-testing
tov3.3.1
.
- Update
- Use version 0.2.2 of app-build-suite for
app-build-suite
executor.
2.3.0 - 2021-03-12
- Update Go version used in
machine-install
command to 1.16.1. - Bump architect to 3.3.1.
2.2.0 - 2021-03-02
- Use version 0.2.1 of app-build-suite for
app-build-suite
executor.
- Allow chart name mismatch for
push-to-app-catalog
by settingexplicit_allow_chart_name_mismatch
totrue
.
2.1.0 - 2021-02-24
- Change app catalog base domain to
giantswarm.github.io
because of upstream redirect deprecation.
2.0.0 - 2021-02-19
- Update Go version used in integration tests to 1.16.
- Bump architect to 3.3.0.
- Breaking: Remove
legacy
jobs and commands
1.1.2 - 2021-02-04
- Use version 0.1.7 of app-build-suite for
app-build-suite
executor. - Added experimental
run-tests-with-abs
job for test execution using app-build-suite.
1.1.1 - 2021-01-07
- Use apptestctl v0.6.0 in
integration-test
job. - Bump helm version in
run-kat-tests
job. - Use version 0.1.3 of app-build-suite for
app-build-suite
executor.
1.1.0 - 2020-12-22
- Allow
chart
parameter value of jobpush-to-app-catalog
to be "name of repository with optional -app suffix".
1.0.0 - 2020-12-04
- Set configuration version in the generated App CR in
push-to-app-collection
if "config.giantswarm.io/version" annotation is set in Chart.yaml.
- Removed
unique
parameter frompush-to-app-collection
job. This is a breaking change.
0.18.1 - 2020-11-30
- Use apptestctl v0.5.1 in
integration-test
job to add printer columns for app and chart CRDs.
- Fix setting kubeconfig when running
apptestctl bootstrap
.
- Use apptestctl v0.5.0 in
integration-test
job. - Allow app user config configmap and secret configuration.
- Bump architect to 3.1.1
0.17.1 - 2020-11-24
- Add
build-context
,dockerfile
andtag-suffix
parameters topush-to-docker
. - Added names to steps in
push-to-docker
command. - Added
app-build-suite
executor. - Add
executor
parameter topush-to-catalog
job to enable building charts using app-build-suite for metadata generation inpush-to-app-catalog
job.
0.17.0 - 2020-11-06
- Add
install-app-platform
param to integration-test job that runsapptestctl bootstrap
to add support for using app CRs in tests. - Update kubernetes in integration-test job to v1.17.11.
- Update kind in integration-test job to v0.9.0.
- Update helm CLI in integration-test job to v3.4.0.
- Remove copying code to GOPATH in integration-test job since migration to Go modules is complete.
0.16.0 - 2020-10-27
- Add
resource_class
parameter torun-kat-tests
job.
0.15.1 - 2020-10-26
- Set defaults for 'helm-version' (2.16.5), 'kind-version' (0.7.0) and 'kubectl-version' (1.18.0) in 'run-kat-tests' job.
0.15.0 - 2020-10-26
- Add multiple parameters to
run-kat-tests
job.
0.14.0 - 2020-10-14
- Update
architect
binary version to v3.0.2. - Add guideline to use name on steps.
- Make 'package-and-push' more readable.
0.13.0 - 2020-10-05
- Update Go version used in integration tests to 1.15.2.
0.12.0 - 2020-09-28
- Update
architect
binary version to v3.0.0.
0.11.0 - 2020-08-20
- Scan for Go dependency vulnerabilities with
nancy
.
0.10.2 - 2020-08-11
- Update
architect
binary version to v2.1.3.
0.10.1 - 2020-07-24
- Install
kind
as a binary file.
0.10.0 - 2020-07-03
- Delete
helm init
step which was not needed after helm 3. - Pin
architect
binary version to v2.0.0.
0.9.0 - 2020-06-02
- Recreate broken 0.8.18 release and discontinue 0.8.x line to avoid confusion. For details see:
0.8.18 - 2020-05-25
integration-test-create-cluster
: retry creating kind cluster.
push-to-app-catalog
: fix retries.push-to-app-collection
: fix retries.
0.8.17 - 2020-05-21
integration-test-install-tools
: install Helm 2.16.1 since it's required by our Helm client.
0.8.16 - 2020-05-21
integration-test-install-tools
: install Helm 2.16.7.
0.8.15 - 2020-05-14
push-to-app-catalog
: retry the push up to 4 times to better handle transient errors.
push-to-app-catalog
andrun-kat-tests
: Support providing Chart Testing (ct
) configuration file
0.8.14 - 2020-05-11
push-to-app-collection
: retry the push up to 4 times to better handle transient errors.
0.8.13 - 2020-04-24
go-build
job will fail if it fails to compile.
- The
go-test
job takes into consideration go modules when generating flags to inject values into the binary.
0.8.12 - 2020-04-22
- Add new parameter
disable_force_upgrade
topush-to-app-collection
job which allows configuring App CR annotationchart-operator.giantswarm.io/force-helm-upgrade
. This annotation defines whetherchart-operator
forces helm chart upgrade on failure.
0.8.11 - 2020-04-21
conftest
is used to check deprecation policies only up to Kubernetes 1.17.
0.8.10 - 2020-04-20
push-to-app-catalog
will lint the helm charts again.
0.8.9 - 2020-04-14
- Added a new job
run-kat-tests
that executes application tests using kube-app-testing
push-to-app-catalog
doesn't lint helm charts anymore, as that is now part of tests run bykube-app-testing
0.8.8 - 2020-04-09
- Add
resource_class
parameter to all jobs (excluding legacy jobs).
- Update Go version used in integration tests to 1.14.1.
0.8.7 - 2020-04-08
- Add new parameter
namespace
topush-to-app-collection
job which allows configuring namespace where chart should be installed.
0.8.6 - 2020-03-30
- Use
conftest
to validate helm template usingrego
policies inpush-to-app-catalog
job.
0.8.5 - 2020-03-30
- Validate templated charts using
architect helm template
inpush-to-app-catalog
job.
0.8.4 - 2020-03-24
- New parameter
test-timeout
for theintegration-test-go-test
command andintegration-test
job which allows to define the timeout for the test execution. It defaults to the value that was already in use.
- Don't run cleanup for helm chart template command on non-tagged builds.
- Drop
unparam
fromgolangci-lint
.
0.8.3 - 2020-03-12
- New parameter
on_tag
for thepackage-and-push
command andpush-to-app-catalog
job which allows merges to themaster
branch to be deployed to the non-testing app catalog without requiring a tag.
- Don't run cleanup for helm chart template command on non-tagged builds.
0.8.2 - 2020-03-10
- Fix GOPATH problem in
integration-test
job. - Disable version bump check for Helm lint.
- Helm lint supports single chart rather than entire directory disabling version bump check.
0.8.1 - 2020-03-09
- Enable linting during go-test command.
0.8.0 - 2020-03-05
- Support for optionally attaching the persisted workspace in the
push-to-app-catalog
job. - Introduce Helm Chart testing and linting in
push-to-app-catalog
job. - Add
changelog-lint
job. - Introduce
integration-test
job for runningGo
integration tests in aKIND
cluster. - Verify chart, operator and tag versions while packing helm chart on tagged
operator build in
push-to-app-collection
job.
- Update CircleCI config to use
orb-tools@8.27.6
.
- Remove Docker layer caching from remote docker setup (affects push-to-docker and push-to-docker-legacy)
0.7.0 - 2020-02-26
- Introduce
go-lint
for running configurable linting jobs onGo
code - Introduce
gitleaks
for entropy-based checks for secrets in the repository (language-agnostic) - Support for modern code analysis tools for dep-based projects using the new
go-test-legacy
job. Based on the existinggo-test
job. - Support for running arbitrary architect commands inside an architect container
avoiding the requirement of installing the binary locally using the new
go-architect-legacy
job. - New
go-cache-save-legacy
andgo-cache-restore-legacy
commands which enabledep
dependencies to be cached in jobs as long asGopkg.lock
doesn't change. - Names for steps in
tools-info
command.
0.6.0 - 2020-02-19
- Stop injecting version into build info in
go-test
command to allow version to be maintained directly in source.
- Fix pushing new unique app in push-to-app-collection job. #69
0.5.3 - 2020-02-11
- Fail when .go files not satisfying import rules specified in fmt are present.
- Fix working files cleanup in push-to-app-collection job.
0.5.2 - 2020-02-03
- Do not change CR name when "unique" parameter is set in push-to-app-collection job.
0.5.1 - 2020-02-03
- Fix push-to-app-collection job broken in v0.5.0 release.
0.5.0 - 2020-01-31
- Add "unique" parameter to push-to-app-collection job.
0.4.5 - 2019-12-11
- Add "push-to-docker-legacy" command to be able push old style docker image tags.
0.4.4 - 2019-10-31
- Add "tag-latest-branch" parameter to the push-to-docker job.
0.4.3 - 2019-10-10
- Add go-test job for building libraries.
0.4.2 - 2019-10-04
- Add "os" parameter to the go-build job.
0.4.1 - 2019-10-02
- Add message to known errors link if pushing to catalog or collection fails.
- Fail when go modules are not tidy in go-build.
0.4.0 - 2019-09-17
- Add go-build job.
0.3.0 - 2019-09-06
- Add push-to-app-collection job.
0.2.0 - 2019-07-26
- Add push-to-docker job.
0.1.2 - 2019-07-22
- Index new package only in package-and-push command.
0.1.1 - 2019-06-14
- Fix app catalog name reference in indexing step of package-and-push command.
0.1.0 - 2019-06-04
- Add push-to-app-catalog job.