Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
ErikSchierboom authored Jul 9, 2024
0 parents commit 156f579
Show file tree
Hide file tree
Showing 24 changed files with 1,436 additions and 0 deletions.
44 changes: 44 additions & 0 deletions .appends/.github/labels.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# ----------------------------------------------------------------------------------------- #
# These are the repository-specific labels that augment the Exercise-wide labels defined in #
# https://github.com/exercism/org-wide-files/blob/main/global-files/.github/labels.yml. #
# ----------------------------------------------------------------------------------------- #

- name: "bug"
description: "Something isn't working"
color: "d73a4a"

- name: "dependencies"
description: "Pull requests that update a dependency file"
color: "0366d6"

- name: "documentation"
description: "Improvements or additions to documentation"
color: "0075ca"

- name: "duplicate"
description: "This issue or pull request already exists"
color: "cfd3d7"

- name: "enhancement"
description: "New feature or request"
color: "a2eeef"

- name: "good first issue"
description: "Good for newcomers"
color: "7057ff"

- name: "help wanted"
description: "Extra attention is needed"
color: "008672"

- name: "invalid"
description: "This doesn't seem right"
color: "e4e669"

- name: "question"
description: "Further information is requested"
color: "d876e3"

- name: "wontfix"
description: "This will not be worked on"
color: "ffffff"
10 changes: 10 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
.git/
.appends/
.github/
.gitattributes
.gitignore
Dockerfile
bin/run-in-docker.sh
bin/run-tests-in-docker.sh
bin/run-tests.sh
tests/
31 changes: 31 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Scripts
*.bash text eol=lf
*.fish text eol=lf
*.sh text eol=lf
# These are explicitly windows files and should use crlf
*.bat text eol=crlf
*.cmd text eol=crlf
*.ps1 text eol=crlf

# Serialisation
*.json text

# Text files where line endings should be preserved
*.patch -text

# Docker
Dockerfile text

# Documentation
*.markdown text
*.md text
*.txt text
LICENSE text
*README* text

#
# Exclude files from exporting
#

.gitattributes export-ignore
.gitignore export-ignore
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* @exercism/maintainers-admin
8 changes: 8 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
version: 2

updates:
# Keep dependencies for GitHub Actions up-to-date
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"
213 changes: 213 additions & 0 deletions .github/labels.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,213 @@
# --------------------------------------------------------------- #
# This is an auto-generated file - Do not manually edit this file #
# --------------------------------------------------------------- #

# This file is automatically generated by concatenating two files:
#
# 1. The Exercism-wide labels: defined in https://github.com/exercism/org-wide-files/blob/main/global-files/.github/labels.yml
# 2. The repository-specific labels: defined in the `.appends/.github/labels.yml` file within this repository.
#
# If any of these two files change, a pull request is automatically created containing a re-generated version of this file.
# Consequently, to change repository-specific labels you should update the `.appends/.github/labels.yml` file and _not_ this file.
#
# When the pull request has been merged, the GitHub labels will be automatically updated by the "Sync labels" workflow.
# This typically takes 5-10 minutes.

# --------------------------------------------------------------------- #
# These are the Exercism-wide labels which are shared across all repos. #
# --------------------------------------------------------------------- #

# The following Exercism-wide labels are used to show "tasks" on the website, which will point users to things they can contribute to.

# The `x:action/<value>` labels describe what sort of work the contributor will be engaged in when working on the issue
- name: "x:action/create"
description: "Work on something from scratch"
color: "ffffff"

- name: "x:action/fix"
description: "Fix an issue"
color: "ffffff"

- name: "x:action/improve"
description: "Improve existing functionality/content"
color: "ffffff"

- name: "x:action/proofread"
description: "Proofread text"
color: "ffffff"

- name: "x:action/sync"
description: "Sync content with its latest version"
color: "ffffff"

# The `x:knowledge/<value>` labels describe how much Exercism knowledge is required by the contributor
- name: "x:knowledge/none"
description: "No existing Exercism knowledge required"
color: "ffffff"

- name: "x:knowledge/elementary"
description: "Little Exercism knowledge required"
color: "ffffff"

- name: "x:knowledge/intermediate"
description: "Quite a bit of Exercism knowledge required"
color: "ffffff"

- name: "x:knowledge/advanced"
description: "Comprehensive Exercism knowledge required"
color: "ffffff"

# The `x:module/<value>` labels indicate what part of Exercism the contributor will be working on
- name: "x:module/analyzer"
description: "Work on Analyzers"
color: "ffffff"

- name: "x:module/concept"
description: "Work on Concepts"
color: "ffffff"

- name: "x:module/concept-exercise"
description: "Work on Concept Exercises"
color: "ffffff"

- name: "x:module/generator"
description: "Work on Exercise generators"
color: "ffffff"

- name: "x:module/practice-exercise"
description: "Work on Practice Exercises"
color: "ffffff"

- name: "x:module/representer"
description: "Work on Representers"
color: "ffffff"

- name: "x:module/test-runner"
description: "Work on Test Runners"
color: "ffffff"

# The `x:rep/<value>` labels describe the amount of reputation to award
#
# For more information on reputation and how these labels should be used,
# check out https://exercism.org/docs/using/product/reputation
- name: "x:rep/tiny"
description: "Tiny amount of reputation"
color: "ffffff"

- name: "x:rep/small"
description: "Small amount of reputation"
color: "ffffff"

- name: "x:rep/medium"
description: "Medium amount of reputation"
color: "ffffff"

- name: "x:rep/large"
description: "Large amount of reputation"
color: "ffffff"

- name: "x:rep/massive"
description: "Massive amount of reputation"
color: "ffffff"

# The `x:size/<value>` labels describe the expected amount of work for a contributor
- name: "x:size/tiny"
description: "Tiny amount of work"
color: "ffffff"

- name: "x:size/small"
description: "Small amount of work"
color: "ffffff"

- name: "x:size/medium"
description: "Medium amount of work"
color: "ffffff"

- name: "x:size/large"
description: "Large amount of work"
color: "ffffff"

- name: "x:size/massive"
description: "Massive amount of work"
color: "ffffff"

# The `x:status/<value>` label indicates if there is already someone working on the issue
- name: "x:status/claimed"
description: "Someone is working on this issue"
color: "ffffff"

# The `x:type/<value>` labels describe what type of work the contributor will be engaged in
- name: "x:type/ci"
description: "Work on Continuous Integration (e.g. GitHub Actions workflows)"
color: "ffffff"

- name: "x:type/coding"
description: "Write code that is not student-facing content (e.g. test-runners, generators, but not exercises)"
color: "ffffff"

- name: "x:type/content"
description: "Work on content (e.g. exercises, concepts)"
color: "ffffff"

- name: "x:type/docker"
description: "Work on Dockerfiles"
color: "ffffff"

- name: "x:type/docs"
description: "Work on Documentation"
color: "ffffff"

# This Exercism-wide label is added to all automatically created pull requests that help migrate/prepare a track for Exercism v3
- name: "v3-migration 🤖"
description: "Preparing for Exercism v3"
color: "e99695"

# This Exercism-wide label can be used to bulk-close issues in preparation for pausing community contributions
- name: "paused"
description: "Work paused until further notice"
color: "e4e669"

# ----------------------------------------------------------------------------------------- #
# These are the repository-specific labels that augment the Exercise-wide labels defined in #
# https://github.com/exercism/org-wide-files/blob/main/global-files/.github/labels.yml. #
# ----------------------------------------------------------------------------------------- #

- name: "bug"
description: "Something isn't working"
color: "d73a4a"

- name: "dependencies"
description: "Pull requests that update a dependency file"
color: "0366d6"

- name: "documentation"
description: "Improvements or additions to documentation"
color: "0075ca"

- name: "duplicate"
description: "This issue or pull request already exists"
color: "cfd3d7"

- name: "enhancement"
description: "New feature or request"
color: "a2eeef"

- name: "good first issue"
description: "Good for newcomers"
color: "7057ff"

- name: "help wanted"
description: "Extra attention is needed"
color: "008672"

- name: "invalid"
description: "This doesn't seem right"
color: "e4e669"

- name: "question"
description: "Further information is requested"
color: "d876e3"

- name: "wontfix"
description: "This will not be worked on"
color: "ffffff"
35 changes: 35 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: CI

on:
pull_request:
branches:
- main
push:
branches:
- main

jobs:
build:
name: Tests
runs-on: ubuntu-22.04
steps:
- name: Checkout code
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@4fd812986e6c8c2a69e18311145f9371337f27d4
with:
install: true

- name: Build Docker image and store in cache
uses: docker/build-push-action@1a162644f9a7e87d8f4b053101d1d9a712edc18c
with:
context: .
push: false
load: true
tags: exercism/test-runner
cache-from: type=gha
cache-to: type=gha,mode=max

- name: Run Tests in Docker
run: bin/run-tests-in-docker.sh
22 changes: 22 additions & 0 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: Deploy

on:
push:
branches:
- main
workflow_dispatch:

permissions:
contents: write

jobs:
build-and-push-image:
if: github.repository_owner == 'exercism' # Stops this job from running on forks.
uses: exercism/github-actions/.github/workflows/docker-build-push-image.yml@main
secrets:
AWS_ACCOUNT_ID: ${{secrets.AWS_ACCOUNT_ID}}
AWS_REGION: ${{secrets.AWS_REGION}}
AWS_ECR_ACCESS_KEY_ID: ${{secrets.AWS_ECR_ACCESS_KEY_ID}}
AWS_ECR_SECRET_ACCESS_KEY: ${{secrets.AWS_ECR_SECRET_ACCESS_KEY}}
DOCKERHUB_USERNAME: ${{secrets.DOCKERHUB_USERNAME}}
DOCKERHUB_PASSWORD: ${{secrets.DOCKERHUB_PASSWORD}}
22 changes: 22 additions & 0 deletions .github/workflows/pause-community-contributions.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: Pause Community Contributions

on:
issues:
types:
- opened
pull_request_target:
types:
- opened

permissions:
issues: write
pull-requests: write

jobs:
pause:
if: github.repository_owner == 'exercism' # Stops this job from running on forks
uses: exercism/github-actions/.github/workflows/community-contributions.yml@main
with:
forum_category: generic
secrets:
github_membership_token: ${{ secrets.COMMUNITY_CONTRIBUTIONS_WORKFLOW_TOKEN }}
Loading

0 comments on commit 156f579

Please sign in to comment.