-
Notifications
You must be signed in to change notification settings - Fork 1
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
Add docs for internal Nextstrain team #45
Conversation
This will hold docs for setting up Nextstrain pathogen repos that is meant for the internal team. External users can consult for their own use, but it will not be written with them in mind!
### `pathogen-repo-ci` Requirements | ||
|
||
> [!IMPORTANT] | ||
> If your pathogen repo does not meet these requirements, please update the | ||
> repo to conform to them to maintain uniformity of Nextstrain pathogen repos. | ||
|
||
1. The pathogen repo must have a top level `nextstrain-pathogen.yaml` file. | ||
2. To run the CI step for a workflow (ingest, nextclade, or phylogenetic), the | ||
directory must contain a `build-configs/ci/config.yaml` config file. | ||
3. At least one of the CI steps must be run or else the CI workflow will exit with an error. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I waffled on whether this should be here or point to docs in the .github
repo. I just put it here so it's all in one place, but feel free to push back.
branches: | ||
- main | ||
pull_request: | ||
workflow_dispatch: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd encourage adding a basic schedule:
on here too. It's really nice to come back to a repo after a while of inactivity and know if CI has broken due to the passage of time before you do some work and expect CI to pass.
non-blocking
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd encourage adding a basic schedule: on here too. It's really nice to come back to a repo after a while of inactivity and know if CI has broken due to the passage of time before you do some work and expect CI to pass.
True! What would be a reasonable schedule here? Once a week?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd say once a day? CI hours are "free" and in this case should ideally only take a few minutes each to run (I'd hope!).
Schedule would ideally be staggered so we don't get a "thundering herd" of pathogen repo CI jobs every day, but we can't stagger with a static template and maybe GitHub already staggers things enough for us (intentionally or unintentionally).
# Routinely check that we continue to work in the face of external changes.
schedule:
# Every day at 18:37 UTC / 10:37 Seattle (winter) / 11:37 Seattle (summer)
- cron: "37 18 * * *"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added in b183592
|
||
jobs: | ||
ci: | ||
uses: nextstrain/.github/.github/workflows/pathogen-repo-ci.yaml@master |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Presumably once we tag v1 (when? I'd have thought by now?) we'll suggest that here?
non-blocking
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tagging the repo is on my TODO list; I was waiting for the "smart" pathogen-repo-ci
to land, which just happened yesterday (and it looks like you've got at least one further outstanding change).
As suggested by @tsibley in review <#45 (comment)>
Description of proposed changes
I didn't want to take the time to set up of full Read the Docs project since I'm not even sure that's needed.
Just using Markdown files to document:
Related issue(s)
Resolves #10
Checklist