Skip to content

Conversation

@gzur
Copy link
Collaborator

@gzur gzur commented Oct 29, 2025

Summary

Implements automated selective Docker container builds using GitHub Actions, replacing the previous manual build process.

Changes

  • Unified Build Pipeline: Single workflow handles all supported containers with selective building
  • Change Detection: Automatically detects which services need rebuilding based on file changes
  • Manual Triggers: Support for manual builds via GitHub Actions UI with service selection
  • Short SHA Tags: Images tagged with {branch}-{short-sha} format for easier deployment tracking
  • Build Summaries: Comprehensive build status reporting in GitHub Actions UI
  • Container Cleanup: Removed problematic stack and stepci containers from build matrix

Supported Services

  • quicklookup/synmetrix-actions (Node.js backend)
  • quicklookup/synmetrix-cube (CubeJS analytics)
  • quicklookup/synmetrix-client (React frontend)
  • quicklookup/synmetrix-hasura (GraphQL API)
  • quicklookup/hasura-backend-plus (Auth backend)

Updated Documentation

  • Updated RELEASING.md with automated build process and deployment instructions
  • Documented manual trigger process and image tagging strategy

Test Plan

  • Workflow triggers on path changes
  • Manual workflow dispatch with service selection
  • All 5 services build successfully
  • Images pushed with correct tags
  • Build summary displays accurate results

gzur added 13 commits October 29, 2025 11:30
- Create unified workflow for all 7 custom containers
- Implement path-based change detection for selective builds
- Add manual workflow dispatch for specific service builds
- Disable legacy workflow to prevent conflicts
- Support both quicklookup/ and synmetrix/ registries
- Update all @cubejs-backend packages from 1.3.23 to 1.3.85 using npm update
- Includes latest features, performance improvements, and bug fixes
- All packages tested and working correctly
- Add comprehensive build summary job that runs after all builds
- Display built images, their tags, and push status in GitHub Actions UI
- Show build success/failure status for each service
- Include commit SHA, branch tags, and latest tag information
- Use GitHub Step Summary for rich markdown formatting
- Document recent v1.3.85 upgrade process and changes
- Include architecture overview and configuration details
- Add development, Docker, and Kubernetes deployment info
- Note security considerations and next steps
Focus only on actual work performed - CubeJS package upgrade process
Mention that pushing will trigger selective build of cubejs container
- Replace duplicated git diff checks with loop-based change detection
- Add per-service Docker cache scoping to prevent cache conflicts
- Fix boolean input handling for workflow_dispatch
- Use shell parameter expansion instead of sed for comma removal
- Improve shell scripting best practices and maintainability
Add .buildinfo files to all service directories to test selective build workflow:
- services/actions/ → quicklookup/synmetrix-actions
- services/cubejs/ → quicklookup/synmetrix-cube (already changed)
- services/client/ → quicklookup/synmetrix-client
- services/hasura/ → quicklookup/synmetrix-hasura
- scripts/containers/hasura-backend-plus/ → quicklookup/hasura-backend-plus
- scripts/containers/stack/ → synmetrix/stack
- scripts/containers/stepci/ → quicklookup/synmetrix-stepci

This will trigger builds for all 7 custom containers when pushed.
- Remove synmetrix/stack from workflow (was causing build failures)
- Fix build summary to handle matrix job partial failures correctly
- Show ⚠️ Mixed status when some services fail but others succeed
- Add documentation about stack container removal
- Reduce supported services from 7 to 6
Trigger builds for all 6 remaining services:
- actions: quicklookup/synmetrix-actions
- cubejs: quicklookup/synmetrix-cube (with v1.3.85 upgrade)
- client: quicklookup/synmetrix-client
- hasura-cli: quicklookup/synmetrix-hasura
- hasura-backend-plus: quicklookup/hasura-backend-plus
- stepci: quicklookup/synmetrix-stepci

Stack container removed due to build failures.
Build summary now handles partial failures correctly.
@gzur gzur merged commit 5489788 into main Oct 29, 2025
7 of 9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants