diff --git a/.github/workflows/build_page.yaml b/.github/workflows/build_page.yaml index 91b28f2d..2d43f40a 100644 --- a/.github/workflows/build_page.yaml +++ b/.github/workflows/build_page.yaml @@ -35,4 +35,5 @@ jobs: destination: ./_site - name: Upload artifact uses: actions/upload-pages-artifact@v2 - retention-days: "1" + with: + retention-days: "1" diff --git a/_config.yml b/_config.yml index fdffc8e0..91400f30 100644 --- a/_config.yml +++ b/_config.yml @@ -28,7 +28,7 @@ author: email: mdanalysis@numfocus.org images: /public/images -data: /public/data +data_files: /public/data js: /js blog: /blog diff --git a/_data/team/roles/README.md b/_data/team/roles/README.md new file mode 100644 index 00000000..89bc6872 --- /dev/null +++ b/_data/team/roles/README.md @@ -0,0 +1,41 @@ +# Roles + +This directory contains YAML files, one per role. + +## Editing + +Each YAML file should contain the details of one role only. +Each role is automatically picked up by the template. To add or remove a role, simply add or remove a file. Do not add non-role documents to this directory that can be parsed by Jekyll. + +Each file *must* contain the following tags at top level: + +* `role`: The name of the role (e.g. Core library maintenance) + +Each role can optionally have the following tags: +* `description`: text describing the role. This can be written in Markdown. +* `tasks`: a list of strings describing tasks. This is rendered as a list. + +Each role can also optionally have lead/member tags, if there are no subroles. If there are subroles, the below are ignored: +* `current_leads`: a list of names who are current leads +* `current_members`: a list of names who are current members in the subgroup +* `historical_members`: a list of names who previously contributed in a major way + +Onto subroles: each role can optionally define `subroles`. The `subroles` tag should be a **list** where each item *must have*: + +* `subrole`: The name of the subrole (e.g. Issue management) + +Each subrole can *optionally have*: +* `current_leads`: a list of names who are current leads +* `current_members`: a list of names who are current members in the subgroup +* `historical_members`: a list of names who previously contributed in a major way +* `description`: text describing the role. This can be written in Markdown. +* `tasks`: a list of strings describing tasks. This is rendered as a list. + + +## Parsing + +The files here are read first by ``_includes/team_table.html`` and ``_includes/roles_description.html``. +Jekyll automatically reads YAML, JSON, and other formatted files in the ``_data`` directory +as objects that can be interacted with using the Liquid templating language. +For example, the ``name`` variable of the ``code_of_conduct.yml`` file is accessible as ``site.data.team.roles.code_of_conduct.name`` in HTML. + diff --git a/_data/team/roles/code_of_conduct.yml b/_data/team/roles/code_of_conduct.yml new file mode 100644 index 00000000..a7df6cde --- /dev/null +++ b/_data/team/roles/code_of_conduct.yml @@ -0,0 +1,13 @@ +role: Code of conduct committee +description: | + The [code of conduct committee](https://www.mdanalysis.org/pages/conduct/) members + are elected by the [project leadership](https://www.mdanalysis.org/about/#governance) when a committee members' term limit (2 years) has expired. +tasks: + - Receive and investigate all code of conduct complaints and violations + - Propose actions and sanctions, as necessary, to the [project leadership](https://www.mdanalysis.org/about/#governance) (project leadership is tasked with enforcement) + - Periodically review, revise and update current code of conduct procedures + +current_members: + - Jenna Swarthout Goddard + - Richard Gowers + - Micaela Matta diff --git a/_data/team/roles/community_engagement.yml b/_data/team/roles/community_engagement.yml new file mode 100644 index 00000000..dbf48d3e --- /dev/null +++ b/_data/team/roles/community_engagement.yml @@ -0,0 +1,7 @@ +role: Community engagement +tasks: + - Responding to questions on Discord and mailing lists + - Managing and triaging conversations on Discord and mailing lists + +current_members: + - Jenna Swarthout Goddard diff --git a/_data/team/roles/continuous_integration.yml b/_data/team/roles/continuous_integration.yml new file mode 100644 index 00000000..adca3293 --- /dev/null +++ b/_data/team/roles/continuous_integration.yml @@ -0,0 +1,10 @@ +role: Continuous integration +tasks: + - Building and developing new CI infrastructure + - Monitoring CI status + - Maintenance and fixes + +current_members: + - Fiona Naughton + - Irfan Alibay + - Richard Gowers \ No newline at end of file diff --git a/_data/team/roles/core_library_maintenance.yml b/_data/team/roles/core_library_maintenance.yml new file mode 100644 index 00000000..7516a200 --- /dev/null +++ b/_data/team/roles/core_library_maintenance.yml @@ -0,0 +1,33 @@ +role: Core library maintenance +description: | + The core library maintenance team is responsible for + managing the maintenance of the MDAnalysis library. + +subroles: + - subrole: Issue management + tasks: + - Initial triage and tagging of issues + - Managing timely responses and resolving issues + current_members: + - Rocco Meli + - Hugo MacDermott-Opeskin + + + - subrole: Pull request management + tasks: + - Reviewing, shepherding, and merging pull requests + current_members: + - Oliver Beckstein + - Rocco Meli + - Hugo MacDermott-Opeskin + + + - subrole: General maintenance + tasks: + - Monitoring and acting on maintenance needs across the MDAnalysis ecosystem + - Standards compliance (e.g. managing metadata such as the author list) + - Tracking new dependencies + - Emergency fixes + - Other general maintenance tasks + current_members: + - Irfan Alibay diff --git a/_data/team/roles/documentation.yml b/_data/team/roles/documentation.yml new file mode 100644 index 00000000..44af3c35 --- /dev/null +++ b/_data/team/roles/documentation.yml @@ -0,0 +1,14 @@ +role: Documentation +tasks: + - Managing UserGuide repositories and main core documentation + - Managing MDAnalysis Sphinx theme + - Managing documentation-related utilities and architecture + - Managing new issues and PRs related to documentation + - Keeping documentation updated + - Responding to documentation issues in sub-projects + +current_members: + - Lily Wang + - Rocco Meli + + diff --git a/_data/team/roles/external_liaison.yml b/_data/team/roles/external_liaison.yml new file mode 100644 index 00000000..15278165 --- /dev/null +++ b/_data/team/roles/external_liaison.yml @@ -0,0 +1,10 @@ +role: External liaison +tasks: + - Coordinate and connect with affiliated organisations, e.g. NumFOCUS + - Coordinate participation in external projects + - Coordinate with potential industry partners + +current_members: + - Irfan Alibay + - Oliver Beckstein + - Jenna Swarthout Goddard diff --git a/_data/team/roles/mdakit_registry.yml b/_data/team/roles/mdakit_registry.yml new file mode 100644 index 00000000..393fd8e7 --- /dev/null +++ b/_data/team/roles/mdakit_registry.yml @@ -0,0 +1,12 @@ +role: MDAKits registry +tasks: + - Managing submissions to MDAKits registry + - Managing manual review process of new MDAKits + - Managing automated test and badge infrastructure of all MDAKits + - Manage helping with MDAKits who need assistance +current_members: + - Irfan Alibay + - Fiona Naughton + - Lily Wang + - Oliver Beckstein + diff --git a/_data/team/roles/non_core_library_maintenance.yml b/_data/team/roles/non_core_library_maintenance.yml new file mode 100644 index 00000000..690f801c --- /dev/null +++ b/_data/team/roles/non_core_library_maintenance.yml @@ -0,0 +1,64 @@ +role: Non-core library maintenance +description: | + The non-core library maintenance team is responsible for + managing other packages that are directly + maintained by the MDAnalysis organization. + +tasks: + - Managing issues and pull-requests for sub-projects + - Managing new features and updates + - Managing maintenance + - Working with CI and CD team and infrastructure +subroles: + + - subrole: distopia + current_members: + - Richard Gowers + - Hugo MacDermott-Opeskin + - Rocco Meli + + - subrole: cookiecutter-mdakit + current_members: + - Lily Wang + - Irfan Alibay + + - subrole: mda-encore + current_members: [] + + - subrole: hole2-mdakit + current_members: + - Lily Wang + + - subrole: benchmarks + current_members: + - Oliver Beckstein + + - subrole: GridDataFormats + current_members: + - Irfan Alibay + - Oliver Beckstein + + - subrole: MDAnalysisData + current_members: + - Irfan Alibay + - Oliver Beckstein + + - subrole: mda-xrlib and other utilities + current_members: + - Irfan Alibay + + - subrole: pyedr + current_members: + - Irfan Alibay + + - subrole: pytng + current_members: + - Hugo MacDermott-Opeskin + + - subrole: PathSimAnalysis + current_members: + - Oliver Beckstein + + - subrole: waterdynamics + current_members: + - Fiona Naughton diff --git a/_data/team/roles/outreach.yml b/_data/team/roles/outreach.yml new file mode 100644 index 00000000..2f3b7b2d --- /dev/null +++ b/_data/team/roles/outreach.yml @@ -0,0 +1,28 @@ +role: Outreach +subroles: + - subrole: Workshops and meetings + tasks: + - Identifying workshop and event opportunities + - Organising workshops and events + - Gathering and coordinating volunteers + - Managing content, presentations and teaching at workshops + current_members: + - Jenna Swarthout Goddard + - Micaela Matta + + - subrole: Mentoring programs + tasks: + - Mentoring-related administrative tasks + - Advertising opportunities for mentoring programs + - Mentoring in structured programs + current_members: + - Jenna Swarthout Goddard + + - subrole: Teaching materials + tasks: + - Managing teaching materials on GitHub for workshops and events + - Maintaining and fixing materials + current_members: + - Rocco Meli + - Micaela Matta + - Jenna Swarthout Goddard diff --git a/_data/team/roles/project_organization.yml b/_data/team/roles/project_organization.yml new file mode 100644 index 00000000..ae2c47bd --- /dev/null +++ b/_data/team/roles/project_organization.yml @@ -0,0 +1,10 @@ +role: Project Organization and Management +tasks: + - Organising meetings + - Coordinating elections of core developers + - Onboarding new core developers + - Managing other roles in the organisation and general task lists + - Gathering usage and community metrics + +current_members: + - Jenna Swarthout Goddard diff --git a/_data/team/roles/releases_and_deployment.yaml b/_data/team/roles/releases_and_deployment.yaml new file mode 100644 index 00000000..730da727 --- /dev/null +++ b/_data/team/roles/releases_and_deployment.yaml @@ -0,0 +1,10 @@ +role: Releases and deployment +tasks: + - Updates and fixes for upstream and downstream packages + - Managing future release plans and timing + - Maintaining continuous deployment infrastructure + - Carrying out releases for MDAnalysis project packages + - Managing released packages on conda-forge and PyPi +current_members: + - Irfan Alibay + - Fiona Naughton diff --git a/_data/team/roles/relicensing_coordinator.yml b/_data/team/roles/relicensing_coordinator.yml new file mode 100644 index 00000000..0968f619 --- /dev/null +++ b/_data/team/roles/relicensing_coordinator.yml @@ -0,0 +1,11 @@ +role: Relicensing coordinator +tasks: + - Researching the steps required to change licenses + - Coordinating the choice to a new license + - Contacting existing developers to solicit agreement + - Ensuring new developers agree to a new license + - Managing the switch to a new license + +current_members: + - Irfan Alibay + - Oliver Beckstein diff --git a/_data/team/roles/social_media.yml b/_data/team/roles/social_media.yml new file mode 100644 index 00000000..2bba8a63 --- /dev/null +++ b/_data/team/roles/social_media.yml @@ -0,0 +1,9 @@ +role: Social media +tasks: + - General management and administration + - Posting announcements of new developments + - Moderating content + - Managing X and LinkedIn + - Managing new content to the MDAnalysis website and blog +current_members: + - Jenna Swarthout Goddard diff --git a/_includes/roles_description.html b/_includes/roles_description.html new file mode 100644 index 00000000..4bb1a8df --- /dev/null +++ b/_includes/roles_description.html @@ -0,0 +1,52 @@ +{% assign all_roles = site.data.team.roles | sort %} +{% for role_page in all_roles %} +{% assign role = role_page[1] %} +{% assign role_link = role.role | slugify %} + +
{{ parsed_description }}
+{%- endif -%} +{%- if role.tasks -%} +Tasks include: +{{ parsed_description }}
+{%- endif -%} +{%- if subrole.tasks -%} +Tasks include: +Role | +Sub-role | +Current team | +
---|---|---|
+ + + {{ role.role }} + + | + {% include team_table_member_row.html subrole=first_subrole %} +||