Import slugify_or_default from hub-core, add contract tests, vendor hub-core in Docker/Forgejo CI, document metadata isolation and pagination deferral, and align INTENT/SCOPE with three-repo stack.
51 lines
No EOL
1.6 KiB
YAML
51 lines
No EOL
1.6 KiB
YAML
# CI smoke with hub-core sibling vendored for path dependency resolution.
|
|
name: CI Smoke
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
workflow_dispatch:
|
|
|
|
env:
|
|
EXTRA_REPOS: "coulomb/hub-core@hub_core_src"
|
|
|
|
jobs:
|
|
host-smoke:
|
|
runs-on: self-hosted
|
|
steps:
|
|
- name: Routing probe (host runner)
|
|
run: |
|
|
set -eu
|
|
echo "repository=${GITHUB_REPOSITORY:-unknown}"
|
|
echo "sha=${GITHUB_SHA:-unknown}"
|
|
echo "runner=${RUNNER_NAME:-unknown}"
|
|
uname -a
|
|
|
|
pytest-smoke:
|
|
runs-on: self-hosted
|
|
steps:
|
|
- name: Test with vendored hub-core
|
|
run: |
|
|
set -eu
|
|
REF="${GITHUB_SHA:-main}"
|
|
SHORT="${REF:0:7}"
|
|
ROOT="${HOME}/ci-core-hub-${SHORT}"
|
|
rm -rf "${ROOT}"
|
|
mkdir -p "${ROOT}"
|
|
wget -qO /tmp/core-hub.tar.gz \
|
|
"https://forgejo.coulomb.social/${GITHUB_REPOSITORY}/archive/${SHORT}.tar.gz"
|
|
tar xzf /tmp/core-hub.tar.gz -C "${ROOT}" --strip-components=1
|
|
wget -qO /tmp/hub-core.tar.gz \
|
|
"https://forgejo.coulomb.social/coulomb/hub-core/archive/main.tar.gz"
|
|
mkdir -p "${ROOT}/../hub-core"
|
|
tar xzf /tmp/hub-core.tar.gz -C "${ROOT}/../hub-core" --strip-components=1
|
|
cd "${ROOT}"
|
|
if ! command -v uv >/dev/null 2>&1; then
|
|
pip install --user uv
|
|
export PATH="${HOME}/.local/bin:${PATH}"
|
|
fi
|
|
uv sync --extra dev
|
|
uv run python -c "import hub_core; assert hub_core.__version__ >= '0.2.0', hub_core.__version__"
|
|
uv run python -m pytest -q
|
|
echo "core-hub pytest smoke ok with hub-core @ ${SHORT}" |