name: CI on: push: branches: [ main ] pull_request: branches: [ main ] jobs: test: runs-on: ubuntu-latest steps: - name: Checkout run: | mkdir -p ${{ github.workspace }} cd ${{ github.workspace }} git clone --depth 1 https://github.com/actions/checkout.git _actions/checkout cp -r _actions/checkout/* . rm -rf _actions - name: Setup Python run: | python3 -m pip install --upgrade pip - name: Install dependencies run: | pip install pytest pip install -r requirements.txt - name: Run tests run: | pytest tests/ -v lint: runs-on: ubuntu-latest steps: - name: Checkout run: | mkdir -p ${{ github.workspace }} cd ${{ github.workspace }} git clone --depth 1 https://github.com/actions/checkout.git _actions/checkout cp -r _actions/checkout/* . rm -rf _actions - name: Run linter run: | pip install ruff ruff check . build: runs-on: ubuntu-latest needs: test steps: - name: Checkout run: | mkdir -p ${{ github.workspace }} cd ${{ github.workspace }} git clone --depth 1 https://github.com/actions/checkout.git _actions/checkout cp -r _actions/checkout/* . rm -rf _actions - name: Verify build run: | pip install -r requirements.txt python -c "from man_card import cli, man_parser, card_generator, templates, config; print('All modules import successfully')"