73 lines
1.7 KiB
YAML
73 lines
1.7 KiB
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- "**"
|
|
pull_request:
|
|
branches:
|
|
- "**"
|
|
|
|
jobs:
|
|
check-requirements:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Cache uv for venv speed up
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: ~/.cache/uv
|
|
key: uv-cache-${{ hashFiles('uv.lock') }}
|
|
|
|
- name: Install mise
|
|
run: |
|
|
curl https://mise.run | sh
|
|
echo "$HOME/.local/bin" >> $GITHUB_PATH
|
|
echo "$HOME/.local/share/mise/shims" >> $GITHUB_PATH
|
|
|
|
|
|
- name: Install tools from mise
|
|
run: |
|
|
mise install
|
|
mise run setup-dev
|
|
|
|
- name: Regenerate requirements.txt
|
|
run: mise run requirements-txt
|
|
|
|
- name: Check for changes in requirements.txt
|
|
run: |
|
|
if ! git diff --exit-code requirements.txt; then
|
|
echo "requirements.txt is out of date. Please run 'mise run requirements-txt' and commit the updated file."
|
|
exit 1
|
|
fi
|
|
|
|
test:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Cache uv for venv speed up
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: ~/.cache/uv
|
|
key: uv-cache-${{ hashFiles('uv.lock') }}
|
|
|
|
- name: Install mise
|
|
run: |
|
|
curl https://mise.run | sh
|
|
echo "$HOME/.local/bin" >> $GITHUB_PATH
|
|
echo "$HOME/.local/share/mise/shims" >> $GITHUB_PATH
|
|
|
|
- name: Install tools from mise
|
|
run: |
|
|
mise install
|
|
mise run setup-dev
|
|
|
|
- name: Lint
|
|
run: mise run lint
|
|
|
|
- name: Test
|
|
run: mise run test |