[sage-devel] Re: Governance proposal: Maintainer/code-owner model for .ci, .devcontainer, .github/workflows, tox.ini

2024-05-08 Thread Kwankyu Lee


On Thursday, May 9, 2024 at 3:25:54 AM UTC+9 Matthias Koeppe wrote:

On Monday, May 6, 2024 at 10:49:07 PM UTC-7 Kwankyu Lee wrote:

I propose a governance change for a small part of the main Sage repository:

1. The directories *.ci, .devcontainer, .github/workflows*. [...]
2. The file *tox.ini*. [...]

3. The file *src/doc/en/developer/portability_platform_table.rst *(which I 
update using "tox -e update_docker_platforms").


I think we should restrict the scope to the files and directories strictly 
in the CI infrastructure.  Anything under `*src/*` should be excluded.


This file *src/doc/en/developer/portability_platform_table.rst* is part of 
the documentation of the CI infrastructure and needs to be updated (by 
script) whenever I make changes to the tested platforms. 


The command  "tox -e update_docker_platforms" involves a change of the list 
of tested platforms. The change become effective when a beta release is 
made by the release manager, since the docker image files are created only 
at the release time. So there is no need to merge early the change to the 
develop branch. 

On the other hand, is it an unnecessary friction that changes of the list 
of tested platforms go through the normal review process?  

If the answer is no, then  *.devcontainer *and 
*src/doc/en/developer/portability_platform_table.rst 
*can be excluded from the CI manager governance. 
 

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sage-devel/569da4a5-af4d-4df4-be36-6092be31e9dcn%40googlegroups.com.


Re: [sage-devel] Re: Governance proposal: Maintainer/code-owner model for .ci, .devcontainer, .github/workflows, tox.ini

2024-05-08 Thread Dima Pasechnik
I've already said while the previous version of this was discussed, is
that it's a huge mess to have different commit rights for different
parts of the tree, and I proposed to spin the CI into a separate
repository, as an alternative which simplifies a lot of things.

Dima


On Wed, May 8, 2024 at 7:25 PM Matthias Koeppe  wrote:
>
> On Monday, May 6, 2024 at 10:49:07 PM UTC-7 Kwankyu Lee wrote:
>
> I propose a governance change for a small part of the main Sage repository:
> 1. The directories .ci, .devcontainer, .github/workflows. [...]
> 2. The file tox.ini. [...]
>
> 3. The file src/doc/en/developer/portability_platform_table.rst (which I 
> update using "tox -e update_docker_platforms").
>
>
> I think we should restrict the scope to the files and directories strictly in 
> the CI infrastructure.  Anything under `src/` should be excluded.
>
>
> This file src/doc/en/developer/portability_platform_table.rst is part of the 
> documentation of the CI infrastructure and needs to be updated (by script) 
> whenever I make changes to the tested platforms.
>
>
>
> Proposed change: All changes to these files are made through PRs. When the PR 
> is ready, a developer in the Maintainer role directly merges the PR into the 
> "develop" branch. In other words, switch to the "Show" model for these 
> changes.
>
>
> I fear that developers in the Maintainer role could conflict in making 
> changes to the CI-related files, as we suffered in the disputed PRs.
>
>
> I don't share this concern.
>
> By the way, I documented who is currently in the Maintainer role when I 
> prepared the NumFOCUS application last month, see 
> https://github.com/sagemath/sage/wiki/NumFOCUS#q13new-please-list-your-projects-maintainers-ie-anyone-with-write-access-to-the-repository
> (I haven't checked if it has changed since.)
>
> There's certainly a broader governance discussion that we should have at some 
> point (regarding duties and appointment procedures for the Maintainer role, 
> the Triage team, and other functions in the project), but I would suggest to 
> do this in a separate thread.
>
> So I suggest to have only one Maintainer for those files. As we acknowledge a 
> certain dictatorship of the release manager, we may have a vote to elect the 
> CI manager and give him/her a restricted dictatorship and responsibility.
>
>
> This model would also work for me, but I think it's unnecessarily specific.
>
> --
> You received this message because you are subscribed to the Google Groups 
> "sage-devel" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to sage-devel+unsubscr...@googlegroups.com.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/sage-devel/e955c1d9-96f5-495d-85a9-9267f5414d3dn%40googlegroups.com.

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sage-devel/CAAWYfq3h3f0G4JFxwFt02A%3D55xOLeDcNggWkjfUhWH8SRC3PPA%40mail.gmail.com.


[sage-devel] Re: Governance proposal: Maintainer/code-owner model for .ci, .devcontainer, .github/workflows, tox.ini

2024-05-08 Thread Matthias Koeppe
On Monday, May 6, 2024 at 10:49:07 PM UTC-7 Kwankyu Lee wrote:

I propose a governance change for a small part of the main Sage repository:
1. The directories *.ci, .devcontainer, .github/workflows*. [...]
2. The file *tox.ini*. [...]

3. The file *src/doc/en/developer/portability_platform_table.rst *(which I 
update using "tox -e update_docker_platforms").


I think we should restrict the scope to the files and directories strictly 
in the CI infrastructure.  Anything under `*src/*` should be excluded.


This file *src/doc/en/developer/portability_platform_table.rst* is part of 
the documentation of the CI infrastructure and needs to be updated (by 
script) whenever I make changes to the tested platforms. 
 


*Proposed change: *All changes to these files are made through PRs. When 
the PR is ready, a developer in the Maintainer role directly merges the PR 
into the "develop" branch. In other words, switch to the "Show" model for 
these changes.


I fear that developers in the Maintainer role could conflict in making 
changes to the CI-related files, as we suffered in the disputed PRs.


I don't share this concern. 

By the way, I documented who is currently in the Maintainer role when I 
prepared the NumFOCUS application last month, see 
https://github.com/sagemath/sage/wiki/NumFOCUS#q13new-please-list-your-projects-maintainers-ie-anyone-with-write-access-to-the-repository
(I haven't checked if it has changed since.)

There's certainly a broader governance discussion that we should have at 
some point (regarding duties and appointment procedures for the Maintainer 
role, the Triage team, and other functions in the project), but I would 
suggest to do this in a separate thread.

So I suggest to have only one Maintainer for those files. As we acknowledge 
a certain dictatorship of the release manager, we may have a vote to elect 
the CI manager and give him/her a restricted dictatorship and 
responsibility.


This model would also work for me, but I think it's unnecessarily specific.

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sage-devel/e955c1d9-96f5-495d-85a9-9267f5414d3dn%40googlegroups.com.


[sage-devel] Re: Governance proposal: Maintainer/code-owner model for .ci, .devcontainer, .github/workflows, tox.ini

2024-05-08 Thread Matthias Koeppe
On Wednesday, May 8, 2024 at 6:20:52 AM UTC-7 julian...@fsfe.org wrote:

It was a bit unclear to me how your v2 proposal is different from the 
initial proposal on this sage-devel thread. Maybe it's helpful to clarify 
that build/bin/write-dockerfile.sh was removed from the proposal and 
src/doc/en/developer/portability_platform_table.rst was added. Otherwise, 
it's in essentially unchanged.


That's right; as I wrote, "changes brought by the merged 
https://github.com/sagemath/sage/pull/37841, a clarification, and updated 
examples".

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sage-devel/20925731-ce57-45c6-80f4-8bd4002eefben%40googlegroups.com.


[sage-devel] Re: Governance proposal: Maintainer/code-owner model for .ci, .devcontainer, .github/workflows, tox.ini

2024-05-08 Thread julian...@fsfe.org
Hi Matthias,

It was a bit unclear to me how your v2 proposal is different from the 
initial proposal on this sage-devel thread. Maybe it's helpful to clarify 
that build/bin/write-dockerfile.sh was removed from the proposal and 
src/doc/en/developer/portability_platform_table.rst was added. Otherwise, 
it's in essentially unchanged.

julian

On Monday, May 6, 2024 at 11:56:53 PM UTC+3 Matthias Koeppe wrote:

> Dear Sage developers:
>
> I include an updated proposal below, with changes brought by the merged 
> https://github.com/sagemath/sage/pull/37841, a clarification, and updated 
> examples).
> I ask everyone to focus the discussion on the specifics of the proposal.
> I plan to call a vote on this in a week or so.
>
> Matthias
>
> === Proposal (v2)
>
> I propose a governance change for a small part of the main Sage repository:
> 1. The directories *.ci, .devcontainer, .github/workflows*. These are 
> special directories that control the GitHub workflows that run for example 
> on pull requests and when release tags are pushed, as well as the Dev 
> Containers feature on GitHub.
> 2. The file *tox.ini*. It contains the infrastructure for portability 
> testing of the Sage distribution (
> https://doc.sagemath.org/html/en/developer/portability_testing.html).
> 3. The file *src/doc/en/developer/portability_platform_table.rst *(which 
> I update using "tox -e update_docker_platforms").
>
> Some of these files are shipped as part of the Sage distribution, but none 
> of them have any role in the build process or runtime of Sage, and thus 
> none of them are tested by the Release Manager.
>
> *Status quo: *All changes to these files go through the normal review 
> process for Sage PRs; when set to "positive review", Volker merges them 
> into the next development release. In the terminology of 
> https://martinfowler.com/articles/ship-show-ask.html (ht Gonzalo 
> Tornaria), this is the "Ask" model.
>
> *Acknowledgment:* I'm grateful to all who have contributed to the review 
> of my PRs that made changes to these files in the past: thanks for your 
> time and energy. In particular, some of the open PRs listed as examples in 
> the original post have been merged; thanks, Kwankyu, for reviewing of all 
> of them!
>
> *Proposed change: *All changes to these files are made through PRs. When 
> the PR is ready, a developer in the Maintainer role directly merges the PR 
> into the "develop" branch. In other words, switch to the "Show" model for 
> these changes.
>
> *Why the change:*
> *1.* Changes to these files do not have any effect on the build and 
> runtime of Sage;
> - thus changes to these files do not risk breaking the mathematical 
> correctness, or the performance of anything in Sage;
> - hence there may not be the same need for formal review compared to 
> changes to the Sage library.
>
> *2.* Our project has a collective interest in smoothly operating 
> development infrastructure / quality assurance tools;
> - but tragedy of the commons;
> - more specifically, developing/improving such development tools only pays 
> off individually for developers with a sufficiently high volume of activity 
> (cf. 
> https://github.com/sagemath/sage/graphs/contributors?from=2020-01-01=2024-04-09=c
> );
> - there may also be a technical barrier that prevents developers from even 
> reviewing a PR that makes changes to these files;
> - hence, waiting for reviewers to approve a PR and waiting for the Release 
> Manager to merge it adds too much delay and friction.
>
> *Examples* (all PRs authored by me, waiting for review):
> - "dist.yml: Download optional/experimental tarballs for GitHub Release 
> assets" (https://github.com/sagemath/sage/pull/37762)
> - "CI: Handle the 'p: CI Fix' label" (
> https://github.com/sagemath/sage/pull/37950)
>
> *Non-examples* (all PRs authored by me, waiting for review):
> - "tox.ini: Add environments ruff, ruff-minimal; GH Actions: run 
> ruff-minimal" (https://github.com/sagemath/sage/pull/37453) -- this also 
> makes changes in src/tox.ini and src/doc, so would continue to be reviewed 
> normally
> - "sage -tox -e pyright: Update, speed up, isolate" (
> https://github.com/sagemath/sage/pull/36515) -- makes changes to 
> pyrightconfig.json and src/tox.ini, so would continue to be reviewed 
> normally
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sage-devel/ad1ab9f3-f788-44f0-b6cd-0b8e59c6831fn%40googlegroups.com.