mirror of
https://github.com/getnora-io/nora.git
synced 2026-04-12 15:00:31 +00:00
fix: integration tests match actual protocol support
- Docker, Maven: full push/pull (write support exists) - npm, PyPI, Cargo: endpoint checks only (read-only proxy, no publish yet)
This commit is contained in:
41
.github/workflows/ci.yml
vendored
41
.github/workflows/ci.yml
vendored
@@ -133,18 +133,12 @@ jobs:
|
||||
curl -sf http://localhost:4000/v2/_catalog | jq .
|
||||
curl -sf http://localhost:4000/v2/test/alpine/tags/list | jq .
|
||||
|
||||
# -- npm publish/install --
|
||||
- name: npm — publish and install package
|
||||
# -- npm (read-only proxy, no publish support yet) --
|
||||
- name: npm — verify registry endpoint
|
||||
run: |
|
||||
echo "//localhost:4000/npm/:_authToken=integration-test" > ~/.npmrc
|
||||
mkdir -p /tmp/test-pkg && cd /tmp/test-pkg
|
||||
echo '{"name":"nora-integration-test","version":"1.0.0","description":"test"}' > package.json
|
||||
echo "module.exports = true;" > index.js
|
||||
npm publish --registry http://localhost:4000/npm/
|
||||
cd /tmp && mkdir -p install-test && cd install-test
|
||||
npm init -y > /dev/null
|
||||
npm install nora-integration-test --registry http://localhost:4000/npm/
|
||||
echo "npm publish/install OK"
|
||||
STATUS=$(curl -s -o /dev/null -w "%{http_code}" http://localhost:4000/npm/lodash)
|
||||
echo "npm endpoint returned: $STATUS"
|
||||
[ "$STATUS" != "000" ] && echo "npm endpoint OK" || (echo "npm endpoint unreachable" && exit 1)
|
||||
|
||||
# -- Maven deploy/download --
|
||||
- name: Maven — deploy and download artifact
|
||||
@@ -156,26 +150,19 @@ jobs:
|
||||
DOWNLOAD_CHECKSUM=$(sha256sum /tmp/downloaded.jar | cut -d' ' -f1)
|
||||
[ "$CHECKSUM" = "$DOWNLOAD_CHECKSUM" ] && echo "Maven deploy/download OK" || (echo "Checksum mismatch!" && exit 1)
|
||||
|
||||
# -- PyPI upload/install --
|
||||
- name: PyPI — upload and install package
|
||||
# -- PyPI (read-only proxy, no upload support yet) --
|
||||
- name: PyPI — verify simple index
|
||||
run: |
|
||||
pip install twine
|
||||
mkdir -p /tmp/pypi-pkg/nora_test_pkg
|
||||
cat > /tmp/pypi-pkg/setup.py << SETUP
|
||||
from setuptools import setup
|
||||
setup(name="nora-test-pkg", version="0.1.0", packages=["nora_test_pkg"])
|
||||
SETUP
|
||||
echo "" > /tmp/pypi-pkg/nora_test_pkg/__init__.py
|
||||
cd /tmp/pypi-pkg && python setup.py sdist
|
||||
twine upload --repository-url http://localhost:4000/pypi/ dist/* --non-interactive -u _ -p _
|
||||
pip install nora-test-pkg --index-url http://localhost:4000/simple/ --trusted-host localhost
|
||||
echo "PyPI upload/install OK"
|
||||
STATUS=$(curl -s -o /dev/null -w "%{http_code}" http://localhost:4000/simple/)
|
||||
echo "PyPI simple index returned: $STATUS"
|
||||
[ "$STATUS" = "200" ] && echo "PyPI endpoint OK" || (echo "Expected 200, got $STATUS" && exit 1)
|
||||
|
||||
# -- Cargo registry API check --
|
||||
# -- Cargo (read-only proxy, no publish support yet) --
|
||||
- name: Cargo — verify registry API responds
|
||||
run: |
|
||||
curl -sf http://localhost:4000/cargo/api/v1/crates || echo "Cargo API endpoint available"
|
||||
echo "Cargo API check OK"
|
||||
STATUS=$(curl -s -o /dev/null -w "%{http_code}" http://localhost:4000/cargo/api/v1/crates/serde)
|
||||
echo "Cargo API returned: $STATUS"
|
||||
[ "$STATUS" != "000" ] && echo "Cargo endpoint OK" || (echo "Cargo endpoint unreachable" && exit 1)
|
||||
|
||||
# -- API checks --
|
||||
- name: API — health, ready, metrics
|
||||
|
||||
Reference in New Issue
Block a user