Skip to content

Commit

Permalink
chore: install kit
Browse files Browse the repository at this point in the history
  • Loading branch information
kit committed Mar 3, 2025
1 parent d622e8d commit 9e04c20
Show file tree
Hide file tree
Showing 90 changed files with 2,866 additions and 0 deletions.
13 changes: 13 additions & 0 deletions .github/workflows/allow-anyone-to-self-assign-an-issue.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
name: "Allow anyone to self-assign an issue"

on: [issue_comment]

jobs:
build:
runs-on: ubuntu-latest
permissions:
issues: write
steps:
- uses: bhermann/issue-volunteer@v0.1.12
with:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
23 changes: 23 additions & 0 deletions .gitpod.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Image of workspace. Learn more: https://www.gitpod.io/docs/configure/workspaces/workspace-image
image: gitpod/workspace-full:latest

tasks:
- name: Install KitClient (for VSCode Dev Container in GitPod)
command: |
mkdir -p /home/gitpod/.kitclient
git clone https://gitlab.com/hfossedu/kits/KitClient.git /home/gitpod/.local/lib/kitclient
chmod +x /home/gitpod/.local/lib/kitclient/src/install-kit-features-into-client.sh
sudo ln -s /home/gitpod/.local/lib/kitclient/src/install-kit-features-into-client.sh /usr/share/git-core/templates/hooks/post-checkout
cat /home/gitpod/.local/lib/kitclient/src/bashrc.additions >> /home/gitpod/.bashrc
mkdir -p "$HOME/.kitclient"
git config --global user.name > "$HOME/.kitclient/kituser.txt"
git config --global --add safe.directory "${PROJ_ROOT}"
git config --global pull.ff only
# git config --global credential.helper store
git config --global init.defaultBranch main
git config --global merge.conflictstyle diff3
git config --global merge.tool vscode
git config --global mergetool.keepbackup false
git config --global mergetool.vscode.cmd 'code --wait $MERGED'
"${GITPOD_REPO_ROOT}/.kit/install-features-into-client/run.sh"
exec bash
152 changes: 152 additions & 0 deletions .kit/.gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,152 @@
# Common settings that generally should always be used with your language specific settings

# Auto detect text files and perform LF normalization
* text=auto

#
# The above will handle all files NOT found below
#

# Documents
*.bibtex text diff=bibtex
*.doc diff=astextplain
*.DOC diff=astextplain
*.docx diff=astextplain
*.DOCX diff=astextplain
*.dot diff=astextplain
*.DOT diff=astextplain
*.pdf diff=astextplain
*.PDF diff=astextplain
*.rtf diff=astextplain
*.RTF diff=astextplain
*.md text diff=markdown
*.mdx text diff=markdown
*.tex text diff=tex
*.adoc text
*.textile text
*.mustache text
*.csv text
*.tab text
*.tsv text
*.txt text
*.sql text
*.epub diff=astextplain

# Graphics
*.png binary
*.jpg binary
*.jpeg binary
*.gif binary
*.tif binary
*.tiff binary
*.ico binary
# SVG treated as text by default.
*.svg text
# If you want to treat it as binary,
# use the following line instead.
# *.svg binary
*.eps binary

# Scripts
*.bash text eol=lf
*.fish text eol=lf
*.sh text eol=lf
*.zsh 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
*.toml text
*.xml text
*.yaml text
*.yml text

# Archives
*.7z binary
*.gz binary
*.tar binary
*.tgz binary
*.zip binary

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

#
# Exclude files from exporting
#

.gitattributes export-ignore
.gitignore export-ignore
.gitkeep export-ignore

# Apply override to all files in the directory
*.md linguist-detectable

# Basic .gitattributes for a Vim repo.
# Vim on Linux works with LF only, Vim on Windows works with both LF and CRLF

# Source files
# ============
*.vim text eol=lf
.vimrc text eol=lf
.gvimrc text eol=lf

###############################################################################
# Set default behavior to automatically normalize line endings.
###############################################################################
# * text=auto

###############################################################################
# Set the merge driver for project and solution files
#
# Merging from the command prompt will add diff markers to the files if there
# are conflicts (Merging from VS is not affected by the settings below, in VS
# the diff markers are never inserted). Diff markers may cause the following
# file extensions to fail to load in VS. An alternative would be to treat
# these files as binary and thus will always conflict and require user
# intervention with every merge. To do so, just comment the entries below and
# uncomment the group further below
###############################################################################

*.sln text eol=crlf
*.csproj text eol=crlf
*.vbproj text eol=crlf
*.vcxproj text eol=crlf
*.vcproj text eol=crlf
*.dbproj text eol=crlf
*.fsproj text eol=crlf
*.lsproj text eol=crlf
*.wixproj text eol=crlf
*.modelproj text eol=crlf
*.sqlproj text eol=crlf
*.wwaproj text eol=crlf

*.xproj text eol=crlf
*.props text eol=crlf
*.filters text eol=crlf
*.vcxitems text eol=crlf


#*.sln merge=binary
#*.csproj merge=binary
#*.vbproj merge=binary
#*.vcxproj merge=binary
#*.vcproj merge=binary
#*.dbproj merge=binary
#*.fsproj merge=binary
#*.lsproj merge=binary
#*.wixproj merge=binary
#*.modelproj merge=binary
#*.sqlproj merge=binary
#*.wwaproj merge=binary

#*.xproj merge=binary
#*.props merge=binary
#*.filters merge=binary
#*.vcxitems merge=binary

# gold.raw contains text, but we don't want eol conversions
*.raw binary
13 changes: 13 additions & 0 deletions .kit/0-display-welcome-message/post-install-into-client.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#!/usr/bin/env bash

echo "*********************************************************************"
printf "\xF0\x9F\x98\xBA\xF0\x9F\x92\xBB Meow, Kit-tty here!\n"
echo
echo "I am your personal virtual assistant, and I am here to help you be"
echo "successful in the GitKit activities. You will hear from me every"
echo "once in a while when I think you might need some help."
echo
echo "(About my name:"
printf "I'm in the 'kit' and communicate through your 'tty' - get it? \xF0\x9F\x98\x81\n"
printf "Curious about the tty? See https://itsfoss.com/what-is-tty-in-linux/)\n"
echo "*********************************************************************"
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
From d008b798254a94457d7937dccd05e30ca1351ff8 Mon Sep 17 00:00:00 2001
From: Grant Braught <braught@dickinson.edu>
Date: Fri, 12 Nov 2021 08:43:21 -0500
Subject: [PATCH] Conflicts for practicing merges with conflicts

Students can pull this branch and used it to practice resolving merge conflicts. It contains two merge conflicts with the 4 changes made in the addConflicts branch.
---
README.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/README.md b/README.md
index 9d26f8e..26c2c3a 100644
--- a/README.md
+++ b/README.md
@@ -22,7 +22,7 @@ If you are unfamiliar with [Zulip](https://zulip.com/) it is a group chat applic

### History ###

-FarmData2 is both a _second_ edition of it predecessor, FarmData, and the integration of _two_ related projects FarmData and AnimalData. These projects were conceived and built by Tim Wahls, Matt Steiman and many students to support operation of the Dickinson College Farm. The FarmData2 project was initiated as a part of curricular redesign in the Computer Science Department at Dickinson College. It is now an active part of several courses in the curriculum. It provides students in these courses with early and sustained opportunities to learn and practice modern software development within the context of an open source software community.
+FarmData2 is both a _second_ edition of it predecessor, FarmData, and the integration of _two_ related projects FarmData and AnimalData. These projects were conceived and built by Tim Wahls, Matt Steiman and many students to support operation of the [Dickinson College Farm](https://a.different.link1). The FarmData2 project was initiated as a part of curricular redesign in the Computer Science Department at Dickinson College. It is now an active part of several courses in the curriculum. It provides students in these courses with early and sustained opportunities to learn and practice modern software development within the context of an open source software community.

### Acknowledgements ###

@@ -31,7 +31,7 @@ FarmData2 is powered by the farmOS open source project.
Support and assistance with FarmData2 development has been received from [The Non-Profit FOSS Institute](https://npfi.org/).

The development of FarmData2 has received partial support from:
-* The GNOME Community Engagement Challenge:
+* The [GNOME Community Engagement Challenge](https://a.different.link3):
* [![Phase 1 Badge](media/GNOME-CEC-p1-small.png)](media/GNOME-CEC-p1.png)[![Phase 2 Badge](media/GNOME-CEC-p2-small.png)](media/GNOME-CEC-p2.png)
* The National Science Foundation (DUE-2013069) - Collaborative Research: Broadening Participation in Computing through Authentic, Collaborative Engagement with Computing for the Greater Good.
* [Zulip](https://zulip.com) provides sponsored hosting for [FarmData2 community discussions](https://farmdata2.zulipchat.com/#narrow/stream/270883-general).
--
2.36.0

Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#!/usr/bin/env bash

git switch merge-conflict-practice
git rebase main
git switch main
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
#!/usr/bin/env bash

SCRIPT_DIR="$( cd -- "$( dirname -- "${BASH_SOURCE[0]:-$0}"; )" &> /dev/null && pwd 2> /dev/null; )"

cd "${REPO_DIR}" || exit 1

git switch main
git switch -c merge-conflict-practice
git am "${SCRIPT_DIR}"/*.patch || (echo "WARNING: could not apply patch" && git am --abort)
git switch main
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
From 8d03822daf8d30fc192b4543d7992ee0b0ea099e Mon Sep 17 00:00:00 2001
From: Grant Braught <braught@dickinson.edu>
Date: Fri, 12 Nov 2021 08:37:19 -0500
Subject: [PATCH] Changes that conflict with Round2 Issues.

Each of the 190-Round2 issues in the issue tracker add links to the README.md file. This commit, when merged into main will introduce changes that conflict with all of the changes requested by those issues. It should be merged after students synch with main and as or just after they submit their PR's for the 190-Round2 issues.
---
README.md | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/README.md b/README.md
index 9d26f8e..efb70b6 100644
--- a/README.md
+++ b/README.md
@@ -22,18 +22,18 @@ If you are unfamiliar with [Zulip](https://zulip.com/) it is a group chat applic

### History ###

-FarmData2 is both a _second_ edition of it predecessor, FarmData, and the integration of _two_ related projects FarmData and AnimalData. These projects were conceived and built by Tim Wahls, Matt Steiman and many students to support operation of the Dickinson College Farm. The FarmData2 project was initiated as a part of curricular redesign in the Computer Science Department at Dickinson College. It is now an active part of several courses in the curriculum. It provides students in these courses with early and sustained opportunities to learn and practice modern software development within the context of an open source software community.
+FarmData2 is both a _second_ edition of it predecessor, FarmData, and the integration of _two_ related projects FarmData and AnimalData. These projects were conceived and built by Tim Wahls, Matt Steiman and many students to support operation of the [Dickinson College Farm](https://not.the.right.link1). The FarmData2 project was initiated as a part of curricular redesign in the Computer Science Department at Dickinson College. It is now an active part of several courses in the curriculum. It provides students in these courses with early and sustained opportunities to learn and practice modern software development within the context of an open source software community.

### Acknowledgements ###

-FarmData2 is powered by the farmOS open source project.
+FarmData2 is powered by the [farmOS](https://not.the.right.link2) open source project.

Support and assistance with FarmData2 development has been received from [The Non-Profit FOSS Institute](https://npfi.org/).

The development of FarmData2 has received partial support from:
-* The GNOME Community Engagement Challenge:
+* The [GNOME Community Engagement Challenge](https://not.the.right.link3):
* [![Phase 1 Badge](media/GNOME-CEC-p1-small.png)](media/GNOME-CEC-p1.png)[![Phase 2 Badge](media/GNOME-CEC-p2-small.png)](media/GNOME-CEC-p2.png)
-* The National Science Foundation (DUE-2013069) - Collaborative Research: Broadening Participation in Computing through Authentic, Collaborative Engagement with Computing for the Greater Good.
+* The National Science Foundation ([DUE-2013069](https://not.the.right.link4)) - Collaborative Research: Broadening Participation in Computing through Authentic, Collaborative Engagement with Computing for the Greater Good.
* [Zulip](https://zulip.com) provides sponsored hosting for [FarmData2 community discussions](https://farmdata2.zulipchat.com/#narrow/stream/270883-general).

---
--
2.36.0

Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#!/usr/bin/env bash

git switch add-round-two-conflicts
git rebase main
git switch main
10 changes: 10 additions & 0 deletions .kit/5-add-round-two-conflicts/pre-install-into-instance.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
#!/usr/bin/env bash

SCRIPT_DIR="$( cd -- "$( dirname -- "${BASH_SOURCE[0]:-$0}"; )" &> /dev/null && pwd 2> /dev/null; )"

cd "${REPO_DIR}" || exit 1

git switch main
git switch -c add-round-two-conflicts
git am "${SCRIPT_DIR}"/*.patch || (echo "WARNING: could not apply patch" && git am --abort)
git switch main
23 changes: 23 additions & 0 deletions .kit/5-add-vscode-devcontainer/.gitpod.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Image of workspace. Learn more: https://www.gitpod.io/docs/configure/workspaces/workspace-image
image: gitpod/workspace-full:latest

tasks:
- name: Install KitClient (for VSCode Dev Container in GitPod)
command: |
mkdir -p /home/gitpod/.kitclient
git clone https://gitlab.com/hfossedu/kits/KitClient.git /home/gitpod/.local/lib/kitclient
chmod +x /home/gitpod/.local/lib/kitclient/src/install-kit-features-into-client.sh
sudo ln -s /home/gitpod/.local/lib/kitclient/src/install-kit-features-into-client.sh /usr/share/git-core/templates/hooks/post-checkout
cat /home/gitpod/.local/lib/kitclient/src/bashrc.additions >> /home/gitpod/.bashrc
mkdir -p "$HOME/.kitclient"
git config --global user.name > "$HOME/.kitclient/kituser.txt"
git config --global --add safe.directory "${PROJ_ROOT}"
git config --global pull.ff only
# git config --global credential.helper store
git config --global init.defaultBranch main
git config --global merge.conflictstyle diff3
git config --global merge.tool vscode
git config --global mergetool.keepbackup false
git config --global mergetool.vscode.cmd 'code --wait $MERGED'
"${GITPOD_REPO_ROOT}/.kit/install-features-into-client/run.sh"
exec bash
17 changes: 17 additions & 0 deletions .kit/5-add-vscode-devcontainer/.gitpod/install-gitkit-client.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
#!/usr/bin/env bash

PROJ_ROOT=
PROJ_ROOT="${1}"

git config --global --add safe.directory "${PROJ_ROOT}"
git config --global pull.ff only
git config --global credential.helper store
git config --global init.defaultBranch main
git config --global merge.conflictstyle diff3
git config --global merge.tool vscode
git config --global mergetool.keepbackup false
git config --global mergetool.vscode.cmd 'code --wait $MERGED'

cat "${PROJ_ROOT}/.gitpod/bashrc-additions.sh" >> "${HOME}/.bashrc"

"${PROJ_ROOT}/.kit/install-features-into-client/run.sh"
3 changes: 3 additions & 0 deletions .kit/5-add-vscode-devcontainer/.vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"git.mergeEditor": true
}
11 changes: 11 additions & 0 deletions .kit/5-add-vscode-devcontainer/install-into-instance.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#!/usr/bin/env bash

## This script is called after the new instance has been created and
## initialiazed. It runs in the local clone of the instance.

SCRIPT_DIR="$( cd -- "$( dirname -- "${BASH_SOURCE[0]:-$0}"; )" &> /dev/null && pwd 2> /dev/null; )"

set -e

cp "$SCRIPT_DIR/.gitpod.yml" "$REPO_DIR"
cp -r "$SCRIPT_DIR/.vscode" "$REPO_DIR"
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
name: "Allow anyone to self-assign an issue"

on: [issue_comment]

jobs:
build:
runs-on: ubuntu-latest
permissions:
issues: write
steps:
- uses: bhermann/issue-volunteer@v0.1.12
with:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
Loading

0 comments on commit 9e04c20

Please sign in to comment.