mirror of
https://github.com/openzim/zimit.git
synced 2025-12-31 04:23:15 +00:00
81 lines
3.3 KiB
YAML
81 lines
3.3 KiB
YAML
name: Tests
|
|
|
|
on:
|
|
pull_request:
|
|
push:
|
|
branches:
|
|
- main
|
|
|
|
jobs:
|
|
run-tests:
|
|
runs-on: ubuntu-22.04
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Set up Python
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version-file: pyproject.toml
|
|
architecture: x64
|
|
|
|
- name: Install dependencies (and project)
|
|
run: |
|
|
pip install -U pip
|
|
pip install -e .[test,scripts]
|
|
|
|
- name: Run the tests
|
|
run: inv coverage --args "-vvv"
|
|
|
|
- name: Upload coverage report to codecov
|
|
uses: codecov/codecov-action@v4
|
|
with:
|
|
token: ${{ secrets.CODECOV_TOKEN }}
|
|
|
|
build_python:
|
|
runs-on: ubuntu-22.04
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Set up Python
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version-file: pyproject.toml
|
|
architecture: x64
|
|
|
|
- name: Ensure we can build Python targets
|
|
run: |
|
|
pip install -U pip build
|
|
python3 -m build --sdist --wheel
|
|
|
|
# this job replaces the standard "build_docker" job since it builds the docker image
|
|
run-integration-tests:
|
|
runs-on: ubuntu-22.04
|
|
|
|
steps:
|
|
- name: checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: build image
|
|
run: docker build -t local-zimit .
|
|
|
|
- name: ensure help display without issue
|
|
run: docker run -v $PWD/output:/output local-zimit zimit --help
|
|
|
|
- name: run crawl with soft size limit
|
|
run: docker run -v $PWD/output:/output local-zimit zimit --url http://website.test.openzim.org/ --sizeSoftLimit 8192 --name tests_en_sizesoftlimit --zim-file tests_en_sizesoftlimit.zim --adminEmail test@example.com --mobileDevice "Pixel 5" --statsFilename /output/stats_sizesoftlimit.json
|
|
|
|
- name: run crawl with hard size limit
|
|
run: docker run -v $PWD/output:/output local-zimit zimit --url http://website.test.openzim.org/ --sizeHardLimit 8192 --name tests_en_sizehardlimit --zim-file tests_en_sizehardlimit.zim --adminEmail test@example.com --mobileDevice "Pixel 5" --statsFilename /output/stats_sizehardlimit.json || true
|
|
|
|
- name: run crawl with soft time limit
|
|
run: docker run -v $PWD/output:/output local-zimit zimit --url http://website.test.openzim.org/ --timeSoftLimit 1 --name tests_en_timesoftlimit --zim-file tests_en_timesoftlimit.zim --adminEmail test@example.com --mobileDevice "Pixel 5" --statsFilename /output/stats_timesoftlimit.json
|
|
|
|
- name: run crawl with hard time limit
|
|
run: docker run -v $PWD/output:/output local-zimit zimit --url http://website.test.openzim.org/ --timeHardLimit 1 --name tests_en_timehardlimit --zim-file tests_en_timehardlimit.zim --adminEmail test@example.com --mobileDevice "Pixel 5" --statsFilename /output/stats_timehardlimit.json || true
|
|
|
|
- name: run standard crawl
|
|
run: docker run -v $PWD/output:/output local-zimit zimit --url http://website.test.openzim.org/http-return-codes.html --name tests_en_onepage --zim-file tests_en_onepage.zim --adminEmail test@example.com --mobileDevice "Pixel 5" --statsFilename /output/stats.json --keep
|
|
|
|
- name: run integration test suite
|
|
run: docker run -v $PWD/tests-integration/integration.py:/app/integration.py -v $PWD/output:/output local-zimit bash -c "/app/zimit/bin/pip install pytest; /app/zimit/bin/pytest -v /app/integration.py"
|