Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
10 changes: 10 additions & 0 deletions .claude/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"hooks": {
"SessionStart": [
{
"type": "command",
"command": "if [ ! -d .venv ]; then uv sync --group dev --python 3.10; else uv sync --group dev; fi && pnpm install && source .venv/bin/activate && prek install"
}
]
}
}
3 changes: 3 additions & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,6 @@

# Migrated all frontend code from assets/src to frontend
e59c54a53fe4305700d4ced05134ab95b7436b1e

# Ruff reformatting (replacing black + flake8 + reorder-python-imports)
74cbc3fc21e8b6e6b426b0b90a8dbcbddfa8f17e
8 changes: 8 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,14 @@ updates:
patterns:
- "@khanacademy/*"

# Maintain dependencies for Python (uv)
- package-ecosystem: "uv"
directory: "/"
schedule:
interval: "weekly"
day: "wednesday"
time: "00:00"

# Maintain dependencies for Github Actions
- package-ecosystem: "github-actions"
directory: "/"
Expand Down
20 changes: 10 additions & 10 deletions .github/workflows/build_pex.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,26 +15,26 @@ jobs:
build_pex:
name: Build PEX
runs-on: ubuntu-latest
container:
image: python:3.6-buster
outputs:
pex-file-name: ${{ steps.get-pex-filename.outputs.pex-file-name }}
steps:
- uses: actions/checkout@v6
- uses: actions/cache@v5
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('requirements/*.txt') }}
restore-keys: |
${{ runner.os }}-pip-
- name: Install Python build dependencies
run: pip install -r requirements/build.txt
fetch-depth: 0
- name: Set up uv
uses: astral-sh/setup-uv@v7
- name: Install build dependencies
run: |
uv venv .build-venv
uv pip install --python .build-venv -r requirements/build.txt
- uses: actions/download-artifact@v7
with:
name: ${{ inputs.whl-file-name }}
path: dist
- name: Build PEX
run: make pex
run: |
. .build-venv/bin/activate
make pex
- name: Get PEX filename
id: get-pex-filename
run: echo "pex-file-name=$(ls dist | grep .pex | cat)" >> $GITHUB_OUTPUT
Expand Down
29 changes: 6 additions & 23 deletions .github/workflows/build_whl.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,23 +14,20 @@ jobs:
build_whl:
name: Build WHL
runs-on: ubuntu-latest
container:
image: python:3.6-buster
outputs:
whl-file-name: ${{ steps.get-whl-filename.outputs.whl-file-name }}
tar-file-name: ${{ steps.get-tar-filename.outputs.tar-file-name }}
steps:
- name: Install Ubuntu dependencies
run: |
echo "deb http://archive.debian.org/debian-archive/debian/ buster main" > /etc/apt/sources.list
echo "deb http://archive.debian.org/debian-archive/debian-security/ buster/updates main" >> /etc/apt/sources.list
echo "Acquire::Check-Valid-Until \"false\";" > /etc/apt/apt.conf.d/99archive
apt-get -y -qq update
apt-get install -y gettext sudo sqlite3 binutils-aarch64-linux-gnu binutils-arm-linux-gnueabihf git-lfs
sudo apt-get -y -qq update
sudo apt-get install -y gettext sqlite3 binutils-aarch64-linux-gnu binutils-arm-linux-gnueabihf
- uses: actions/checkout@v6
with:
fetch-depth: 0
lfs: true
- name: Set up uv
uses: astral-sh/setup-uv@v7
- name: Use Node.js
uses: actions/setup-node@v6
with:
Expand All @@ -41,22 +38,8 @@ jobs:
cache: true
- name: Install Javascript dependencies
run: pnpm install --frozen-lockfile
- name: Cache Python dependencies
uses: actions/cache@v5
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('requirements/*.txt') }}
restore-keys: |
${{ runner.os }}-pip-
- name: Cache C extensions
uses: actions/cache@v5
with:
path: cext_cache
key: ${{ runner.os }}-cext-${{ hashFiles('requirements/cext*.txt') }}
restore-keys: |
${{ runner.os }}-cext-
- name: Install Python build dependencies
run: pip install -r requirements/build.txt
- name: Install Python dependencies
run: uv sync --group dev
- name: Build Kolibri
run: make dist
- name: Get WHL filename
Expand Down
19 changes: 5 additions & 14 deletions .github/workflows/check_docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,28 +22,19 @@ jobs:
uses: fkirc/skip-duplicate-actions@master
with:
github_token: ${{ github.token }}
paths: '["docs/**", "requirements/docs.txt", ".github/workflows/check_docs.yml", "*.md"]'
paths: '["docs/**", "pyproject.toml", "uv.lock", ".github/workflows/check_docs.yml", "*.md"]'
docs:
name: Checking docs build
needs: pre_job
if: ${{ needs.pre_job.outputs.should_skip != 'true' }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Setup Python
uses: actions/setup-python@v6
with:
python-version: 3.9
- name: pip cache
uses: actions/cache@v5
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-docs-${{ hashFiles('requirements/docs.txt') }}
restore-keys: |
${{ runner.os }}-pip-docs
fetch-depth: 0
- name: Set up uv
uses: astral-sh/setup-uv@v7
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements/docs.txt
run: uv sync --group docs
- name: Check Docs build
run: make docs
Loading
Loading