Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
70158a1
Open PRs from branch
jaimergp Nov 20, 2025
82e69ea
enable PR triggers for workflow file
jaimergp Nov 20, 2025
2300742
Check access to repos
jaimergp Nov 20, 2025
2b46a7e
pre-commit
jaimergp Nov 20, 2025
98e2233
Fix deprecation warnings
jaimergp Nov 20, 2025
f8c73f5
pre-commit again
jaimergp Nov 20, 2025
63f4240
refactor the diff reporting
jaimergp Nov 20, 2025
20fff06
de-prio github token
jaimergp Nov 20, 2025
4c126fb
sort teams
jaimergp Nov 20, 2025
b542c55
pre-commit
jaimergp Nov 20, 2025
b9545ff
move under conda/
jaimergp Nov 20, 2025
4e49f18
Auto generate all files for missing teams
jaimergp Nov 20, 2025
0eb7a54
ignore advisories
jaimergp Nov 20, 2025
81d0b91
add Sophia to conda-pypi
jaimergp Nov 20, 2025
da9223c
Add some descriptions
jaimergp Nov 21, 2025
c54f9c6
Small refactor for the script
jaimergp Nov 21, 2025
6e7035c
Start script to render MDs
jaimergp Nov 21, 2025
dc028ea
Fill in some more teams
jaimergp Nov 24, 2025
0dd5bd8
WIP
jaimergp Nov 24, 2025
55c5890
coerce to empty string
jaimergp Nov 24, 2025
b3035d6
Check if users have direct access to repos, instead of via teams
jaimergp Nov 24, 2025
cbe5b27
pre-commit
jaimergp Nov 24, 2025
bd5aaf2
clarify permissions needed
jaimergp Nov 24, 2025
24053c2
Remove script (belongs in conda-dot-org)
jaimergp Nov 24, 2025
5824b13
Merge steering and emeritus
jaimergp Nov 24, 2025
9e576a9
add viniciusdc to conda-store
jaimergp Nov 24, 2025
c1b68bf
Add decisions to all present and former steering members
jaimergp Nov 24, 2025
999835a
Add sorter pre-commit
jaimergp Nov 24, 2025
d0e7d3e
Add more globs to pull_request.paths
jaimergp Nov 24, 2025
d627fb6
Handle strings too
jaimergp Nov 25, 2025
740715b
Change `scopes` to `resources` and `codeowners` to `repos`. `teams` h…
jaimergp Nov 26, 2025
e93bf25
Allow a governance team to span several Github teams
jaimergp Dec 2, 2025
206530c
Fix name typo in build-tools YAML file
jezdez Dec 3, 2025
114b2a6
Update zulip link for build-tools
jaimergp Dec 3, 2025
f3b3275
Add disclaimer comment
jaimergp Dec 3, 2025
3af6fca
Remove disclaimer from script
jaimergp Dec 3, 2025
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
7 changes: 6 additions & 1 deletion .github/workflows/check-teams.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,17 @@ name: Teams

on:
workflow_dispatch:
pull_request_target:
pull_request:
paths:
- teams/**/*.yml
- teams/*.yml
- teams/**/*.yaml
- teams/*.yaml
- teams/*.schema.json
- scripts/check_teams.py
- scripts/schemas.py
- scripts/sort_team_yaml.py
- .github/workflows/check-teams.yml

jobs:
check:
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# pixi environments
.pixi
*.egg-info
__pycache__/
7 changes: 7 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ repos:
rev: v2.4.1
hooks:
- id: codespell
exclude: ^teams/.*\.ya?ml$
exclude_types:
- csv
args: [--write-changes]
Expand All @@ -67,6 +68,12 @@ repos:
- id: check-useless-excludes
- repo: local
hooks:
- id: sort-team-yaml
name: Check ordering in teams/**/*.yml
language: python
entry: python scripts/sort_team_yaml.py
files: ^teams/.*\.ya?ml$
additional_dependencies: [ruamel.yaml, email-validator, pydantic]
- id: git-diff
name: git diff
entry: git diff --exit-code
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ This group encompasses all others who are not on the [Steering Council](#steerin

### Emeritus Steering

[Steering Council](#steering-council) members that are inactive (commits, GitHub comments/issues/reviews, dev meetings, and voting on polls) in the past six months will be asked if they want to become **Emeritus Steering** members. One week after asking, if the inactive Steering Council member has not responded, they will be automatically moved to emeritus status. Any Steering Council member can also request to become Emeritus if they wish to do so (e.g. taking a sabbatical or long vacation). Emeritus Steering members can be brought back to active Steering Council membership at anytime, assuming there is space and no other policies (e.g., [shared funding](#shared-funding-membership-restrictions), [council size](#steering-council-size), etc.) are violated. Emeritus Steering Council members cannot vote. When the status of a member changes, the [`steering.csv`](steering.csv) and [`emeritus.csv`](emeritus.csv) files should be immediately updated to reflect the member's new position.
[Steering Council](#steering-council) members that are inactive (commits, GitHub comments/issues/reviews, dev meetings, and voting on polls) in the past six months will be asked if they want to become **Emeritus Steering** members. One week after asking, if the inactive Steering Council member has not responded, they will be automatically moved to emeritus status. Any Steering Council member can also request to become Emeritus if they wish to do so (e.g. taking a sabbatical or long vacation). Emeritus Steering members can be brought back to active Steering Council membership at anytime, assuming there is space and no other policies (e.g., [shared funding](#shared-funding-membership-restrictions), [council size](#steering-council-size), etc.) are violated. Emeritus Steering Council members cannot vote. When the status of a member changes, the corresponding `teams/` YAML files should be immediately updated to reflect the member's new position.


## Community, Federated & Archive Maintenance
Expand Down Expand Up @@ -234,7 +234,7 @@ This section presents descriptions and criteria for voting items in the conda Or
* Steering Council members must explicitly abstain from a vote via making a comment on the PR/issue or selecting the "abstain" option. Simply not voting at all doesn't count as an abstention.
* Abstentions count towards the [quorum](#quorum) but are excluded when computing if a vote passes.

Voting items are labeled as either **standard** or **sensitive**. Standard items are ones where public record and discourse is preferable. Sensitive voting items are ones where the results of the vote should remain private to the voters after the vote has occurred. Sensitive votes should take place on a secure anonymous voting platform in order to retain election integrity and anonymity. (We may use [`Polys`](https://polys.me) and the [`Helios voting system`](https://vote.heliosvoting.org/), but are open to any secure, anonymous system.) The email capability of your chosen voting platform should be used for sending voting invitations and reminders if possible. All votes should be sent to the appropriate people using their email listed in `steering.csv` as applicable.
Voting items are labeled as either **standard** or **sensitive**. Standard items are ones where public record and discourse is preferable. Sensitive voting items are ones where the results of the vote should remain private to the voters after the vote has occurred. Sensitive votes should take place on a secure anonymous voting platform in order to retain election integrity and anonymity. (We may use [`Polys`](https://polys.me) and the [`Helios voting system`](https://vote.heliosvoting.org/), but are open to any secure, anonymous system.) The email capability of your chosen voting platform should be used for sending voting invitations and reminders if possible. All votes should be sent to the appropriate people using their email listed in `steering-council.yml` as applicable.

The default voting period is 1 week (7 days). This may be modified at the time when a vote is called, but may never be less than one week modulo exceptions for some time-sensitive votes below.

Expand Down Expand Up @@ -310,7 +310,7 @@ To post a timeout reminder, here is a template comment:

If you have questions concerning the proposal, you may also leave a comment or code review.

To declare a standard vote "timed out," the person making such a declaration must post a pull-request adding a vote record to the [`vote-results`](vote-results/]) folder. The declaration PR should be merged by the first Steering Council member who is available to verify that the requirements for the timeout have been met, based on their own personal records.
To declare a standard vote "timed out," the person making such a declaration must post a pull-request adding a vote record to the [`vote-results`](vote-results/) folder. The declaration PR should be merged by the first Steering Council member who is available to verify that the requirements for the timeout have been met, based on their own personal records.

### Voting Total Examples

Expand Down
21 changes: 1 addition & 20 deletions emeritus.csv
Original file line number Diff line number Diff line change
@@ -1,20 +1 @@
github_username,email,name,funder,pronouns
raydouglass,ray@raydouglass.com,Ray Douglass,,
sodre,psodre@gmail.com,Patrick Sodré,,
minrk,benjaminrk@gmail.com,Min Ragan-Kelley,,
scopatz,scopatz@gmail.com,Anthony Scopatz,,
angloyna,angela.gloyna@gmail.com,Angela Gloyna,,
jjhelmus,jjhelmus@gmail.com,Jonathan Helmus,,
prusse-martin,prusse.martin@gmail.com,Martin Prüsse,,
myancy-anaconda,Megan.C.Yancy@gmail.com,Megan Yancy,,
teoliphant,teoliphant@gmail.com,Travis Oliphant,,
dharhas,dharhas@gmail.com,Dharhas Pothina,,
cjmartian,connormartin7@gmail.com,Connor Martin,,
mcg1969,mgrant@anaconda.com,Michael Grant,,
csoja,csoja@anaconda.com,Crystal Soja,,
awwad,sebastien.awwad@gmail.com,Sebastien Awwad,,
ericdill,ericdill@pm.me,Eric Dill,,
goanpeca,goanpeca@gmail.com,Gonzalo Peña-Castellanos,Quansight,he/him
kkraus14,keith.j.kraus@gmail.com,Keith Kraus,no funding, he/him
beckermr,becker.mr@gmail.com,Matthew R. Becker,no funding,he/him
trallard,taniar.allard@gmail.com,Tania Allard,Quansight,she/her
Moved,to,teams/,directory
50 changes: 50 additions & 0 deletions pixi.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

15 changes: 8 additions & 7 deletions pixi.toml
Original file line number Diff line number Diff line change
@@ -1,19 +1,20 @@
[dependencies]
email-validator = ">=2.3.0,<3"
pydantic = ">=2,<3"
python = ">=3.12.4,<3.13"
requests = ">=2.32.3,<2.33"
"ruamel.yaml" = ">=0.18,<0.19"

[project]
authors = ["conda steering council <steering@conda.org>"]
channels = ["conda-forge"]
name = "governance"
platforms = ["osx-64", "osx-arm64", "win-64", "linux-64"]
version = "0.1.0"

[tasks]
check_teams = "python scripts/check_teams.py"
collect_emails = "python scripts/collect_emails.py"
count_votes = "python scripts/count_votes.py"
schemas = "python scripts/schemas.py"
vote_markdown = "python scripts/to_vote.py"

[workspace]
authors = ["conda steering council <steering@conda.org>"]
channels = ["conda-forge"]
name = "governance"
platforms = ["osx-64", "osx-arm64", "win-64", "linux-64"]
version = "0.1.0"
Loading
Loading