61 lines
2.0 KiB
YAML
Executable File
61 lines
2.0 KiB
YAML
Executable File
name: Install and CLI Compatibility
|
|
|
|
on:
|
|
workflow_call:
|
|
inputs:
|
|
platform:
|
|
description: Platform for install and CLI compatibility
|
|
required: false
|
|
default: linux
|
|
type: string
|
|
|
|
env:
|
|
DOCKER_IMAGE: archivebox-ci
|
|
ARCHIVEBOX_IMAGE: archivebox-ci
|
|
PYTHONIOENCODING: utf-8
|
|
PYTHONLEGACYWINDOWSSTDIO: utf-8
|
|
USE_COLOR: False
|
|
UV_NO_SOURCES: "1"
|
|
|
|
jobs:
|
|
install_cli_platform:
|
|
name: CLI install / ${{ matrix.os_name }} / Python ${{ matrix.python }}
|
|
runs-on: ${{ matrix.os }}
|
|
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include: ${{ fromJSON(inputs.platform == 'macos' && '[{"os":"macos-15","os_name":"macOS","python":"3.13"},{"os":"macos-15","os_name":"macOS","python":"3.14"}]' || '[{"os":"ubuntu-24.04","os_name":"linux","python":"3.14"}]') }}
|
|
|
|
steps:
|
|
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
|
|
with:
|
|
submodules: true
|
|
fetch-depth: 1
|
|
|
|
### Set up Python
|
|
- name: Set up Python ${{ matrix.python }}
|
|
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
|
|
with:
|
|
python-version: ${{ matrix.python }}
|
|
|
|
- name: Install uv
|
|
uses: astral-sh/setup-uv@37802adc94f370d6bfd71619e3f0bf239e1f3b78 # v7
|
|
with:
|
|
version: "0.11.3"
|
|
enable-cache: false
|
|
cache-dependency-glob: uv.lock
|
|
|
|
- name: Install dependencies with uv
|
|
run: uv sync --no-cache --locked --dev
|
|
|
|
- name: ArchiveBox full install check
|
|
run: |
|
|
set -Eeuo pipefail
|
|
DATA_DIR="$PWD/tests/out/data"
|
|
mkdir -p "$DATA_DIR"
|
|
uv run --no-cache --directory "$DATA_DIR" --no-sync --no-sources archivebox init
|
|
uv run --no-cache --directory "$DATA_DIR" --no-sync --no-sources archivebox install
|
|
uv run --no-cache --directory "$DATA_DIR" --no-sync --no-sources archivebox version
|
|
uv run --no-cache --directory "$DATA_DIR" --no-sync --no-sources archivebox status
|