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

Tagged runner system #17246

Merged
merged 1 commit into from
Mar 31, 2023
Merged

Tagged runner system #17246

merged 1 commit into from
Mar 31, 2023

Conversation

SkySkimmer
Copy link
Contributor

This allows us to set the variable TAGGED_RUNNERS to run most jobs on runners with some tags (exceptions: the bench, the docker job).

Then we can enable shared runners permanently for the docker job without them being enabled for other jobs.

@SkySkimmer SkySkimmer requested a review from a team as a code owner February 9, 2023 16:59
@coqbot-app coqbot-app bot added the needs: full CI The latest GitLab pipeline that ran was a light CI. Say "@coqbot run full ci" to get a full CI. label Feb 9, 2023
@github-actions github-actions bot added the needs: rebase Should be rebased on the latest master to solve conflicts or have a newer CI run. label Mar 15, 2023
This allows us to set the variable TAGGED_RUNNERS to run most jobs on
runners with some tags (exceptions: the bench, the docker job).

Then we can enable shared runners permanently for the docker job without them
being enabled for other jobs.
@coqbot-app coqbot-app bot removed the needs: rebase Should be rebased on the latest master to solve conflicts or have a newer CI run. label Mar 15, 2023
@ppedrot
Copy link
Member

ppedrot commented Mar 22, 2023

Any assignee?

@ppedrot
Copy link
Member

ppedrot commented Mar 29, 2023

I'm not competent enough to assign this PR. Maybe @Zimmi48 ?

@Zimmi48 Zimmi48 self-assigned this Mar 29, 2023
Comment on lines +5 to +6
tags:
- not-a-real-tag
Copy link
Member

Choose a reason for hiding this comment

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

What is this for?

Copy link
Contributor Author

@SkySkimmer SkySkimmer Mar 30, 2023

Choose a reason for hiding this comment

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

We can't put the autotags in default because the conditional is done by conditionally including, so this makes sure we don't forget to us them on some job (and makes us be explicit about the jobs that use other tags like docker).

I guess maybe instead the -mode files could define

.default-template:
  interruptible: ...

and the main file would have

default:
  extends:
    - .default-template
    - .auto-use-tags

Copy link
Member

Choose a reason for hiding this comment

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

Indeed, although I don't mind your current solution.

@Zimmi48 Zimmi48 added kind: infrastructure CI, build tools, development tools. part: CI The continuous integration system. and removed needs: full CI The latest GitLab pipeline that ran was a light CI. Say "@coqbot run full ci" to get a full CI. labels Mar 30, 2023
@Zimmi48 Zimmi48 added this to the 8.17.1 milestone Mar 30, 2023
@Zimmi48
Copy link
Member

Zimmi48 commented Mar 30, 2023

Then we can enable shared runners permanently for the docker job without them being enabled for other jobs.

Requires backporting to active branches before setting the $TAGGED_RUNNERS variable if we do not want shared runners being picked up there, either.

@Zimmi48
Copy link
Member

Zimmi48 commented Mar 31, 2023

@coqbot merge now

@coqbot-app coqbot-app bot merged commit 4d8147e into coq:master Mar 31, 2023
@SkySkimmer SkySkimmer deleted the tagged-runners branch March 31, 2023 12:56
Zimmi48 added a commit to Zimmi48/coq that referenced this pull request Mar 31, 2023
@Zimmi48
Copy link
Member

Zimmi48 commented Apr 11, 2023

FWIW, I've backported this PR, so it should be possible to start making use of it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind: infrastructure CI, build tools, development tools. part: CI The continuous integration system.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants