add git checkout step to CI workflow

This commit is contained in:
Jarian Cottingham 2026-07-04 17:40:06 +00:00
parent fb3720a07b
commit f4f83cd65f

View File

@ -1,5 +1,4 @@
name: CI name: CI
# 2026-07-04 certauth
on: on:
push: push:
@ -7,45 +6,85 @@ on:
pull_request: pull_request:
branches: [main, master] branches: [main, master]
env:
GIT_SSL_NO_VERIFY: "true"
jobs: jobs:
lint: lint:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout code
run: |
git config --global --add safe.directory /home/runner/work/*/* 2>/dev/null || true
git clone https://git.example.com/jarianc/youtube-cli /tmp/youtube-cli
cd /tmp/youtube-cli
git checkout $GITHUB_SHA || git checkout $CI_COMMIT_SHA || true
cp -r /tmp/youtube-cli/. /__w/youtube-cli/youtube-cli/
- name: Install dependencies - name: Install dependencies
working-directory: /__w/youtube-cli/youtube-cli
run: | run: |
python3 -m pip install --upgrade pip python3 -m pip install --upgrade pip
pip3 install ruff mypy pip3 install ruff mypy
pip3 install -e ".[dev]" pip3 install -e ".[dev]"
- name: Run ruff - name: Run ruff
working-directory: /__w/youtube-cli/youtube-cli
run: ruff check . run: ruff check .
- name: Run mypy - name: Run mypy
working-directory: /__w/youtube-cli/youtube-cli
run: mypy youtube_tui/ run: mypy youtube_tui/
test: test:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout code
run: |
git config --global --add safe.directory /home/runner/work/*/* 2>/dev/null || true
git clone https://git.example.com/jarianc/youtube-cli /tmp/youtube-cli
cd /tmp/youtube-cli
git checkout $GITHUB_SHA || git checkout $CI_COMMIT_SHA || true
cp -r /tmp/youtube-cli/. /__w/youtube-cli/youtube-cli/
- name: Install dependencies - name: Install dependencies
working-directory: /__w/youtube-cli/youtube-cli
run: | run: |
python3 -m pip install --upgrade pip python3 -m pip install --upgrade pip
pip3 install -e ".[dev]" pip3 install -e ".[dev]"
pip3 install -r requirements-api.txt pip3 install -r requirements-api.txt
- name: Run pytest - name: Run pytest
working-directory: /__w/youtube-cli/youtube-cli
run: python3 -m pytest tests/ web/server/tests/ -v --tb=short run: python3 -m pytest tests/ web/server/tests/ -v --tb=short
docker-build: docker-build:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout code
run: |
git clone https://git.example.com/jarianc/youtube-cli /tmp/youtube-cli
cd /tmp/youtube-cli
git checkout $GITHUB_SHA || git checkout $CI_COMMIT_SHA || true
cp -r /tmp/youtube-cli/. /__w/youtube-cli/youtube-cli/
- name: Build Docker image - name: Build Docker image
working-directory: /__w/youtube-cli/youtube-cli
run: | run: |
docker build -t youtube-cli:test --no-cache . docker build -t youtube-cli:test --no-cache .
security: security:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout code
run: |
git clone https://git.example.com/jarianc/youtube-cli /tmp/youtube-cli
cd /tmp/youtube-cli
git checkout $GITHUB_SHA || git checkout $CI_COMMIT_SHA || true
cp -r /tmp/youtube-cli/. /__w/youtube-cli/youtube-cli/
- name: Run bandit (Python SAST) - name: Run bandit (Python SAST)
working-directory: /__w/youtube-cli/youtube-cli
run: | run: |
pip3 install bandit pip3 install bandit
bandit -r youtube_cli/ youtube_tui/ web/server/ -ll bandit -r youtube_cli/ youtube_tui/ web/server/ -ll