Commit Graph
26 Commits
Author SHA1 Message Date
warkanum e728d9164e Merge pull request 'feat(cli): manage configured databases' (#5) from issue-3-cli-database-management into main
Integration Tests / integration-test (push) Successful in 48s
Release / Build and Release (push) Successful in 1m4s
Build & Release Docker Image / build-and-push (push) Successful in 1m16s
Reviewed-on: #5
Reviewed-by: Warky <2+warkanum@noreply@warky.dev>
v1.0.2
2026-09-21 08:54:45 +00:00
SG Command 0f2e3aab26 Merge latest main and fix database command lint
Integration Tests / integration-test (pull_request) Successful in 41s
2026-09-21 06:06:55 +02:00
warkanum b748798eaa Merge pull request 'feat: add Prometheus metrics and dashboard' (#6) from issue-4-prometheus-metrics into main
Integration Tests / integration-test (push) Successful in 2m54s
Reviewed-on: #6
Reviewed-by: Warky <2+warkanum@noreply@warky.dev>
2026-09-20 12:25:46 +00:00
SG Command f69cbea49f feat: add prometheus metrics and dashboard
Integration Tests / integration-test (pull_request) Successful in 2m33s
2026-09-19 05:12:04 +02:00
SG Command 7fb64961e7 feat(cli): manage configured databases
Integration Tests / integration-test (pull_request) Failing after 1m52s
2026-09-19 05:11:50 +02:00
warkanum d3bce39783 ci: update golangci-lint installation path to v2
Integration Tests / integration-test (push) Successful in 1m0s
Release / Build and Release (push) Successful in 1m7s
Build & Release Docker Image / build-and-push (push) Successful in 1m2s
v1.0.1
2026-09-18 23:10:59 +02:00
warkanum 7c8d0bdc99 feat: added application_name
Integration Tests / integration-test (push) Failing after 1m0s
2026-09-18 23:08:31 +02:00
warkanumandClaude Sonnet 5 b35017b832 docs(docker): add docker-compose example using the prebuilt image
Integration Tests / integration-test (push) Successful in 17s
Mirrors docker-compose.yml's postgres/migrate/broker stack but pulls
git.warky.dev/wdevs/pgsql-broker:latest instead of building from
source, so it needs no local Go toolchain or Dockerfile.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-18 22:41:01 +02:00
warkanumandClaude Sonnet 5 ebe222784a fix(tests): stop racing a live broker daemon against direct-SQL tests
Integration Tests / integration-test (push) Successful in 51s
Build & Release Docker Image / build-and-push (push) Successful in 1m1s
Release / Build and Release (push) Successful in 1m11s
test-all/test-ci started the standalone pgsql-broker binary via
broker-start before running the Go integration suite, leaving its
background workers polling queue 1/2 against broker_test for the
whole run. TestBrokerWorkflow already starts its own in-process
broker and needs no external daemon, and nothing else in the suite
uses it. The redundant daemon's worker could steal-claim a job that
stage5_test.go's TestJobDependencies or
TestFailedJobRetriesThenCompletesWithoutStranding had just inserted
before the test's own broker_get call ran, intermittently failing
those assertions. Drop broker-start/broker-stop from the test
targets; the standalone targets remain for manual use.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
v1.0.0
2026-09-18 22:04:19 +02:00
warkanumandClaude Sonnet 5 fd9ea30184 fix(ci): install Go 1.26 to match go.mod's toolchain requirement
Integration Tests / integration-test (push) Failing after 1m10s
go.mod declares "go 1.26.0" but both workflows' setup-go pinned 1.25,
causing "compile: version go1.26.0 does not match go tool version
go1.25.13" once the service-network-alias fix let tests actually run.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-18 21:58:06 +02:00
warkanumandClaude Sonnet 5 654504e3fc fix(ci): connect integration tests via service network alias
Integration Tests / integration-test (push) Failing after 1m4s
act_runner runs ubuntu-latest jobs in their own container, so
localhost from inside the job never reaches the postgres service's
published host port (confirmed on a fresh CI run: dynamic port
32768 was assigned with no bind collision, but the connection was
still refused). Drop the host port publish and job.services context
lookup, and connect via the service alias/container port
(postgres:5432) instead, which is reachable on the shared job
network.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-18 21:55:05 +02:00
warkanum 63a7494982 fix(tests): update database connection strings for CI
Integration Tests / integration-test (push) Failing after 57s
* Use dynamic host and port for Postgres in tests
* Add helper functions for test database host and port
2026-09-18 21:07:28 +02:00
warkanum 21ce966d82 feat(ci): add PostgreSQL service for integration tests
Integration Tests / integration-test (push) Failing after 1s
2026-09-18 20:51:41 +02:00
warkanum 567b1d437c fix(tests): update database host from localhost to 127.0.0.1
Integration Tests / integration-test (push) Failing after 1m15s
* Adjust connection strings in integration tests for consistency
* Ensure compatibility with CI environments that use IPv4
2026-09-18 20:38:28 +02:00
warkanum cca4e1a0ef feat(tests): add PostgreSQL readiness check in test setup
Integration Tests / integration-test (push) Failing after 1m10s
2026-09-18 20:23:56 +02:00
warkanum 4f45e4c9a6 feat(ci): add Docker image build and release workflow
Integration Tests / integration-test (push) Failing after 1m36s
* Implement GitHub Actions workflow for Docker image build and release
* Validate release tags and manage Docker login credentials
* Build and push Docker images with versioning and metadata
* Add docker-build target to Makefile for local image building
2026-09-18 20:17:24 +02:00
warkanum f433c5bdb2 Merge branch 'main' of ssh://git.warky.dev/wdevs/pgsql-broker
Integration Tests / integration-test (push) Failing after 20s
2026-09-17 22:11:05 +02:00
warkanum 4c8e1066d4 feat(broker): migrations-based install, roles, RLS, and job dependency groups
Replace the ad-hoc tables/procedures install layout with versioned,
ordered SQL migrations tracked in broker_schema_migrations. Add
optional least-privilege role provisioning (--with-roles), multi-tenant
row-level security, lease-based job claiming with stale-lease recovery,
and job dependencies -- both by job id and by fan-in job group. Add
Docker/Compose support for running the broker and its test suite.
2026-09-17 22:09:41 +02:00
warkanum 0cdabd1c09 Merge pull request 'docs: validate broker recommendations against PostgreSQL' (#2) from issue-1-broker-research into main
Integration Tests / integration-test (push) Failing after 10s
Reviewed-on: #2
2026-09-15 13:34:04 +00:00
SG Command 8b3d3cc4ba docs: validate broker recommendations against PostgreSQL
Integration Tests / integration-test (pull_request) Failing after 25s
2026-09-15 05:24:00 +02:00
warkanum 602997bcdb docs(plan): add broker audit and recommendations
Integration Tests / integration-test (push) Failing after 21s
2026-09-14 23:10:29 +02:00
warkanum b74e20760e fix(ci): resolve Python setup errors and update workflow actions
Integration Tests / integration-test (push) Failing after -25m58s
- Update integration workflow actions to latest versions (v3->v4, v4->v5)
- Fix Python version from '3.x' to '3.12' to resolve permission errors
- Update Go version from 1.21 to 1.25 to match go.mod
- Add Go module caching for faster builds
- Add release workflow for multi-platform binary builds
- Add Makefile release target for automated tag creation
2026-01-03 00:31:42 +02:00
warkanum d1598238b2 feat(testing): implement broker workflow integration test
Integration Tests / integration-test (push) Failing after -25m42s
- Implement complete TestBrokerWorkflow that validates end-to-end broker functionality
- Test covers schema installation, broker startup, job submission, and job processing
- Add connection retry logic and proper NULL handling for database fields
- Fix Makefile docker-up and docker-down targets for consistent test database configuration
- Standardize test database credentials (port 5433, user/password, broker_test)
- Add docker-up and docker-down to .PHONY targets
2026-01-02 23:41:06 +02:00
warkanum 3e64f7ae2a feat(testing): add full integration test suite
Integration Tests / integration-test (push) Failing after -23m59s
This commit introduces a comprehensive integration test suite for the pgsql-broker.

The test suite includes:
- A Docker/Podman environment for running a PostgreSQL database, managed via a .
- Integration tests that cover the broker's lifecycle, including job creation, execution, and instance management.
- A GitHub Actions workflow to automate the execution of all tests on push and pull requests.
- A dedicated test configuration file () and helper test files.

refactor(worker): fix job processing transaction
- The worker's job processing now uses a single transaction to fetch and run a job, resolving a race condition where jobs were not in the 'running' state when being executed.
- The broker's database instance registration is now more robust, handling cases where another instance is already active.

The Makefile has been significantly updated to orchestrate the entire test flow, including setting up the database, starting/stopping the broker, and running unit and integration tests separately.
2026-01-02 23:08:17 +02:00
warkanum 19e469ff54 feat: 🎉 postgresql broker first commit of forked prototype from my original code 2026-01-02 20:56:39 +02:00
warkanum e90e5902cd Initial commit 2026-01-02 17:38:39 +00:00