From bf5b02fd8f41ee7cdf682aab8f07b6c277037acc Mon Sep 17 00:00:00 2001 From: cryptorugmunch Date: Thu, 2 Jul 2026 23:51:51 +0200 Subject: [PATCH] ci(forgejo): fix actions/checkout by installing Node.js and uv PATH - 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. --- .forgejo/workflows/ci.yml | 53 +++++++++++++++++++++++++++++++++++---- pyproject.toml | 4 +-- 2 files changed, 49 insertions(+), 8 deletions(-) diff --git a/.forgejo/workflows/ci.yml b/.forgejo/workflows/ci.yml index 2291826..1eb9703 100644 --- a/.forgejo/workflows/ci.yml +++ b/.forgejo/workflows/ci.yml @@ -10,12 +10,23 @@ on: pull_request: branches: [main] +env: + UV_BIN: /root/.local/bin/uv + jobs: lint: runs-on: docker-x64 container: image: python:3.11-slim 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 - name: Install system deps @@ -27,7 +38,8 @@ jobs: - name: Install uv run: | 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 run: | @@ -50,29 +62,45 @@ jobs: container: image: python:3.11-slim 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 - name: Install uv + setup run: | 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 - 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 venv --python 3.11 .venv uv pip install --python .venv/bin/python -e ".[dev]" - 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: runs-on: docker-x64 container: image: python:3.11-slim 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 - name: Install uv + setup run: | 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 - 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 venv --python 3.11 .venv uv pip install --python .venv/bin/python -e ".[dev]" @@ -85,6 +113,13 @@ jobs: container: image: python:3.11-slim 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 with: fetch-depth: 0 @@ -100,12 +135,20 @@ jobs: container: image: python:3.11-slim 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 - name: Install uv + setup run: | 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 - 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 venv --python 3.11 .venv uv pip install --python .venv/bin/python bandit diff --git a/pyproject.toml b/pyproject.toml index 4400d79..84b1ed1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -12,13 +12,11 @@ version = "3.0.0" description = "Free web scraping + browser automation API — self-hosted, no API keys needed" readme = "README.md" requires-python = ">=3.11" -license = { text = "MIT AND BSL-1.1" } +license = "MIT" authors = [{ name = "Rug Munch Media LLC" }] keywords = ["scraping", "crawler", "browser-automation", "mcp", "x402", "ai-agents"] classifiers = [ "Development Status :: 4 - Beta", - "License :: OSI Approved :: MIT License", - "License :: Other/Proprietary License", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.11",