Skip to content

Commit b2e175b

Browse files
authored
feat: prepare for onboarding new members (#23)
* feat: add email field to contributors * feat: rename meta to __meta
1 parent a71e231 commit b2e175b

36 files changed

+45
-83
lines changed

.env.example

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
1+
AUTHENTIK_API_URL="https://auth.scottylabs.org"
2+
AUTHENTIK_API_TOKEN="authentik-api-token"
13
SLACK_TOKEN="governance-slack-token"

.github/workflows/visualize.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ on:
88
- "contributors/**"
99
- "repos/**"
1010
- "teams/**"
11-
- "meta/visualizer/**"
11+
- "__meta/visualizer/**"
1212
workflow_dispatch:
1313

1414
permissions:

.taplo.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,19 +17,19 @@ column_width = 12
1717
include = ["contributors/*.toml"]
1818

1919
[rule.schema]
20-
path = "./meta/schemas/contributor.schema.json"
20+
path = "./__meta/schemas/contributor.schema.json"
2121
enabled = true
2222

2323
[[rule]]
2424
include = ["repos/*.toml"]
2525

2626
[rule.schema]
27-
path = "./meta/schemas/repo.schema.json"
27+
path = "./__meta/schemas/repo.schema.json"
2828
enabled = true
2929

3030
[[rule]]
3131
include = ["teams/*.toml"]
3232

3333
[rule.schema]
34-
path = "./meta/schemas/team.schema.json"
34+
path = "./__meta/schemas/team.schema.json"
3535
enabled = true

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[workspace]
22
resolver = "2"
3-
members = ["meta/validators/*", "meta/visualizer"]
3+
members = ["__meta/validators/*", "__meta/visualizer"]
44

55
[workspace.package]
66
license = "Apache-2.0"

README.md

Lines changed: 31 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -2,26 +2,26 @@
22

33
This repository defines the organizational structure, team membership, and project ownership for ScottyLabs' Tech Committee. It serves as the source of truth for our GitHub organization's governance model.
44

5-
In this document, 'ScottyLabs' will refer to the GitHub organization at https://github.com/ScottyLabs, and not the club itself.
5+
In this document, 'ScottyLabs' will refer to the GitHub organization at <https://github.com/ScottyLabs>, and not the club itself.
66

77
## Repository Structure
88

9-
```
9+
```py
1010
.
11-
├── contributors # Individual contributor definitions
12-
├── docs # Specific instructions for all three file types
13-
├── meta
11+
├── __meta
1412
│   ├── infra # Terraform code for applying changes
1513
│   ├── schemas # JSON schemas for validation
1614
│   ├── validators # Rust-based validation tools
1715
│   └── visualizer # Force graph for visualizing relationships
16+
├── contributors # Individual contributor definitions
17+
├── docs # Specific instructions for all three file types
1818
├── repos # Team definitions with members and repos
1919
└── teams # Repository definitions with metadata
2020
```
2121

22-
- **Contributors** - Individuals who participate in ScottyLabs projects
23-
- **Teams** - Groups of contributors working on specific projects
24-
- **Repositories** - Code repositories owned by teams
22+
- **Contributors** - Individuals who participate in ScottyLabs projects
23+
- **Teams** - Groups of contributors working on specific projects
24+
- **Repositories** - Code repositories owned by teams
2525

2626
Depending on what you are trying to register, follow the respective guide under `docs/`.
2727

@@ -31,45 +31,47 @@ We enforce [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/
3131

3232
This repository also includes several other checks to ensure integrity:
3333

34-
- File names must match the content (the `name` field for repos and teams, the `github-username` field for contributors)
35-
- Cross-references must be valid (team members must exist as contributors, team repos must exist as repos)
36-
- GitHub users must exist
37-
- Slack member IDs and channel IDs must be valid
34+
- File names must match the content (the `name` field for repos and teams, the `github-username` field for contributors)
35+
- Cross-references must be valid (team members must exist as contributors, team repos must exist as repos)
36+
- GitHub users must exist
37+
- Slack member IDs and channel IDs must be valid
38+
39+
## Development
3840

39-
Validation runs automatically through GitHub Actions on PRs and pushes to main. However, you can also test validators locally:
41+
Validation runs automatically through GitHub Actions on PRs and pushes to main, so the following instructions will not be relevant to most people. If you are interested, you can also test validators locally:
4042

4143
1. Make sure you are in the root of the repository.
4244

4345
2. Install Rust with `rustup`, if you do not already have it installed:
4446

45-
```sh
46-
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
47-
```
47+
```sh
48+
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
49+
```
4850

4951
3. Install `cargo-binstall` (enables use of `cargo binstall`):
5052

51-
```sh
52-
cargo install cargo-binstall
53-
```
53+
```sh
54+
cargo install cargo-binstall
55+
```
5456

5557
4. Install Taplo:
5658

57-
```sh
58-
cargo binstall taplo-cli
59-
```
59+
```sh
60+
cargo binstall taplo-cli
61+
```
6062

6163
5. Check TOML files for proper formatting and/or against the schemas:
6264

63-
```sh
64-
taplo fmt --check # for formatting
65-
taplo check # against the schemas
66-
```
65+
```sh
66+
taplo fmt --check # for formatting
67+
taplo check # against the schemas
68+
```
6769

6870
6. Run the other checks specified above:
6971

70-
```sh
71-
cargo run --bin governance
72-
```
72+
```sh
73+
cargo run --bin governance
74+
```
7375

7476
## License
7577

File renamed without changes.

meta/schemas/contributor.schema.json renamed to __meta/schemas/contributor.schema.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@
1919
},
2020
"email": {
2121
"type": "string",
22-
"format": "email"
22+
"format": "email",
23+
"pattern": "^[^@]+@andrew\\.cmu\\.edu$"
2324
}
2425
},
2526
"additionalProperties": false
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)