{"id":14972939,"url":"https://github.com/spring-projects/spring-lifecycle-smoke-tests","last_synced_at":"2025-10-19T11:30:16.730Z","repository":{"id":176715554,"uuid":"656779324","full_name":"spring-projects/spring-lifecycle-smoke-tests","owner":"spring-projects","description":null,"archived":false,"fork":false,"pushed_at":"2025-01-03T09:18:32.000Z","size":503,"stargazers_count":31,"open_issues_count":10,"forks_count":20,"subscribers_count":7,"default_branch":"ci","last_synced_at":"2025-01-31T04:42:33.435Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/spring-projects.png","metadata":{"files":{"readme":"README.adoc","changelog":null,"contributing":"CONTRIBUTING.adoc","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"security/ldap-client/README.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-06-21T16:08:36.000Z","updated_at":"2025-01-26T12:33:00.000Z","dependencies_parsed_at":null,"dependency_job_id":"3c30aa37-2dab-493c-8727-b451c61176a9","html_url":"https://github.com/spring-projects/spring-lifecycle-smoke-tests","commit_stats":null,"previous_names":["spring-projects/spring-checkpoint-restore-smoke-tests","spring-projects/spring-lifecycle-smoke-tests"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spring-projects%2Fspring-lifecycle-smoke-tests","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spring-projects%2Fspring-lifecycle-smoke-tests/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spring-projects%2Fspring-lifecycle-smoke-tests/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spring-projects%2Fspring-lifecycle-smoke-tests/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/spring-projects","download_url":"https://codeload.github.com/spring-projects/spring-lifecycle-smoke-tests/tar.gz/refs/heads/ci","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":237116289,"owners_count":19258223,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-09-24T13:47:47.477Z","updated_at":"2025-10-19T11:30:16.174Z","avatar_url":"https://github.com/spring-projects.png","language":"Java","readme":"= Spring Lifecycle Smoke Tests image:https://img.shields.io/badge/Revved%20up%20by-Develocity-06A0CE?logo=Gradle\u0026labelColor=02303A[\"Revved up by Develocity\", link=\"https://ge.spring.io/scans?search.rootProjectNames=spring-lifecycle-smoke-tests\"]\n\nSmoke tests for Spring Boot applications using a custom lifecycle to perform a training run with\nhttps://docs.spring.io/spring-framework/reference/integration/cds.html[CDS] or\nhttps://docs.spring.io/spring-framework/reference/integration/checkpoint-restore.html[JVM Checkpoint Restore].\nResults are available on the https://github.com/spring-projects/spring-lifecycle-smoke-tests/blob/ci/STATUS.adoc[Status page].\n\n== Repository Structure\n\nThis branch contains only GitHub Actions workflows.\nIt is the default branch in the repository to work around a limitation of GitHub Actions' https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#schedule[scheduling support]:\n\n\u003e Scheduled workflows run on the latest commit on the default or base branch.\n\nAdditionally, scheduling will only work for a workflow that exists in the default branch.\nTo overcome this limitation, this branch contains workflows for every smoke test found in the supported branches.\nIf you're looking for the smoke tests themselves, please take a look at one of those other branches:\n\n- https://github.com/spring-projects/spring-lifecycle-smoke-tests/tree/main[main]\n\n\n\n== Managing the Workflows\n\nThe workflows can be updated automatically but doing so relies upon a particular directory structure using Git's worktree support:\n\n[source,]\n----\nspring-lifecycle-smoke-tests\n├── 3.3.x\n├── ci\n└── main\n----\n\n\n\n=== Initial Setup\n\nTo create this directory structure, first clone the repository into a directory named `ci`:\n\n[source,]\n----\nmkdir spring-lifecycle-smoke-tests\ncd spring-lifecycle-smoke-tests\ngit clone https://github.com/spring-projects/spring-lifecycle-smoke-tests ci\ncd ci\n----\n\nNow, create worktrees for the `3.3.x` and `main` branches:\n\n[source,]\n----\ngit worktree add ../main main\ngit worktree add ../3.3.x 3.3.x\n----\n\n=== Updating the Workflows\n\nTo sync the workflows and update the status page, make sure you're in the `ci` worktree on the `ci` branch and execute the following Gradle build:\n\n[source,]\n----\n./gradlew updateInfrastructure\n----\n\nThis will update the workflows in the `ci` branch based on the smoke tests in each of the repository's other branches,\nas well as `STATUS.adoc`.\nCommit and push any changes.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspring-projects%2Fspring-lifecycle-smoke-tests","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspring-projects%2Fspring-lifecycle-smoke-tests","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspring-projects%2Fspring-lifecycle-smoke-tests/lists"}