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

Add checklist to update maintainers team #2584

Merged
merged 19 commits into from
Nov 15, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
---
title: Core Checklists
subtitle: Step-by-step guides for core team tasks
markdownPlugin: checklist
---

## New pipeline onboarding

Instructions for nf-core pipeline approval:

1. [ ] Core: Check proposal has received approval in #new-pipelines from either:
- Two members of the core team.
- One member of the core team and one member of the maintainers team.
2. [ ] Core: Verify that the pipeline name follows the [pipeline naming guidelines](/docs/guidelines/pipelines/workflow_name).
3. [ ] Core: Create a slack channel with approved pipeline name.
4. [ ] Core: Ask the developers to join #pipeline-maintainers channel.
5. [ ] Core/Dev: Create the git repository using `nf-core pipelines create` and push it to GitHub.
6. [ ] Core/Dev: Transfer the repository to nf-core GitHub organisation and delete the repository on local the machine/user account.
7. [ ] Core/Dev: Sync the nf-co.re pipelines page by triggering the GitHub action
- Website repo > Actions > Build json files and md-cache > Run workflow > From main.

## Uploading test data to s3 bucket

Instructions for uploading full-test AWS files for a pipeline to a S3 bucket:

1. [ ] Check Valid test data that can be uploaded:
:::note
Small input data that may be unreliable when downloaded from other repositories (e.g., limit total file size to a maximum of 10 GB across all files).
:::
2. [ ] Check that large files that cannot be reduced or subsetted.
3. [ ] Select **Amazon S3-managed keys (SSE-S3)** and create the pipeline directory in the S3 bucket.

## Activating Zenodo archiving of a new pipeline

Instructions for setting up Zenodo DOIs.

:::note
It's recommended that a core team member transfers the DOI to the nf-core Zenodo community.
:::

Before release:

1. [ ] Sign up and log in to Zenodo.
2. [ ] Select **Settings -> GitHub -> Connect Account** and connect your GitHub account.
3. [ ] Select **Settings -> GitHub** once connected.
4. [ ] Toggle the **On** switch to enable Zenodo archiving for all nf-core pipeline repositories.
:::note
It's a good idea to enable this for all active pipelines, as DOIs will only be assigned upon release.
:::

:::note
Some repositories (e.g., nf-core/exoseq) may not be activate as they are archived.
:::

5. [ ] Inform the pipeline developers to make a release.

Post release:

1. [ ] Select **Settings -> Github** in Zenodo and find the relevant repository.
2. [ ] Click the Zenodo **Record** page for the release.
3. [ ] Find the **Communities** box on the record page and submit the record to the nf-core community.
4. [ ] Copy the DOI for **Cite all versions by using the DOI**.
5. [ ] Update files on the pipeline master branch:
- `README.md`: Add the Zenodo Badge and update the **If you use this pipeline cite** section.
- `Nextflow.config`: Update the manifest block to include the DOI.
- Commit these changes with the message "Add Zenodo ID after first release".

## Adding new community member to the GitHub organisation

Anyone can request to join the nf-core GitHub organisation via the #github-invitations channel.

1. [ ] Verify the request is reasonable (i.e., clearly not spam).
2. [ ] Send an invitation via [nf-core github teams](https://github.com/orgs/nf-core/teams)
3. [ ] Add new member to the [nf-core contributors team](https://github.com/orgs/nf-core/teams/contributors)
4. [ ] Respond to the #github-invitations channel request by reacting with the ✅ emoji.

## Updating online bingo cards

Before each hackathon, we need to update the [bingo cards](https://nfcore-bingo.web.app/) to ensure they remain current.

To update the bingo cards:

1. [ ] Ask for the outreach google account credentials from `@core-team`
2. [ ] Log into the Firebase Dashboard: https://console.firebase.google.com/
3. [ ] Select **Realtime Database**.
4. [ ] Select **games** and navigate down the tree until you reach **lexicon**.
5. [ ] Hover over **lexicon** and select **+** to add entries:
- Key: Number
- Value: New board entry
6. [ ] Select the trash bin next to the given entry to remove it.

## Backups

The following items should be regularly backed up by a member of core team with admin access to the relevant service:

- HackMD: backup to Google Drive (Outreach)

## New core team member onboarding

This documents the steps that need to be performed when adding a new core team member:

1. [ ] Add to core team Slack channel
2. [ ] Add to GitHub core team
3. [ ] Add as owners on the GitHub org
4. [ ] Add to `@core-team` `@outreach-team` slack teams
5. [ ] Add as admin on slack
6. [ ] Add to hackMD team as Admin
7. [ ] Add to `quay.io` in team owners
8. [ ] Add to Tower organisation as owner
9. [ ] Add to nf-core google calendar(s)
10. [ ] Add to `[email protected]` forwarder
11. [ ] Add to [Zenodo community](https://zenodo.org/communities/nf-core/records?q=&l=list&p=1&s=10) as admin
12. [ ] Create personal `@nf-co.re` email
13. [ ] Update Website / About (get new member to check)
14. [ ] Ask new member to add nf-core apple core emoji as Status
15. [ ] Make Slack announcement
16. [ ] Make Social media announcement
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---
title: Maintainers Checklists
subtitle: Step-by-step guides for maintainers team tasks
markdownPlugin: checklist
---

## Maintainers team onboarding

To add maintainers:

Team lead:

1. [ ] Add member to [#team-maintainers](https://nfcore.slack.com/archives/C043UU89KKQ)
2. [ ] Add member to [Github group](https://github.com/orgs/nf-core/teams/maintainers)
3. [ ] Add member to Slack group
4. [ ] Add member to the [Maintainers team google calendar](https://calendar.google.com/calendar/u/0?cid=ZDA3MmVkOGI1NzQ0YWViOWE3ZjBkMDE4YjFjZWE1OGE5M2MwZDZlZTIyMzM1YWE5YzA0NTlmODg0YTZkMDNkZEBncm91cC5jYWxlbmRhci5nb29nbGUuY29t)

New member:

1. [ ] Add profile to [**About > Governance > Maintainers**](https://nf-co.re/governance#maintainers)

## Maintainers team membership

:::note
New maintainers may be nominated by the community and join the team at any time.
Maintainers maintenance is performed yearly to ensure membership is up-to-date, particularly in regards to members who wish to step down due to new or changing commitments.
:::

To review mainterins team membership:

1. [ ] Ask who wants to step down.
2. [ ] Ask for nominations, discuss, and approve new members.
3. [ ] Invite nominees to join.
4. [ ] Once accepted, nominee and team leads perform tasks [onboarding](#maintainers-team-onboarding).
5. [ ] Move members to alumni status on the website in [**About > Governance > Maintainers**](https://nf-co.re/governance#maintainers).
6. [ ] Announce new members on [#announcements](https://nfcore.slack.com/archives/CE6P95170).
Loading