Repository navigation
feat(ci): deploy from the default branch and offer Postgres to JVM tests - #154
Open
Alexanderamiri wants to merge 2 commits into
Open
Alexanderamiri wants to merge 2 commits into
Alexanderamiri wants to merge 2 commits into
Conversation
Deploy jobs in javabin.yml were gated on refs/heads/main, so repos whose default branch is master (javaBin/moresleep) could never deploy. Gate on github.event.repository.default_branch instead, for pushes and manual runs. build-jvm gains an optional PostgreSQL service container (test_postgres_image/_db/_user/_password), passed through javabin.yml together with maven_args/gradle_args, for test suites that need a real database. Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
Terraform Plan✅ No changes — infrastructure is up to date. Plan output |
This was referenced Oct 24, 2026
…es inputs Compare github.ref with refs/heads/<default branch> so a tag named like the default branch never deploys. Stop interpolating test_postgres_* into docker service options, and reject non-identifier db/user values before they reach GITHUB_ENV. Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
Terraform Plan✅ No changes — infrastructure is up to date. Plan output |
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
Onboarding
javaBin/moresleep(sleepingpill) without architectural changes hits two pipeline gaps:javabin.ymlwere gated ongithub.ref == 'refs/heads/main'. moresleep's default branch ismaster, so it would build and plan but never apply or deploy.build-jvmrunsmvn verifywith no database. moresleep's test suite needs a real PostgreSQL onlocalhost:5432, which is common for JVM apps.What
javabin.yml: thedocker-build,tf-apply,ecs-deployandeb-deploygates are nowgithub.event_name != 'pull_request' && github.ref == format('refs/heads/{0}', github.event.repository.default_branch). The full ref is compared (review fix), so a tag named like the default branch (refs/tags/master) never deploys; the broker/apply-gate doesn't check the app ref, so this gate is the only branch control. Repos onmainbehave exactly as before.tf-plan.yml: the HIGH-risk SlackNOTIFYflag uses the same default-branch test.build-jvm.yml: an optionalservices.postgrescontainer. Its image comes from the newtest_postgres_imageinput; GitHub skips a service whose image is an empty string (actions/runner#822), so nothing changes for existing callers. Its health check ispg_isready -h 127.0.0.1, with no input interpolated into the dockeroptionsstring (review fix; 127.0.0.1 also skips the socket-only server the image runs while initialising). The export step fails early unlesstest_postgres_db/test_postgres_userare plain identifiers and the password has no newline, because the values are written to$GITHUB_ENV. The build step getsPGHOST/PGPORT/PGDATABASE/PGUSER/PGPASSWORD.javabin.ymlpasses new inputs through:test_postgres_image,test_postgres_db,test_postgres_user,test_postgres_password(each defaults totest), and the existingmaven_args/gradle_argsthatbuild-jvmalready accepted but the orchestrator never passed on.docs/reusable-workflows.md(inputs, default-branch rule, a Postgres example) and one line indocs/app-yaml-reference.md.Not changed: OIDC trust and the broker/apply-gate still pin the platform workflow refs to
javaBin/platform@refs/heads/main. They already accept any app repo branch (sub = repo:javaBin/*:*), so nothing in IAM depends on the app's branch name.How verified
actionlintonjavabin.yml,build-jvm.ymlandtf-plan.yml: clean.github.event.repository.default_branchis in the payload forpushandworkflow_dispatch, which are the only events that can reach the deploy jobs (pull requests are excluded explicitly).javabin.yml@mainwithtest_postgres_image: postgres:17.Follow-ups
feat(app-yaml): adopt an existing RDS instance and Route53 record(independent; no shared files).🤖 Generated with Claude Code