Skip to content

Commit ab99d89

Browse files
Initial commit
0 parents  commit ab99d89

109 files changed

Lines changed: 4251 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
name: build-and-push-jupyterlab-image
2+
3+
on:
4+
workflow_dispatch: # This allows you to manually trigger the action from GitHub UI.
5+
6+
jobs:
7+
8+
build:
9+
runs-on: ubuntu-latest
10+
11+
steps:
12+
13+
- name: Checkout
14+
uses: actions/checkout@v4
15+
16+
- name: Set up Docker Buildx
17+
id: buildx
18+
uses: docker/setup-buildx-action@v3
19+
20+
- name: Login to dockerhub
21+
uses: docker/login-action@v3
22+
with:
23+
username: ${{ secrets.DOCKERHUB_USERNAME }}
24+
password: ${{ secrets.DOCKERHUB_PASSWORD }}
25+
26+
- name: Get lowercase repo name (for dynamic tags)
27+
id: repo_name
28+
run: |
29+
lowercase_name=$(echo ${{ github.event.repository.name }} | tr '[:upper:]' '[:lower:]')
30+
echo "repo_name=${lowercase_name}" >> "$GITHUB_OUTPUT"
31+
32+
- name: Build and push latest
33+
id: docker_build_jupyterlab
34+
uses: docker/build-push-action@v5
35+
with:
36+
context: containers/jupyterlab
37+
file: containers/jupyterlab/Dockerfile
38+
builder: ${{ steps.buildx.outputs.name }}
39+
push: true
40+
tags: |
41+
esiil/${{ steps.repo_name.outputs.repo_name }}_jupyterlab:latest
42+
43+
- name: Image digest
44+
run: echo ${{ steps.docker_build_jupyterlab.outputs.digest }}
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
name: Sync with Template Repository
2+
3+
on:
4+
workflow_dispatch:
5+
6+
jobs:
7+
sync_template:
8+
runs-on: ubuntu-latest
9+
10+
steps:
11+
- name: Checkout main repository
12+
uses: actions/checkout@v4
13+
14+
- name: Configure Git for merge
15+
run: |
16+
git config --global user.name "github-actions"
17+
git config --global user.email "actions@users.noreply.github.com"
18+
19+
- name: Fetch template repository
20+
run: git fetch --no-tags --no-recurse-submodules https://github.com/CU-ESIIL/Working_group_OASIS.git +refs/heads/*:refs/remotes/template/*
21+
22+
- name: Merge changes from template repository
23+
run: |
24+
git merge --no-commit --no-ff --allow-unrelated-histories template/main || true
25+
git checkout --ours .
26+
git add .
27+
28+
- name: Commit changes
29+
run: git commit -am "Merge changes from template repository"
30+
31+
- name: Push changes
32+
uses: ad-m/github-push-action@v0.6.0
33+
with:
34+
github_token: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/gh-pages.yml

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
name: GitHub Pages
2+
3+
on:
4+
pull_request:
5+
push:
6+
branches:
7+
- main
8+
9+
permissions:
10+
contents: read
11+
pages: write
12+
id-token: write
13+
14+
concurrency:
15+
group: pages
16+
cancel-in-progress: true
17+
18+
jobs:
19+
build:
20+
runs-on: ubuntu-latest
21+
22+
steps:
23+
- name: Checkout repository
24+
uses: actions/checkout@v4
25+
26+
- name: Set up Python
27+
uses: actions/setup-python@v5
28+
with:
29+
python-version: '3.11'
30+
31+
- name: Install Python dependencies
32+
run: pip install -r requirements.txt
33+
34+
- name: Generate image slot and gallery references
35+
run: python scripts/generate_image_slots.py
36+
37+
- name: Generate site health report
38+
run: python scripts/site_health.py
39+
40+
- name: Build site
41+
run: mkdocs build --strict --clean
42+
43+
- name: Upload built site artifact
44+
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
45+
uses: actions/upload-pages-artifact@v3
46+
with:
47+
path: site
48+
49+
deploy:
50+
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
51+
needs: build
52+
runs-on: ubuntu-latest
53+
environment:
54+
name: github-pages
55+
url: ${{ steps.deployment.outputs.page_url }}
56+
57+
steps:
58+
- name: Verify GitHub Pages is enabled
59+
env:
60+
GH_TOKEN: ${{ github.token }}
61+
run: |
62+
if ! curl -fsSL \
63+
-H "Accept: application/vnd.github+json" \
64+
-H "Authorization: Bearer ${GH_TOKEN}" \
65+
"https://api.github.com/repos/${GITHUB_REPOSITORY}/pages" >/dev/null; then
66+
echo "GitHub Pages is not enabled for this repository. Enable Pages before deploying." >&2
67+
exit 1
68+
fi
69+
70+
- name: Deploy to GitHub Pages
71+
id: deployment
72+
uses: actions/deploy-pages@v4

.gitignore

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
# History files
2+
.Rhistory
3+
.Rapp.history
4+
5+
# Session Data files
6+
.RData
7+
.RDataTmp
8+
9+
# User-specific files
10+
.Ruserdata
11+
12+
# Example code in package build process
13+
*-Ex.R
14+
15+
# Output files from R CMD build
16+
/*.tar.gz
17+
18+
# Output files from R CMD check
19+
/*.Rcheck/
20+
21+
# RStudio files
22+
.Rproj.user/
23+
24+
# produced vignettes
25+
vignettes/*.html
26+
vignettes/*.pdf
27+
28+
# OAuth2 token, see https://github.com/hadley/httr/releases/tag/v0.3
29+
.httr-oauth
30+
31+
# knitr and R markdown default cache directories
32+
*_cache/
33+
/cache/
34+
35+
# Temporary files created by R markdown
36+
*.utf8.md
37+
*.knit.md
38+
39+
# R Environment Variables
40+
.Renviron
41+
42+
43+
44+
# translation temp files
45+
po/*~
46+
47+
# RStudio Connect folder
48+
rsconnect/
49+
50+
# macOS
51+
.DS_Store
52+
53+
# Local validation artifacts
54+
.venv/
55+
node_modules/
56+
site/
57+
test-results/

AGENTS.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# AGENTS.md
2+
3+
This repository is a template for ESIIL Working Groups.
4+
5+
Guidelines for agents:
6+
7+
- Treat the repository as the source of truth.
8+
- Treat the website as a rendered view of repository state.
9+
- Make small, focused edits. Avoid rewriting entire files.
10+
- Prefer small, additive, traceable edits.
11+
- Preserve existing structure and historical context unless explicitly instructed.
12+
- Do not perform destructive rewrites.
13+
- Do not change navigation or structure unless explicitly instructed.
14+
- Do not add new top-level navigation items.
15+
- Prefer improving shared systems over one-off fixes.
16+
- Keep documentation synchronized with repository structure.
17+
- Keep documentation and site content in sync.
18+
- Do not introduce complex HTML into markdown pages.
19+
- Keep everything editable by non-experts in GitHub.
20+
- When adding new features, ensure they do not increase user complexity.
21+
- Do not add blocking tests for template completeness. Use the site health report for user-facing warnings instead.
22+
- After meaningful changes, append an entry to PROMPT_ACTION_LOG.md.
23+
24+
Working Group OASIS and Project Group OASIS:
25+
26+
- Working Group OASIS is not the same as Project Group OASIS.
27+
- Do not replace working-group lifecycle language with event-sprint language.
28+
- Add Project Group-inspired features additively and adapt them for a longer working-group lifecycle.
29+
- Keep participant-editable content in Markdown.
30+
- Keep large data out of GitHub and point users toward persistent storage.
31+
- Preserve process galleries, image slots, meeting-note templates, site-health checks, and prompt logs.

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2023 Environmental Data Science Innovation and Inclusion Lab (ESIIL)
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

0 commit comments

Comments
 (0)