Custom Resource content reverts in pipeline


I have a custom concourse resource that when triggered will aggregates all artifacts required for a test run. Works well however in a situation where resource version doesn’t change but with updated artifacts, later task in the pipeline run i see artifacts revert to the older ones. I suspect is because the resource version didn’t change and resource are getting reused. Is this the right behavior ?

Is there a configuration where a triggered resource will not be reused ?

Here is an example

Here is my configured resource

" - get: my-custom-resource
trigger: true

for example my-custom-resource resource version is

get: my-custom-resource version: 1234567

In resource 1234567 contains

artifacts-v123 and binary-v123

The triggered run fails, and there’s an updated binary, the resource will fetch the updated one.
** version 1234567 ** versions stays the same and fetches
** artifacts-v123 and binary-v456**

In my pipeline I see

get: my-custom-resource version: 1234567

I hijack into that get container and artifacts are correct ** artifacts-v123 and binary-v456**

I have a job in the pipeline that will put artifacts-v123 and binary-v456 in two different output dir
However when i check in this job, the binary has reverted to binary-v123 instead of v456.

Running Concourse v5.8.0

Any help is greatly appreciated.


A core concept in Concourse is that resource versions are immutable. If a resource finds a version then the whole system assumes that the contents of that version will always be the same. I’m not sure I fully understand your problem but generally if you create a workflow where the version number can stay the same while the contents of that version can change then you will encounter unexpected behaviour.

Gotcha, thanks @crsimmons