ci: add test workflow and Portainer CE stack redeploy #18

Merged
elvis merged 1 commit from feat/cicd_improvements into main 2026-05-28 17:45:38 +00:00
Owner

Summary

  • Rename the docker-publish workflow display name from "Build and push Docker image" to "Build and Push"
  • Add test.yml workflow to run npm test on every PR targeting main, gating merges on passing tests
  • Replace the placeholder webhook-based redeploy step with a Portainer CE API call that authenticates, fetches the current stack config, and triggers a redeploy with PullImage: true

Setup required

Before merging, add the following secrets in Forgejo repo settings → Secrets:

Secret Description
PORTAINER_URL Portainer base URL, e.g. http://192.168.1.x:9000
PORTAINER_USER Portainer admin username
PORTAINER_PASSWORD Portainer admin password
PORTAINER_STACK_ID Numeric stack ID from the Portainer URL

Also ensure jq is installed on the runner host.

Test plan

  • Open a PR → confirm "Test" check appears and passes
  • Merge to main → confirm "Build and Push" workflow runs, image is pushed, and Portainer restarts the actual-mcp container with the new image

🤖 Generated with Claude Code

## Summary - Rename the `docker-publish` workflow display name from "Build and push Docker image" to "Build and Push" - Add `test.yml` workflow to run `npm test` on every PR targeting `main`, gating merges on passing tests - Replace the placeholder webhook-based redeploy step with a Portainer CE API call that authenticates, fetches the current stack config, and triggers a redeploy with `PullImage: true` ## Setup required Before merging, add the following secrets in Forgejo repo settings → Secrets: | Secret | Description | |--------|-------------| | `PORTAINER_URL` | Portainer base URL, e.g. `http://192.168.1.x:9000` | | `PORTAINER_USER` | Portainer admin username | | `PORTAINER_PASSWORD` | Portainer admin password | | `PORTAINER_STACK_ID` | Numeric stack ID from the Portainer URL | Also ensure `jq` is installed on the runner host. ## Test plan - [ ] Open a PR → confirm "Test" check appears and passes - [ ] Merge to main → confirm "Build and Push" workflow runs, image is pushed, and Portainer restarts the `actual-mcp` container with the new image 🤖 Generated with [Claude Code](https://claude.com/claude-code)
ci: add test workflow and Portainer stack redeploy on merge to main
Some checks failed
Test / test (pull_request) Failing after 2s
335d0df6df
- Rename docker-publish workflow display name to "Build and Push"
- Add test.yml to gate PRs on passing tests
- Replace webhook-based redeploy with Portainer CE API call

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
elvis merged commit deef2392d6 into main 2026-05-28 17:45:38 +00:00
elvis deleted branch feat/cicd_improvements 2026-05-28 17:45:38 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
elvis/actual-mcp!18
No description provided.