Skip to content

WIP: Release workflow improvements#10771

Closed
scottwittenburg wants to merge 4 commits intospack:developfrom
scottwittenburg:enhance-release-spec-set
Closed

WIP: Release workflow improvements#10771
scottwittenburg wants to merge 4 commits intospack:developfrom
scottwittenburg:enhance-release-spec-set

Conversation

@scottwittenburg
Copy link
Copy Markdown
Contributor

@scottwittenburg scottwittenburg commented Mar 1, 2019

This change adds new fields to the release.yaml file, fixes an issue where the cdash field from that file was ignored, and updates the release workflow to make use of two repositories.

New fields are added to the release.yaml file: ci-except and ci-only allows lists of strings which will be added to each job to control conditions under which the jobs will or will not run. The values provided in these two new fields are expected to be compatible with the strings allowed in the only/except fields of jobs as described in the gitlab-ci documentation. Another new field added to release.yaml is release-tag, which will be used in two ways: added to the job name, and used as the build group within CDash.

This change also fixes the issue where the 'cdash' field of the release.yaml was ignored and instead expected to be provided as argument to the release-jobs command. That argument has been removed in favor of the field from the yaml file. Also, since we are not currently reporting to more than one cdash site for a release, the 'cdash' field has been changed from a list to a single entry, but where the baseurl and project can be configured separately.

Additionally, this change adds support for a 2-repo approach to the workflow release. In this approach, a first repository (in the cloud system, the gitlab set up to mirror spack on github) is used to generate the .gitlab-ci.yaml, and push it as a commit to a secondary repository, where the build jobs will actually be run. In the current incarnation, the first repo CI executes a single job which:

  1. sends a GET requests to the microservice to generate the jobs (.gitlab-ci.yaml)
  2. parses that file for the job names, and register all of them under the build group identified by the release-tag in the release.yaml
  3. commits the .gitlab-ci.yml and pushes it to the next CI repo where the packages are actually built

@scottwittenburg scottwittenburg force-pushed the enhance-release-spec-set branch 9 times, most recently from 972c980 to 182e4f0 Compare March 8, 2019 04:29
@scottwittenburg scottwittenburg force-pushed the enhance-release-spec-set branch 7 times, most recently from 894823e to 64cd4a6 Compare March 15, 2019 00:03
@scottwittenburg scottwittenburg changed the title WIP: Add release-tag and only/except to release workflow jobs WIP: Release workflow improvements Mar 15, 2019
@scottwittenburg scottwittenburg force-pushed the enhance-release-spec-set branch 7 times, most recently from cdff4d6 to 27c5fa5 Compare March 15, 2019 19:48
@scottwittenburg scottwittenburg force-pushed the enhance-release-spec-set branch 4 times, most recently from cca3277 to 0d01417 Compare March 18, 2019 21:15
@scottwittenburg scottwittenburg force-pushed the enhance-release-spec-set branch 11 times, most recently from 3f3d815 to 347e4e2 Compare March 21, 2019 20:10
@scottwittenburg scottwittenburg force-pushed the enhance-release-spec-set branch 2 times, most recently from c0d8a20 to 85c1836 Compare March 22, 2019 16:11
@scottwittenburg
Copy link
Copy Markdown
Contributor Author

Closing in favor of #11612

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant