Concourse v6.7.2 Release Notes
Release Date: 2020-11-30 // about 4 years ago-
๐ This release focuses on optimizations and bug fixes.
๐ฑ โ๏ธ Features
๐ฑ Optionally skip resource checking for put-only resources. (#6271) @evanchaoli ๐
Resource checking forput
resources can be optionally turned off by using the feature flagCONCOURSE_ENABLE_SKIP_CHECKING_NOT_IN_USE_RESOURCES
on the web command. Only resources which are used as inputs to a job will be checked as a result. This can lower the resource checking load on some instances. This feature was originally added in 6.0.0 and reverted in 6.6.0 because of two side effects: 1) put-only resources will no longer show version history in the UI, and 2) custom resource types of put-only resources will no longer be automatically checked. Please note that these side effects still exist at the moment.โ Add index to improve pipeline and build deletion (#6273) @vito ๐
๐ Pipeline deletion had become slow and even caused some deadlocks in the database. This migration fixes those issues.๐ฑ Ensure pipelines contain at least one job (#6310) @taylorsilva ๐
๐ง Pipelines are now validated to ensure that they contain at least one job. Pipeline configurations with no jobs will be rejected.๐ฑ ๐ Bug Fixes
โ Remove any existing guardian assets on worker startup (#6257) @taylorsilva ๐
๐ Theguardian
runtime executable contains some other executables as dependencies, such asrunc
. Interestingly, it writes them to disk (/var/gdn/assets
) at startup, and proceeds to run them from there. If the dependencies already exist from a previous version ofguardian
then they're not overwritten preventing the updated dependencies from being used. The worker will now clear out any preexistingguardian
assets every time it starts. This fixes in-place upgrade scenarios on BOSH deployments whereguardian
kept using older versions ofrunc
.๐ Abort a rerun build if input version is gone (#6265) @xtremerui ๐
๐ Sometimes a rerun of a build can get stuck in the pending state forever. This can happen if the resource version used for the original build no longer exists. For example, an older commit disappears when a user force pushes to a git repository. Builds will now abort instead of getting stuck when the resource version no longer exists.๐ Fix regression preventing the use of nested fields with
fly set-pipeline --var
(#6280) @aoldershaw ๐- A regression was introduced in 6.5.0 that prevented the use of nested fields when setting a pipeline variable via
fly set-pipeline --var
- For instance, pre 6.5.0,
fly set-pipeline --var foo.bar=123 --var foo.baz=456
would create the variablefoo
with value{bar: 123, baz: 456}
(that can be referenced in the pipeline config as((foo.bar))
,((foo.baz))
) - In 6.5.x/6.6.x, the same command would create variables
"foo.bar" = 123
and"foo.baz" = 456
(that would have to be referenced in the pipeline config as(("foo.bar"))
and(("foo.baz"))
, respectively)
- If you want to set a variable with a
.
in it, you can now quote the flag: e.g.fly set-pipeline --var '"foo.bar"=123'
(note that this requires quoting the entire flag in'...'
to avoid shell expansion) - For instance, pre 6.5.0,
๐ฑ Only increment
checks-enqueued
when a check is created. (#6282) @evanchaoli ๐
There was a metrics bug wherechecks-enqueued
would get incremented even if a check already exists. This gave it a higher value than checks that have just been created.๐ฑ Prevent set_pipeline runtime error (#6307) @evanchaoli ๐
๐งset_pipeline
of a YML pipeline configuration file with nojobs
: orresources
: no longer causes aruntime error: invalid memory address or nil pointer dereference
. This is a backport #6116.๐ฑ ๐คท Miscellaneous
- A regression was introduced in 6.5.0 that prevented the use of nested fields when setting a pipeline variable via
Previous changes from v6.7.1
-
๐ This release bumps the
docker-image
resource type to v1.5.1 which contains a fix for theHEAD
=>GET
request flow.NOTE: the
docker-image
resource type does not support configuring credentials inregistry_mirror
. This issue is somewhat fundamental, as the thedocker
CLI which the resource type uses doesn't support it either. If your registry mirror requires credentials, we recommend using theregistry-image
resource type instead - it's much more efficient, and it will replace thedocker-image
resource type entirely once it's ready.