diff --git a/.github/workflows/publish-knowledge.yml b/.github/workflows/publish-knowledge.yml index 0ff7283..dae532d 100644 --- a/.github/workflows/publish-knowledge.yml +++ b/.github/workflows/publish-knowledge.yml @@ -6,7 +6,6 @@ on: permissions: contents: write # attach release asset - packages: write # push to GitHub Packages jobs: publish-knowledge: @@ -58,7 +57,8 @@ jobs: - name: Extract version from tag id: version run: | - VERSION=${GITHUB_REF#refs/tags/} + RAW=${GITHUB_REF#refs/tags/} + VERSION=${RAW#v} echo "version=$VERSION" >> $GITHUB_OUTPUT - name: Build knowledge artifact @@ -73,31 +73,32 @@ jobs: java-version: '17' distribution: 'temurin' - - name: Configure Maven settings for GitHub Packages + - name: Configure Maven settings for Clojars run: | mkdir -p ~/.m2 cat > ~/.m2/settings.xml <<'EOF' - github - ${env.GITHUB_ACTOR} - ${env.GITHUB_TOKEN} + clojars + ${env.CLOJARS_USERNAME} + ${env.CLOJARS_PASSWORD} EOF - - name: Deploy knowledge artifact to GitHub Packages + - name: Deploy knowledge artifact to Clojars env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + CLOJARS_USERNAME: ${{ secrets.CLOJARS_USERNAME }} + CLOJARS_PASSWORD: ${{ secrets.CLOJARS_PASSWORD }} run: | VERSION=${{ steps.version.outputs.version }} # Skip deploy if artifact already exists (idempotent re-runs) - if curl -sf -H "Authorization: token ${GITHUB_TOKEN}" \ - "https://maven.pkg.github.com/manetu/policyengine/com/manetu/mpe-knowledge/${VERSION}/mpe-knowledge-${VERSION}.jar" \ + if curl -sfI \ + "https://repo.clojars.org/io/github/manetu/mpe-knowledge/${VERSION}/mpe-knowledge-${VERSION}.jar" \ -o /dev/null; then - echo "Artifact ${VERSION} already exists in GitHub Packages, skipping deploy" + echo "Artifact ${VERSION} already exists on Clojars, skipping deploy" else VERSION=${VERSION} make knowledge-deploy fi diff --git a/knowledge/Makefile b/knowledge/Makefile index 671b886..fefcc65 100644 --- a/knowledge/Makefile +++ b/knowledge/Makefile @@ -34,20 +34,20 @@ knowledge-build: $(VENV) ## Build the knowledge JAR knowledge-install: knowledge-build ## Install JAR to ~/.m2 (for local iamlite dev) mvn install:install-file \ -Dfile=$(TARGET) \ - -DgroupId=com.manetu \ + -DgroupId=io.github.manetu \ -DartifactId=mpe-knowledge \ -Dversion=$(VERSION) \ -Dpackaging=jar -knowledge-deploy: knowledge-build ## Deploy JAR to GitHub Packages (CI only) +knowledge-deploy: knowledge-build ## Deploy JAR to Clojars (CI only) mvn deploy:deploy-file \ -Dfile=$(TARGET) \ - -DgroupId=com.manetu \ + -DgroupId=io.github.manetu \ -DartifactId=mpe-knowledge \ -Dversion=$(VERSION) \ -Dpackaging=jar \ - -DrepositoryId=github \ - -Durl=https://maven.pkg.github.com/manetu/policyengine + -DrepositoryId=clojars \ + -Durl=https://repo.clojars.org/ knowledge-clean: rm -rf knowledge/target diff --git a/knowledge/build.py b/knowledge/build.py index fb45b1c..aa1d4cc 100644 --- a/knowledge/build.py +++ b/knowledge/build.py @@ -597,7 +597,8 @@ def run_assemble() -> Path: zf.write(CHUNKS_FILE, "chunks.jsonl") zf.write(VECTORS_FILE, "vectors.bin") zf.write(LEXICAL_FILE, "lexical-index.bin") - zf.write(pom_file, "META-INF/maven/com.manetu/mpe-knowledge/pom.xml") + pom_text = pom_file.read_text(encoding="utf-8").replace("${project.version}", version) + zf.writestr("META-INF/maven/io.github.manetu/mpe-knowledge/pom.xml", pom_text) # Compute sha256 over sorted entry contents (deterministic, excludes timestamps) h = hashlib.sha256() diff --git a/knowledge/pom.xml b/knowledge/pom.xml index 38481db..1bd19de 100644 --- a/knowledge/pom.xml +++ b/knowledge/pom.xml @@ -5,7 +5,7 @@ https://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - com.manetu + io.github.manetu mpe-knowledge ${project.version} jar @@ -18,23 +18,28 @@ agent deployments without requiring a Python runtime at runtime. - - - github - GitHub Manetu Apache Maven Packages - https://maven.pkg.github.com/manetu/policyengine - - + https://github.com/manetu/policyengine + + + + BUSL-1.1 + https://github.com/manetu/policyengine/blob/main/LICENSE + repo + + + + + https://github.com/manetu/policyengine + scm:git:git://github.com/manetu/policyengine.git + scm:git:ssh://git@github.com/manetu/policyengine.git +