Skip to content

pipeline health POC #59

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

Open
wants to merge 45 commits into
base: main
Choose a base branch
from
Open

pipeline health POC #59

wants to merge 45 commits into from

Conversation

edmundmiller
Copy link
Contributor

@edmundmiller edmundmiller commented Jul 20, 2024

Closes A start on #5

I expect it to go through some iteration before actually using it to manage the pipelines, and even then a slow roll-out.

Just looking for anything that anyone absolutely hates, or settings that we can catch that are wrong.

@edmundmiller edmundmiller self-assigned this Jul 20, 2024
@@ -0,0 +1,99 @@
- airrflow
Copy link
Member

Choose a reason for hiding this comment

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

Copy link
Member

Choose a reason for hiding this comment

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

Why is this resolved, how come we can't use the pipelines.json file? I don't like the idea of trying to keep these up to date.

Copy link
Member

Choose a reason for hiding this comment

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

By the way we also have https://nf-co.re/pipeline_names.json which is much lighter.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Small iterations 😉

I'll add it to download, but I don't want to start "terraforming" the whole GitHub org because of the scope of this PR.

@ewels
Copy link
Member

ewels commented Jul 21, 2024

Looking very promising!

The old website PHP code for this is here: https://github.com/nf-core/website/blob/old-site/public_html/pipeline_health.php

That contains all of the logic for stuff like the repo website, the set of minimum keywords and the types of things to do (eg. stripping old bad GHA job names). See the functions called fix_* (mostly).

@ewels
Copy link
Member

ewels commented Jul 21, 2024

Also this is the new pipeline health page in Astro, if it helps: https://github.com/nf-core/website/blob/main/sites/pipelines/src/pages/pipeline_health.astro

That reports on a lot of this stuff but doesn't set anything.

@edmundmiller
Copy link
Contributor Author

Also this is the new pipeline health page in Astro, if it helps: https://github.com/nf-core/website/blob/main/sites/pipelines/src/pages/pipeline_health.astro

That reports on a lot of this stuff but doesn't set anything.

Ah, sweet!

@edmundmiller edmundmiller changed the title pipeline health pipeline health POC Jul 22, 2024
@edmundmiller edmundmiller marked this pull request as ready for review July 22, 2024 03:16
@edmundmiller edmundmiller requested a review from a team as a code owner July 22, 2024 03:16
@edmundmiller
Copy link
Contributor Author

@ewels Ignore the mypy errors will fix that in post. I think this is ready to review and 🚀

Copy link
Contributor

@mashehu mashehu left a comment

Choose a reason for hiding this comment

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

Some thoughts

@@ -0,0 +1,5 @@
config:
github:owner: nf-core-tf
# https://start.1password.com/open/i?a=O5GICFDKPNABLLVGMKBL5JWDWA&v=rdfcz6oy6qxxrc4clu467a7dmm&i=4ajrv44kc5lcbboa37fr5oydla&h=nf-core.1password.eu
Copy link
Contributor

Choose a reason for hiding this comment

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

this throws an error for me. is that maybe for your personal account?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Updated the link, you also we're in the Dev vault. Had to make a vault that was specifically accessible to the service accounts, and I didn't want to give them access to everything.

@ewels
Copy link
Member

ewels commented Feb 3, 2025

Need to check that we don't clobber certain fields, such as repository descriptions if already written.

Similar for repo keywords: should have a minimal set but not clobber custom ones.

This will vary across fields.

Copy link
Contributor

@mashehu mashehu left a comment

Choose a reason for hiding this comment

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

needs some cleanup

Copy link
Contributor

Choose a reason for hiding this comment

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

I don't think we need to handle core repos with pulumi

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I think not with the "loop" of all of the pipelines. Just as their own individual settings.

I think it can't hurt to import the settings.

),
),
visibility="public",
topics=TOPICS, # 'repo_keywords' => 'Minimum keywords set',
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
topics=TOPICS, # 'repo_keywords' => 'Minimum keywords set',
topics= repo.topics ?? TOPICS, # 'repo_keywords' => 'Minimum keywords set',

Copy link
Member

Choose a reason for hiding this comment

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

could we add missing topics without deleting the existing ones?

Copy link
Contributor

Choose a reason for hiding this comment

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

yep, that's probably the better approach. the problem is that repo.topics is not just an array, but a pulumi Output object...

Comment on lines 3 to 13
push:
branches:
- main
paths:
- "pulumi/github/repos/**/*"
pull_request:
branches:
- main
paths:
- "pulumi/github/repos/**/*"
Copy link
Member

Choose a reason for hiding this comment

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

Just to understand. This will run on PRs to ops, right? Is this action updating the pipeline health? And are these PRs on ops related to pipeline health?

),
),
visibility="public",
topics=TOPICS, # 'repo_keywords' => 'Minimum keywords set',
Copy link
Member

Choose a reason for hiding this comment

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

could we add missing topics without deleting the existing ones?

1. Importing them all by hand, some code duplication and effort, but probably the least likely to blow up
2. Looping through them all
We can also start with 1, and then move to 2 once everything is captured in the Pulumi state with 1(which seems like the sane option)
@edmundmiller edmundmiller force-pushed the pipeline_health branch 2 times, most recently from 929d181 to cc5fa7c Compare June 3, 2025 22:54
edmundmiller and others added 4 commits June 3, 2025 17:57
Co-authored-by: mashehu <[email protected]>
Co-authored-by: mirpedrol <[email protected]>
- Added pulumi-onepassword dependency to manage GitHub tokens securely.
- Updated Pulumi configuration to include 1Password account details.
- Modified testpipeline.py to fetch GitHub token from 1Password and configure GitHub provider accordingly.
@edmundmiller edmundmiller requested review from a team, mashehu and mirpedrol June 3, 2025 23:24
@mashehu
Copy link
Contributor

mashehu commented Jun 4, 2025

@nf-core-bot fix linting

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: In Progress
Development

Successfully merging this pull request may close these issues.

5 participants