Skip to content

Commit 65849a4

Browse files
Initial commit
0 parents  commit 65849a4

27 files changed

+1518
-0
lines changed

.appends/.github/labels.yml

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# ----------------------------------------------------------------------------------------- #
2+
# These are the repository-specific labels that augment the Exercise-wide labels defined in #
3+
# https://github.com/exercism/org-wide-files/blob/main/global-files/.github/labels.yml. #
4+
# ----------------------------------------------------------------------------------------- #
5+
6+
- name: "bug"
7+
description: "Something isn't working"
8+
color: "d73a4a"
9+
10+
- name: "dependencies"
11+
description: "Pull requests that update a dependency file"
12+
color: "0366d6"
13+
14+
- name: "documentation"
15+
description: "Improvements or additions to documentation"
16+
color: "0075ca"
17+
18+
- name: "duplicate"
19+
description: "This issue or pull request already exists"
20+
color: "cfd3d7"
21+
22+
- name: "enhancement"
23+
description: "New feature or request"
24+
color: "a2eeef"
25+
26+
- name: "good first issue"
27+
description: "Good for newcomers"
28+
color: "7057ff"
29+
30+
- name: "help wanted"
31+
description: "Extra attention is needed"
32+
color: "008672"
33+
34+
- name: "invalid"
35+
description: "This doesn't seem right"
36+
color: "e4e669"
37+
38+
- name: "question"
39+
description: "Further information is requested"
40+
color: "d876e3"
41+
42+
- name: "wontfix"
43+
description: "This will not be worked on"
44+
color: "ffffff"

.dockerignore

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
.git/
2+
.appends/
3+
.github/
4+
.gitattributes
5+
.gitignore
6+
Dockerfile
7+
bin/run-in-docker.sh
8+
bin/run-tests-in-docker.sh
9+
bin/run-tests.sh
10+
tests/

.gitattributes

Lines changed: 31 additions & 0 deletions
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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
* @exercism/guardians

.github/dependabot.yml

Lines changed: 8 additions & 0 deletions
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

Lines changed: 213 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,213 @@
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"
169+
170+
# ----------------------------------------------------------------------------------------- #
171+
# These are the repository-specific labels that augment the Exercise-wide labels defined in #
172+
# https://github.com/exercism/org-wide-files/blob/main/global-files/.github/labels.yml. #
173+
# ----------------------------------------------------------------------------------------- #
174+
175+
- name: "bug"
176+
description: "Something isn't working"
177+
color: "d73a4a"
178+
179+
- name: "dependencies"
180+
description: "Pull requests that update a dependency file"
181+
color: "0366d6"
182+
183+
- name: "documentation"
184+
description: "Improvements or additions to documentation"
185+
color: "0075ca"
186+
187+
- name: "duplicate"
188+
description: "This issue or pull request already exists"
189+
color: "cfd3d7"
190+
191+
- name: "enhancement"
192+
description: "New feature or request"
193+
color: "a2eeef"
194+
195+
- name: "good first issue"
196+
description: "Good for newcomers"
197+
color: "7057ff"
198+
199+
- name: "help wanted"
200+
description: "Extra attention is needed"
201+
color: "008672"
202+
203+
- name: "invalid"
204+
description: "This doesn't seem right"
205+
color: "e4e669"
206+
207+
- name: "question"
208+
description: "Further information is requested"
209+
color: "d876e3"
210+
211+
- name: "wontfix"
212+
description: "This will not be worked on"
213+
color: "ffffff"

.github/workflows/ci.yml

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
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-24.04
15+
steps:
16+
- name: Checkout code
17+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
18+
19+
- name: Set up Docker Buildx
20+
uses: docker/setup-buildx-action@c47758b77c9736f4b2ef4073d4d51994fabfe349
21+
with:
22+
install: true
23+
24+
- name: Build Docker image and store in cache
25+
uses: docker/build-push-action@67a2d409c0a876cbe6b11854e3e25193efe4e62d
26+
with:
27+
context: .
28+
push: false
29+
load: true
30+
tags: exercism/moonscript-test-runner
31+
cache-from: type=gha
32+
cache-to: type=gha,mode=max
33+
34+
- name: Run Tests in Docker
35+
run: bin/run-tests-in-docker.sh

.github/workflows/deploy.yml

Lines changed: 22 additions & 0 deletions
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}}
Lines changed: 22 additions & 0 deletions
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 }}

0 commit comments

Comments
 (0)