54 lines
1.5 KiB
YAML
54 lines
1.5 KiB
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
pull_request:
|
|
|
|
jobs:
|
|
check:
|
|
runs-on: docker
|
|
|
|
steps:
|
|
- name: Install SSH clone key
|
|
run: |
|
|
set -euo pipefail
|
|
mkdir -p ~/.ssh
|
|
printf '%s\n' "${{ secrets.CI_REPO_SSH_KEY }}" > ~/.ssh/robot_u_site_clone
|
|
chmod 600 ~/.ssh/robot_u_site_clone
|
|
ssh-keyscan aksal.cloud >> ~/.ssh/known_hosts
|
|
cat > ~/.ssh/config <<'EOF'
|
|
Host aksal.cloud
|
|
IdentityFile ~/.ssh/robot_u_site_clone
|
|
IdentitiesOnly yes
|
|
EOF
|
|
|
|
- name: Clone repository over SSH
|
|
run: |
|
|
set -euo pipefail
|
|
git clone --depth 1 git@aksal.cloud:Robot-U/robot-u-site.git robot-u-site
|
|
|
|
- name: Install CI tooling and dependencies
|
|
run: |
|
|
set -euo pipefail
|
|
curl -LsSf https://astral.sh/uv/install.sh | sh
|
|
curl -fsSL https://bun.sh/install | bash
|
|
export PATH="$HOME/.local/bin:$HOME/.bun/bin:$PATH"
|
|
cd robot-u-site
|
|
uv venv .venv
|
|
uv pip install -r requirements.txt
|
|
cd frontend
|
|
bun install --frozen-lockfile --ignore-scripts
|
|
|
|
- name: Check Python
|
|
run: |
|
|
export PATH="$HOME/.local/bin:$HOME/.bun/bin:$PATH"
|
|
cd robot-u-site
|
|
./scripts/check_python_quality.sh
|
|
|
|
- name: Check Frontend
|
|
run: |
|
|
export PATH="$HOME/.local/bin:$HOME/.bun/bin:$PATH"
|
|
cd robot-u-site
|
|
./scripts/check_frontend_quality.sh
|