Templates end-to-end tests #41
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Templates end-to-end tests | |
on: | |
workflow_dispatch: | |
schedule: | |
- cron: '0 6 * * *' | |
jobs: | |
end_to_end_tests: | |
name: End-to-end tests | |
strategy: | |
fail-fast: false | |
max-parallel: 12 | |
matrix: | |
crawler-type: ["playwright_camoufox", "playwright", "parsel", "beautifulsoup"] | |
http-client: [ "httpx", "curl_impersonate"] | |
package-manager: ["pip", "uv", "poetry"] | |
runs-on: "ubuntu-latest" | |
env: | |
python-version: "3.13" | |
node-version: "22" | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Setup node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ env.node-version }} | |
- name: Install dependencies | |
run: npm install -g apify-cli | |
- name: Set up Python ${{ env.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ env.python-version }} | |
# installed to be able to patch crawlee in the poetry.lock with custom wheel file for poetry based templates | |
- name: Install poetry | |
run: pipx install poetry | |
- name: Set up uv package manager | |
uses: astral-sh/setup-uv@v6 | |
with: | |
python-version: ${{ env.python-version }} | |
# Sync the project, but no need to install the browsers into the test runner environment. | |
- name: Install Python dependencies | |
run: make install-sync | |
- name: Run templates end-to-end tests | |
run: make e2e-templates-tests args="-m ${{ matrix.http-client }} and ${{ matrix.crawler-type }} and ${{ matrix.package-manager }}" | |
env: | |
APIFY_TEST_USER_API_TOKEN: ${{ secrets.APIFY_TEST_USER_API_TOKEN }} |