ci(forgejo): fix actions/checkout by installing Node.js and uv PATH
Some checks failed
CI / lint (pull_request) Failing after 45s
CI / typecheck (pull_request) Failing after 54s
CI / Secret scan (gitleaks) (pull_request) Failing after 30s
CI / test (pull_request) Successful in 1m10s
CI / Security audit (bandit) (pull_request) Failing after 53s

- actions/checkout@v4 needs Node.js; python:3.11-slim does not have it.
  Add Node.js install step before checkout in all CI jobs.
- Forgejo runner does not honor GITHUB_PATH for subsequent steps, so
  symlink uv/uvx into /usr/local/bin after install.
- Fix pyproject.toml for setuptools >=77 PEP 639:
  - license = "MIT" (SPDX)
  - remove deprecated License :: * classifiers
- Add --python-version 3.12 to mypy to avoid numpy pyi syntax errors.
This commit is contained in:
Crypto Rug Munch 2026-07-02 23:51:51 +02:00
parent 98eebe62bf
commit bf5b02fd8f
2 changed files with 49 additions and 8 deletions

View file

@ -10,12 +10,23 @@ on:
pull_request: pull_request:
branches: [main] branches: [main]
env:
UV_BIN: /root/.local/bin/uv
jobs: jobs:
lint: lint:
runs-on: docker-x64 runs-on: docker-x64
container: container:
image: python:3.11-slim image: python:3.11-slim
steps: steps:
- name: Install Node.js for actions/checkout
run: |
apt-get update
apt-get install -y --no-install-recommends curl ca-certificates
curl -fsSL https://deb.nodesource.com/setup_22.x | bash -
apt-get install -y --no-install-recommends nodejs
rm -rf /var/lib/apt/lists/*
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: Install system deps - name: Install system deps
@ -27,7 +38,8 @@ jobs:
- name: Install uv - name: Install uv
run: | run: |
curl -LsSf https://astral.sh/uv/install.sh | sh curl -LsSf https://astral.sh/uv/install.sh | sh
echo "$HOME/.local/bin" >> $GITHUB_PATH ln -sf /root/.local/bin/uv /usr/local/bin/uv
ln -sf /root/.local/bin/uvx /usr/local/bin/uvx
- name: Setup Python - name: Setup Python
run: | run: |
@ -50,29 +62,45 @@ jobs:
container: container:
image: python:3.11-slim image: python:3.11-slim
steps: steps:
- name: Install Node.js for actions/checkout
run: |
apt-get update && apt-get install -y --no-install-recommends curl ca-certificates
curl -fsSL https://deb.nodesource.com/setup_22.x | bash -
apt-get install -y --no-install-recommends nodejs
rm -rf /var/lib/apt/lists/*
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: Install uv + setup - name: Install uv + setup
run: | run: |
apt-get update && apt-get install -y --no-install-recommends curl ca-certificates && rm -rf /var/lib/apt/lists/* apt-get update && apt-get install -y --no-install-recommends curl ca-certificates && rm -rf /var/lib/apt/lists/*
curl -LsSf https://astral.sh/uv/install.sh | sh curl -LsSf https://astral.sh/uv/install.sh | sh
echo "$HOME/.local/bin" >> $GITHUB_PATH ln -sf /root/.local/bin/uv /usr/local/bin/uv
ln -sf /root/.local/bin/uvx /usr/local/bin/uvx
uv python install 3.11 uv python install 3.11
uv venv --python 3.11 .venv uv venv --python 3.11 .venv
uv pip install --python .venv/bin/python -e ".[dev]" uv pip install --python .venv/bin/python -e ".[dev]"
- name: Type check (mypy) - name: Type check (mypy)
run: source .venv/bin/activate && mypy . --ignore-missing-imports run: source .venv/bin/activate && mypy . --ignore-missing-imports --python-version 3.12
test: test:
runs-on: docker-x64 runs-on: docker-x64
container: container:
image: python:3.11-slim image: python:3.11-slim
steps: steps:
- name: Install Node.js for actions/checkout
run: |
apt-get update && apt-get install -y --no-install-recommends curl ca-certificates
curl -fsSL https://deb.nodesource.com/setup_22.x | bash -
apt-get install -y --no-install-recommends nodejs
rm -rf /var/lib/apt/lists/*
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: Install uv + setup - name: Install uv + setup
run: | run: |
apt-get update && apt-get install -y --no-install-recommends gcc libpq-dev curl ca-certificates && rm -rf /var/lib/apt/lists/* apt-get update && apt-get install -y --no-install-recommends gcc libpq-dev curl ca-certificates && rm -rf /var/lib/apt/lists/*
curl -LsSf https://astral.sh/uv/install.sh | sh curl -LsSf https://astral.sh/uv/install.sh | sh
echo "$HOME/.local/bin" >> $GITHUB_PATH ln -sf /root/.local/bin/uv /usr/local/bin/uv
ln -sf /root/.local/bin/uvx /usr/local/bin/uvx
uv python install 3.11 uv python install 3.11
uv venv --python 3.11 .venv uv venv --python 3.11 .venv
uv pip install --python .venv/bin/python -e ".[dev]" uv pip install --python .venv/bin/python -e ".[dev]"
@ -85,6 +113,13 @@ jobs:
container: container:
image: python:3.11-slim image: python:3.11-slim
steps: steps:
- name: Install Node.js for actions/checkout
run: |
apt-get update && apt-get install -y --no-install-recommends curl ca-certificates
curl -fsSL https://deb.nodesource.com/setup_22.x | bash -
apt-get install -y --no-install-recommends nodejs
rm -rf /var/lib/apt/lists/*
- uses: actions/checkout@v4 - uses: actions/checkout@v4
with: with:
fetch-depth: 0 fetch-depth: 0
@ -100,12 +135,20 @@ jobs:
container: container:
image: python:3.11-slim image: python:3.11-slim
steps: steps:
- name: Install Node.js for actions/checkout
run: |
apt-get update && apt-get install -y --no-install-recommends curl ca-certificates
curl -fsSL https://deb.nodesource.com/setup_22.x | bash -
apt-get install -y --no-install-recommends nodejs
rm -rf /var/lib/apt/lists/*
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: Install uv + setup - name: Install uv + setup
run: | run: |
apt-get update && apt-get install -y --no-install-recommends curl ca-certificates && rm -rf /var/lib/apt/lists/* apt-get update && apt-get install -y --no-install-recommends curl ca-certificates && rm -rf /var/lib/apt/lists/*
curl -LsSf https://astral.sh/uv/install.sh | sh curl -LsSf https://astral.sh/uv/install.sh | sh
echo "$HOME/.local/bin" >> $GITHUB_PATH ln -sf /root/.local/bin/uv /usr/local/bin/uv
ln -sf /root/.local/bin/uvx /usr/local/bin/uvx
uv python install 3.11 uv python install 3.11
uv venv --python 3.11 .venv uv venv --python 3.11 .venv
uv pip install --python .venv/bin/python bandit uv pip install --python .venv/bin/python bandit

View file

@ -12,13 +12,11 @@ version = "3.0.0"
description = "Free web scraping + browser automation API — self-hosted, no API keys needed" description = "Free web scraping + browser automation API — self-hosted, no API keys needed"
readme = "README.md" readme = "README.md"
requires-python = ">=3.11" requires-python = ">=3.11"
license = { text = "MIT AND BSL-1.1" } license = "MIT"
authors = [{ name = "Rug Munch Media LLC" }] authors = [{ name = "Rug Munch Media LLC" }]
keywords = ["scraping", "crawler", "browser-automation", "mcp", "x402", "ai-agents"] keywords = ["scraping", "crawler", "browser-automation", "mcp", "x402", "ai-agents"]
classifiers = [ classifiers = [
"Development Status :: 4 - Beta", "Development Status :: 4 - Beta",
"License :: OSI Approved :: MIT License",
"License :: Other/Proprietary License",
"Operating System :: OS Independent", "Operating System :: OS Independent",
"Programming Language :: Python :: 3", "Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.11",