- Drop support for Python 3.7. - Use offline geolocation database instead of ip-api.com. - Add support for proxy authentication. - Add pre-compiled binaries. - Refactor the code by a lot. - Simplify config. - Add automatic text encoding detection. - Use TOML instead of INI for configuration. - Add support for using httpbin-compatible services and services which return plain IP address for getting proxy's exit node. - Add support for reading proxy lists from local files. - Add support for saving to json. - Remove support for saving geolocation to txt, use json instead. - Improve parser. - Improve config validation. - Use poetry instead of requirements.txt. - Use venv in start scripts.
44 lines
1.2 KiB
YAML
44 lines
1.2 KiB
YAML
name: CI
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
pull_request:
|
|
workflow_dispatch:
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
|
|
cancel-in-progress: true
|
|
jobs:
|
|
run-pre-commit:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- run: pipx run pre-commit run --all-files --show-diff-on-failure
|
|
build:
|
|
strategy:
|
|
matrix:
|
|
os:
|
|
- ubuntu
|
|
- macos
|
|
- windows
|
|
fail-fast: false
|
|
runs-on: ${{ matrix.os }}-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- run: pipx install poetry
|
|
- uses: actions/setup-python@v5
|
|
with:
|
|
python-version: "3.11"
|
|
cache: poetry
|
|
check-latest: true
|
|
- run: poetry install --only main,nuitka --sync --no-root --no-interaction
|
|
- run: poetry run --no-interaction python -m nuitka --onefile --python-flag='-m' --prefer-source-code --assume-yes-for-downloads --lto=yes proxy_scraper_checker
|
|
- uses: actions/upload-artifact@v4
|
|
with:
|
|
name: artifact-${{ matrix.os }}
|
|
path: |
|
|
config.toml
|
|
proxy_scraper_checker.bin
|
|
proxy_scraper_checker.exe
|
|
if-no-files-found: error
|