Skip to content

Commit 8a10d79

Browse files
authored
Merge branch 'main' into feat/form-tooltips
2 parents e363bf7 + f85108a commit 8a10d79

13 files changed

Lines changed: 758 additions & 84 deletions

File tree

.github/labeler.yml

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
ui:
2+
- changed-files:
3+
- any-glob-to-any-file:
4+
- "templates/**"
5+
- "static/**"
6+
7+
documentation:
8+
- changed-files:
9+
- any-glob-to-any-file:
10+
- "README.md"
11+
- "CONTRIBUTING.md"
12+
- "CODE_OF_CONDUCT.md"
13+
- "docs/**"
14+
15+
data:
16+
- changed-files:
17+
- any-glob-to-any-file:
18+
- "data/**"
19+
20+
type:testing:
21+
- changed-files:
22+
- any-glob-to-any-file:
23+
- "tests/**"
24+
25+
type:accessibility:
26+
- changed-files:
27+
- any-glob-to-any-file:
28+
- "templates/**"
29+
- "static/**"
30+
31+
type:performance:
32+
- changed-files:
33+
- any-glob-to-any-file:
34+
- "utils/**"
35+
36+
type:security:
37+
- changed-files:
38+
- any-glob-to-any-file:
39+
- "utils/**"
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
name: Label PRs Based on Files
2+
3+
on:
4+
pull_request_target:
5+
types:
6+
- opened
7+
- synchronize
8+
- reopened
9+
10+
permissions:
11+
contents: read
12+
pull-requests: write
13+
issues: write
14+
15+
jobs:
16+
labeler:
17+
runs-on: ubuntu-latest
18+
19+
steps:
20+
- name: Label PRs automatically
21+
uses: actions/labeler@v5
22+
23+
with:
24+
repo-token: "${{ secrets.GITHUB_TOKEN }}"
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
name: Auto Label Issues
2+
3+
on:
4+
issues:
5+
types:
6+
- opened
7+
8+
permissions:
9+
issues: write
10+
11+
jobs:
12+
label-issues:
13+
runs-on: ubuntu-latest
14+
15+
steps:
16+
- name: Add default labels to new issue
17+
uses: actions/github-script@v7
18+
19+
with:
20+
script: |
21+
await github.rest.issues.addLabels({
22+
owner: context.repo.owner,
23+
repo: context.repo.repo,
24+
issue_number: context.payload.issue.number,
25+
labels: ['gssoc-2026']
26+
});
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
name: Auto Label Pull Requests
2+
3+
on:
4+
pull_request_target:
5+
types:
6+
- opened
7+
- reopened
8+
- synchronize
9+
10+
permissions:
11+
pull-requests: write
12+
issues: write
13+
14+
jobs:
15+
auto-label-prs:
16+
runs-on: ubuntu-latest
17+
18+
steps:
19+
- name: Apply PR labels
20+
uses: actions/github-script@v7
21+
22+
with:
23+
script: |
24+
const pr = context.payload.pull_request;
25+
const branch = pr.head.ref;
26+
27+
let labels = ['gssoc-2026'];
28+
29+
// Difficulty labels
30+
if (branch.startsWith('level1/')) {
31+
labels.push('level:beginner');
32+
}
33+
34+
if (branch.startsWith('level2/')) {
35+
labels.push('level:intermediate');
36+
}
37+
38+
if (branch.startsWith('level3/')) {
39+
labels.push('level:advanced');
40+
}
41+
42+
if (branch.startsWith('level4/')) {
43+
labels.push('level:critical');
44+
}
45+
46+
// Type labels
47+
if (branch.includes('feat/')) {
48+
labels.push('type:feature');
49+
}
50+
51+
if (branch.includes('fix/')) {
52+
labels.push('type:bug');
53+
}
54+
55+
if (branch.includes('docs/')) {
56+
labels.push('type:docs');
57+
}
58+
59+
if (branch.includes('refactor/')) {
60+
labels.push('type:refactor');
61+
}
62+
63+
if (branch.includes('test/')) {
64+
labels.push('type:testing');
65+
}
66+
67+
if (branch.includes('style/')) {
68+
labels.push('type:design');
69+
}
70+
71+
await github.rest.issues.addLabels({
72+
owner: context.repo.owner,
73+
repo: context.repo.repo,
74+
issue_number: pr.number,
75+
labels
76+
});

.github/workflows/greetings.yml

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
name: Greetings
2+
3+
on:
4+
issues:
5+
types:
6+
- opened
7+
8+
pull_request_target:
9+
types:
10+
- opened
11+
12+
permissions:
13+
issues: write
14+
pull-requests: write
15+
16+
jobs:
17+
greeting:
18+
runs-on: ubuntu-latest
19+
20+
steps:
21+
- name: Send greeting
22+
uses: actions/first-interaction@v1
23+
24+
with:
25+
repo-token: ${{ secrets.GITHUB_TOKEN }}
26+
27+
issue-message: |
28+
Thank you for opening your first issue in DevPath.
29+
30+
Please make sure to:
31+
- Read CONTRIBUTING.md
32+
- Wait for assignment before starting work
33+
- Follow repository guidelines carefully
34+
35+
Happy contributing.
36+
37+
pr-message: |
38+
Thank you for submitting your first pull request to DevPath.
39+
40+
Before review:
41+
- Complete the PR template fully
42+
- Ensure all tests pass
43+
- Link your PR to an issue
44+
- Keep changes scoped to the issue
45+
46+
A maintainer will review your contribution soon.

starter_code/expense_tracker.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
"""
2-
expense_tracker.py
3-
==================
41
Project: Personal Expense Tracker
52
Difficulty: Beginner
63
Skills: Python, CSV module, datetime module
@@ -322,4 +319,4 @@ def main():
322319

323320

324321
if __name__ == "__main__":
325-
main()
322+
main()

static/data/skills.js

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
var skills = [
2+
{id: "python", label: "Python"},
3+
{id: "javascript", label: "JavaScript"},
4+
{id: "java", label: "Java"},
5+
{id: "c++", label: "C++"},
6+
{id: "html", label: "HTML"},
7+
{id: "css", label: "CSS"},
8+
{id: "react", label: "React"},
9+
{id: "node.js", label: "Node.js"},
10+
{id: "django", label: "Django"},
11+
{id: "flask", label: "Flask"},
12+
{id: "sql", label: "SQL"},
13+
{id: "mongodb", label: "MongoDB"},
14+
{id: "aws", label: "AWS"},
15+
{id: "docker", label: "Docker"},
16+
{id: "kubernetes", label: "Kubernetes"},
17+
{id: "git", label: "Git"},
18+
{id: "c#", label: "C#"},
19+
{id: "ruby", label: "Ruby"},
20+
{id: "php", label: "PHP"},
21+
{id: "go", label: "Go"},
22+
{id: "swift", label: "Swift"},
23+
{id: "typescript", label: "TypeScript"},
24+
{id: "angular", label: "Angular"},
25+
{id: "vue.js", label: "Vue.js"},
26+
{id: "spring", label: "Spring"},
27+
{id: "flutter", label: "Flutter"},
28+
{id: "tensorflow", label: "TensorFlow"},
29+
{id: "pytorch", label: "PyTorch"},
30+
{id: "data science", label: "Data Science"},
31+
{id: "machine learning", label: "Machine Learning"},
32+
{id: "artificial intelligence", label: "Artificial Intelligence"},
33+
{id: "devops", label: "DevOps"},
34+
{id: "cybersecurity", label: "Cybersecurity"},
35+
{id: "blockchain", label: "Blockchain"},
36+
{id: "ui/ux design", label: "UI/UX Design"},
37+
{id: "game development", label: "Game Development"},
38+
{id: "ci/cd", label: "CI/CD"},
39+
{id: "restapi", label: "REST API"},
40+
{id: "graphql", label: "GraphQL"},
41+
];

0 commit comments

Comments
 (0)