diff --git a/CHANGELOG.md b/CHANGELOG.md index a9251fd..52f747d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) and this p ### Changed +- The publish job and `task publish` refuse to run while `ECCENCA_MARKETPLACE_URL` is unset: without it `cmemc package publish` publishes to `https://eccenca.market`, so a package meant for a self-hosted marketplace went public on its first merge to main. A package published to eccenca.market sets `ECCENCA_MARKETPLACE_URL=https://eccenca.market` in its CI variables once - The `shapes` skill says that a class the package does not own - from a vocabulary it ships unchanged or depends on, such as QUDT or FOAF - gets its icon from a `foaf:depiction` on the package's node shape, so its resources show an icon in Explore without the package changing the source's vocabulary; the `vocabulary` skill's depictions reference points there ## [1.8.0] 2026-10-18 diff --git a/README.md b/README.md index 3d47b85..ab6277f 100644 --- a/README.md +++ b/README.md @@ -91,7 +91,7 @@ copier copy -r develop gh:eccenca/cmem-package-template your-new-vocabulary-pack | `package_description` | Short description | - | | `python_dependencies` | Comma-separated Python package dependencies (project packages only) | - | | `vocab_dependencies` | Comma-separated vocabulary/project dependencies (project packages only) | - | -| `marketplace` | Publish this package to the marketplace? A no leaves the publish job out of `.gitlab-ci.yml` | `true` | +| `marketplace` | Publish this package to a marketplace? The publish job and `task publish` publish to the marketplace `ECCENCA_MARKETPLACE_URL` names and refuse to run without it; a no leaves the publish job out of `.gitlab-ci.yml` | `true` | | `github_page` | Link to GitHub page of the package | - | ## Generated Structure diff --git a/copier.yaml b/copier.yaml index 7019234..d2378e5 100644 --- a/copier.yaml +++ b/copier.yaml @@ -75,9 +75,11 @@ marketplace: type: bool default: true help: >- - marketplace: Will this package be published to the eccenca marketplace? - Answer no for internal packages - the publish job is then left out of - the generated .gitlab-ci.yml. + marketplace: Will this package be published to a marketplace? The + publish job publishes to the marketplace ECCENCA_MARKETPLACE_URL names + (https://eccenca.market for a public package) and refuses to run without + it. Answer no for packages nobody publishes - the publish job is then + left out of the generated .gitlab-ci.yml. github_page: type: str diff --git a/src/.gitlab-ci.yml.jinja b/src/.gitlab-ci.yml.jinja index e4c93e1..1828250 100644 --- a/src/.gitlab-ci.yml.jinja +++ b/src/.gitlab-ci.yml.jinja @@ -51,6 +51,9 @@ publish: elif [ -z "${ECCENCA_MARKETPLACE_ACCOUNT}" ]; then echo "ECCENCA_MARKETPLACE_ACCOUNT not available ..." exit 1 + elif [ -z "${ECCENCA_MARKETPLACE_URL}" ]; then + echo "ECCENCA_MARKETPLACE_URL not available: name the marketplace this package publishes to (https://eccenca.market for a public package) ..." + exit 1 else task publish fi diff --git a/src/Taskfile.yaml b/src/Taskfile.yaml index 200964c..aa461e4 100644 --- a/src/Taskfile.yaml +++ b/src/Taskfile.yaml @@ -116,6 +116,11 @@ tasks: msg: > No package archive for version {{.PACKAGE_VERSION}} found in {{.DIST_DIR}}. Run 'task build' first. + - sh: test -n "${ECCENCA_MARKETPLACE_URL}" + msg: > + ECCENCA_MARKETPLACE_URL is not set. Name the marketplace this package + publishes to (https://eccenca.market for a public package): without it + cmemc publishes to https://eccenca.market. cmds: - cmemc package publish {{.DIST_DIR}}/{{.PACKAGE_ID}}-{{.PACKAGE_VERSION}}.cpa