Skip to content

Commit e931eed

Browse files
authored
Initial commit
0 parents  commit e931eed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+1456
-0
lines changed

.dockerignore

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
.git/
2+
.github/
3+
bin/run-in-docker.sh
4+
bin/run-tests-in-docker.sh
5+
tests/

.gitattributes

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Scripts
2+
*.bash text eol=lf
3+
*.fish text eol=lf
4+
*.sh text eol=lf
5+
# These are explicitly windows files and should use crlf
6+
*.bat text eol=crlf
7+
*.cmd text eol=crlf
8+
*.ps1 text eol=crlf
9+
10+
# Serialisation
11+
*.json text
12+
13+
# Text files where line endings should be preserved
14+
*.patch -text
15+
16+
# Docker
17+
Dockerfile text
18+
19+
# Documentation
20+
*.markdown text
21+
*.md text
22+
*.txt text
23+
LICENSE text
24+
*README* text
25+
26+
#
27+
# Exclude files from exporting
28+
#
29+
30+
.gitattributes export-ignore
31+
.gitignore export-ignore

.github/CODEOWNERS

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
* @exercism/maintainers-admin

.github/dependabot.yml

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
version: 2
2+
3+
updates:
4+
# Keep dependencies for GitHub Actions up-to-date
5+
- package-ecosystem: "github-actions"
6+
directory: "/"
7+
schedule:
8+
interval: "daily"

.github/labels.yml

+168
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,168 @@
1+
# --------------------------------------------------------------- #
2+
# This is an auto-generated file - Do not manually edit this file #
3+
# --------------------------------------------------------------- #
4+
5+
# This file is automatically generated by concatenating two files:
6+
#
7+
# 1. The Exercism-wide labels: defined in https://github.com/exercism/org-wide-files/blob/main/global-files/.github/labels.yml
8+
# 2. The repository-specific labels: defined in the `.appends/.github/labels.yml` file within this repository.
9+
#
10+
# If any of these two files change, a pull request is automatically created containing a re-generated version of this file.
11+
# Consequently, to change repository-specific labels you should update the `.appends/.github/labels.yml` file and _not_ this file.
12+
#
13+
# When the pull request has been merged, the GitHub labels will be automatically updated by the "Sync labels" workflow.
14+
# This typically takes 5-10 minutes.
15+
16+
# --------------------------------------------------------------------- #
17+
# These are the Exercism-wide labels which are shared across all repos. #
18+
# --------------------------------------------------------------------- #
19+
20+
# The following Exercism-wide labels are used to show "tasks" on the website, which will point users to things they can contribute to.
21+
22+
# The `x:action/<value>` labels describe what sort of work the contributor will be engaged in when working on the issue
23+
- name: "x:action/create"
24+
description: "Work on something from scratch"
25+
color: "ffffff"
26+
27+
- name: "x:action/fix"
28+
description: "Fix an issue"
29+
color: "ffffff"
30+
31+
- name: "x:action/improve"
32+
description: "Improve existing functionality/content"
33+
color: "ffffff"
34+
35+
- name: "x:action/proofread"
36+
description: "Proofread text"
37+
color: "ffffff"
38+
39+
- name: "x:action/sync"
40+
description: "Sync content with its latest version"
41+
color: "ffffff"
42+
43+
# The `x:knowledge/<value>` labels describe how much Exercism knowledge is required by the contributor
44+
- name: "x:knowledge/none"
45+
description: "No existing Exercism knowledge required"
46+
color: "ffffff"
47+
48+
- name: "x:knowledge/elementary"
49+
description: "Little Exercism knowledge required"
50+
color: "ffffff"
51+
52+
- name: "x:knowledge/intermediate"
53+
description: "Quite a bit of Exercism knowledge required"
54+
color: "ffffff"
55+
56+
- name: "x:knowledge/advanced"
57+
description: "Comprehensive Exercism knowledge required"
58+
color: "ffffff"
59+
60+
# The `x:module/<value>` labels indicate what part of Exercism the contributor will be working on
61+
- name: "x:module/analyzer"
62+
description: "Work on Analyzers"
63+
color: "ffffff"
64+
65+
- name: "x:module/concept"
66+
description: "Work on Concepts"
67+
color: "ffffff"
68+
69+
- name: "x:module/concept-exercise"
70+
description: "Work on Concept Exercises"
71+
color: "ffffff"
72+
73+
- name: "x:module/generator"
74+
description: "Work on Exercise generators"
75+
color: "ffffff"
76+
77+
- name: "x:module/practice-exercise"
78+
description: "Work on Practice Exercises"
79+
color: "ffffff"
80+
81+
- name: "x:module/representer"
82+
description: "Work on Representers"
83+
color: "ffffff"
84+
85+
- name: "x:module/test-runner"
86+
description: "Work on Test Runners"
87+
color: "ffffff"
88+
89+
# The `x:rep/<value>` labels describe the amount of reputation to award
90+
#
91+
# For more information on reputation and how these labels should be used,
92+
# check out https://exercism.org/docs/using/product/reputation
93+
- name: "x:rep/tiny"
94+
description: "Tiny amount of reputation"
95+
color: "ffffff"
96+
97+
- name: "x:rep/small"
98+
description: "Small amount of reputation"
99+
color: "ffffff"
100+
101+
- name: "x:rep/medium"
102+
description: "Medium amount of reputation"
103+
color: "ffffff"
104+
105+
- name: "x:rep/large"
106+
description: "Large amount of reputation"
107+
color: "ffffff"
108+
109+
- name: "x:rep/massive"
110+
description: "Massive amount of reputation"
111+
color: "ffffff"
112+
113+
# The `x:size/<value>` labels describe the expected amount of work for a contributor
114+
- name: "x:size/tiny"
115+
description: "Tiny amount of work"
116+
color: "ffffff"
117+
118+
- name: "x:size/small"
119+
description: "Small amount of work"
120+
color: "ffffff"
121+
122+
- name: "x:size/medium"
123+
description: "Medium amount of work"
124+
color: "ffffff"
125+
126+
- name: "x:size/large"
127+
description: "Large amount of work"
128+
color: "ffffff"
129+
130+
- name: "x:size/massive"
131+
description: "Massive amount of work"
132+
color: "ffffff"
133+
134+
# The `x:status/<value>` label indicates if there is already someone working on the issue
135+
- name: "x:status/claimed"
136+
description: "Someone is working on this issue"
137+
color: "ffffff"
138+
139+
# The `x:type/<value>` labels describe what type of work the contributor will be engaged in
140+
- name: "x:type/ci"
141+
description: "Work on Continuous Integration (e.g. GitHub Actions workflows)"
142+
color: "ffffff"
143+
144+
- name: "x:type/coding"
145+
description: "Write code that is not student-facing content (e.g. test-runners, generators, but not exercises)"
146+
color: "ffffff"
147+
148+
- name: "x:type/content"
149+
description: "Work on content (e.g. exercises, concepts)"
150+
color: "ffffff"
151+
152+
- name: "x:type/docker"
153+
description: "Work on Dockerfiles"
154+
color: "ffffff"
155+
156+
- name: "x:type/docs"
157+
description: "Work on Documentation"
158+
color: "ffffff"
159+
160+
# This Exercism-wide label is added to all automatically created pull requests that help migrate/prepare a track for Exercism v3
161+
- name: "v3-migration 🤖"
162+
description: "Preparing for Exercism v3"
163+
color: "e99695"
164+
165+
# This Exercism-wide label can be used to bulk-close issues in preparation for pausing community contributions
166+
- name: "paused"
167+
description: "Work paused until further notice"
168+
color: "e4e669"

.github/workflows/ci.yml

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
name: CI
2+
3+
on:
4+
pull_request:
5+
branches:
6+
- main
7+
push:
8+
branches:
9+
- main
10+
11+
jobs:
12+
build:
13+
name: Tests
14+
runs-on: ubuntu-latest
15+
steps:
16+
- name: Checkout code
17+
uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b # 2.3.5
18+
19+
- name: Run Tests in Docker
20+
run: bin/run-tests-in-docker.sh

.github/workflows/deploy.yml

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
name: Deploy
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
workflow_dispatch:
8+
9+
permissions:
10+
contents: write
11+
12+
jobs:
13+
build-and-push-image:
14+
if: github.repository_owner == 'exercism' # Stops this job from running on forks.
15+
uses: exercism/github-actions/.github/workflows/docker-build-push-image.yml@main
16+
secrets:
17+
AWS_ACCOUNT_ID: ${{secrets.AWS_ACCOUNT_ID}}
18+
AWS_REGION: ${{secrets.AWS_REGION}}
19+
AWS_ECR_ACCESS_KEY_ID: ${{secrets.AWS_ECR_ACCESS_KEY_ID}}
20+
AWS_ECR_SECRET_ACCESS_KEY: ${{secrets.AWS_ECR_SECRET_ACCESS_KEY}}
21+
DOCKERHUB_USERNAME: ${{secrets.DOCKERHUB_USERNAME}}
22+
DOCKERHUB_PASSWORD: ${{secrets.DOCKERHUB_PASSWORD}}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
name: Pause Community Contributions
2+
3+
on:
4+
issues:
5+
types:
6+
- opened
7+
pull_request_target:
8+
types:
9+
- opened
10+
11+
permissions:
12+
issues: write
13+
pull-requests: write
14+
15+
jobs:
16+
pause:
17+
if: github.repository_owner == 'exercism' # Stops this job from running on forks
18+
uses: exercism/github-actions/.github/workflows/community-contributions.yml@main
19+
with:
20+
forum_category: generic
21+
secrets:
22+
github_membership_token: ${{ secrets.COMMUNITY_CONTRIBUTIONS_WORKFLOW_TOKEN }}

.github/workflows/sync-labels.yml

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
name: Tools
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
paths:
8+
- .github/labels.yml
9+
- .github/workflows/sync-labels.yml
10+
workflow_dispatch:
11+
schedule:
12+
- cron: 0 0 1 * * # First day of each month
13+
14+
permissions:
15+
issues: write
16+
17+
jobs:
18+
sync-labels:
19+
uses: exercism/github-actions/.github/workflows/labels.yml@main

.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
tests/*/representation.txt
2+
tests/*/mapping.json

0 commit comments

Comments
 (0)