Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Set an instanced pipeline per PR #403

Merged
merged 1 commit into from Jul 16, 2021
Merged

Set an instanced pipeline per PR #403

merged 1 commit into from Jul 16, 2021

Conversation

aoldershaw
Copy link

@aoldershaw aoldershaw commented Jul 9, 2021

This makes use of the new dynamic across behaviour in concourse/concourse#7252 (so is therefore blocked on it). It makes the following changes:

  • reconfigure-pipelines is responsible for tracking changes to the list of PRs to the concourse repo (to the master branch only) and sets an instanced pipeline for each one
  • Each release pipeline also tracks changes to the list of PRs to their corresponding release-M.m.x branch, and does the same
  • The PR pipelines themselves are different. Since we no longer have to worry about version: every + passed constraints, we can have a proper "pipeline" that builds the image once and passes it along to downstream jobs:

Screen Shot 2021-07-09 at 9 27 40 AM

There were a few other changes related to the across step I added:

  • Simplify the setting of the resource pipelines
  • Make use of the new across substep interpolation in Allow interpolation in the across step values concourse#7252 to interpolate the input_mapping - this means we no longer need to pass in both postgres-image and postgres-image-legacy to each testflight container, and can just pass in the one we're actually using.

pipelines/pr.yml Outdated
Comment on lines 160 to 151
# TODO: now that this is per PR pipeline, caches might end up taking a
# ton of disk...figure out if this is a problem.
caches: [{path: cache}]
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is what I was talking about in retro. I think without some sort of GC mechanism for task caches we'll run into issues, since the size of the pr instance group never actually shrinks (old PR pipelines will get archived, but it seems as though task caches remain for archived pipelines)

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No longer blocked (see concourse/concourse#7272)

@aoldershaw aoldershaw force-pushed the prs-across branch 2 times, most recently from 208abcf to 00d90e8 Compare July 14, 2021 19:27
@aoldershaw aoldershaw force-pushed the prs-across branch 5 times, most recently from 513dab5 to c62b612 Compare July 16, 2021 01:54
since we no longer have to deal with version: every + passed
constraints, we can now build the PR images once and fetch the result in
each of the downstream jobs. this also makes it easier to test PRs,
since you can just point to the image concourse/dev:pr-1234

Co-authored-by: Esteban Foronda <eforonda@vmware.com>
Signed-off-by: Aidan Oldershaw <aoldershaw@pivotal.io>
@aoldershaw aoldershaw merged commit 12c6139 into master Jul 16, 2021
@aoldershaw aoldershaw deleted the prs-across branch July 16, 2021 13:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants