diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 490a058..4fe9623 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -54,21 +54,11 @@ jobs: # Secrets aren't readable in job-level `if:` expressions, so a tiny check # job exposes whether Docker Hub credentials exist. The docker job is - # skipped cleanly (not failed) until they're configured. - check-docker-creds: - name: Check Docker credentials - runs-on: ubuntu-latest - outputs: - has-creds: ${{ steps.check.outputs.has }} - steps: - - id: check - run: echo "has=${{ secrets.DOCKERHUB_USERNAME != '' && secrets.DOCKERHUB_TOKEN != '' }}" >> "$GITHUB_OUTPUT" - + # Publishes to the GitHub Container Registry using the workflow's own + # GITHUB_TOKEN (packages: write) — no external registry secrets needed. publish-docker: - name: Push Docker image + name: Push Docker image (ghcr.io) runs-on: ubuntu-latest - needs: check-docker-creds - if: needs.check-docker-creds.outputs.has-creds == 'true' steps: - uses: actions/checkout@v4 @@ -76,7 +66,7 @@ jobs: id: meta uses: docker/metadata-action@v5 with: - images: stretchcloud/campfire + images: ghcr.io/${{ github.repository }} tags: | type=semver,pattern={{version}} type=semver,pattern={{major}}.{{minor}} @@ -86,8 +76,9 @@ jobs: - uses: docker/login-action@v3 with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} - uses: docker/build-push-action@v6 with: @@ -101,8 +92,8 @@ jobs: github-release: name: Create GitHub Release runs-on: ubuntu-latest - # Only the npm publish is required; the Docker image is optional and - # must not block a release when Docker Hub credentials are absent. + # Only the npm publish is required; the Docker image must not block a + # release if the image build fails. needs: [publish-npm] steps: - uses: actions/checkout@v4 diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 2be9c43..af55ef0 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.2.0" + ".": "0.2.1" } diff --git a/CHANGELOG.md b/CHANGELOG.md index d00584c..c99e84c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,13 @@ > Campfire began as a fork of [the-companion](https://github.com/The-Vibe-Company/companion) and diverged into a separate product. Pre-fork history (versions up to 0.42.0) lives in the upstream repository; Campfire's own releases start at 0.1.0. +## 0.2.1 (2026-07-07) + +### Fixes + +* **npm:** include the project README and LICENSE in the published tarball so the npm package page renders documentation (previously the package root had neither) +* **ci:** publish the Docker image to GitHub Container Registry (`ghcr.io/stretchcloud/campfire`) using the workflow's built-in token — the Docker Hub path required credentials that were never configured, so no image had ever been published + ## 0.2.0 (2026-07-07) ### Features diff --git a/package.json b/package.json index 0d7c2f5..76ec7d4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "the-campfire-workspace", - "version": "0.2.0", + "version": "0.2.1", "private": true, "description": "Workspace root for Campfire \u2014 the collaborative web platform for AI coding agents. The published package lives in web/.", "scripts": { diff --git a/web/.gitignore b/web/.gitignore new file mode 100644 index 0000000..b260c89 --- /dev/null +++ b/web/.gitignore @@ -0,0 +1,4 @@ + +# Copied in by prepublishOnly for the npm tarball +README.md +LICENSE diff --git a/web/package.json b/web/package.json index e873234..8b91e68 100644 --- a/web/package.json +++ b/web/package.json @@ -1,6 +1,6 @@ { "name": "the-campfire", - "version": "0.2.0", + "version": "0.2.1", "type": "module", "description": "Campfire \u2014 collaborative web platform for AI coding agents. Run Claude Code, Codex, Goose, Aider, and more from one browser UI with real-time collaboration, permission voting, and automation.", "license": "MIT", @@ -45,7 +45,7 @@ "dev:vite": "vite", "build": "vite build", "start": "NODE_ENV=production bun server/index.ts", - "prepublishOnly": "bun run build", + "prepublishOnly": "cp ../README.md ../LICENSE . && bun run build", "typecheck": "tsc --noEmit", "test": "vitest run", "test:watch": "vitest",