Add README
This commit is contained in:
66
README.adoc
Normal file
66
README.adoc
Normal file
@@ -0,0 +1,66 @@
|
||||
= Spring Lifecycle Smoke Tests image:https://img.shields.io/badge/Revved%20up%20by-Develocity-06A0CE?logo=Gradle&labelColor=02303A["Revved up by Develocity", link="https://ge.spring.io/scans?search.rootProjectNames=spring-lifecycle-smoke-tests"]
|
||||
|
||||
Smoke tests for Spring Boot applications using a custom lifecycle to perform a training run with
|
||||
https://docs.spring.io/spring-framework/reference/integration/cds.html[CDS] or
|
||||
https://docs.spring.io/spring-framework/reference/integration/checkpoint-restore.html[JVM Checkpoint Restore].
|
||||
Results are available on the https://github.com/spring-projects/spring-lifecycle-smoke-tests/blob/ci/STATUS.adoc[Status page].
|
||||
|
||||
== Repository Structure
|
||||
|
||||
This branch contains only GitHub Actions workflows.
|
||||
It 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]:
|
||||
|
||||
> Scheduled workflows run on the latest commit on the default or base branch.
|
||||
|
||||
Additionally, scheduling will only work for a workflow that exists in the default branch.
|
||||
To overcome this limitation, this branch contains workflows for every smoke test found in the supported branches.
|
||||
If you're looking for the smoke tests themselves, please take a look at one of those other branches:
|
||||
|
||||
- https://github.com/spring-projects/spring-lifecycle-smoke-tests/tree/main[main]
|
||||
|
||||
|
||||
|
||||
== Managing the Workflows
|
||||
|
||||
The workflows can be updated automatically but doing so relies upon a particular directory structure using Git's worktree support:
|
||||
|
||||
[source,]
|
||||
----
|
||||
spring-lifecycle-smoke-tests
|
||||
├── ci
|
||||
└── main
|
||||
----
|
||||
|
||||
|
||||
|
||||
=== Initial Setup
|
||||
|
||||
To create this directory structure, first clone the repository into a directory named `ci`:
|
||||
|
||||
[source,]
|
||||
----
|
||||
mkdir spring-lifecycle-smoke-tests
|
||||
cd spring-lifecycle-smoke-tests
|
||||
git clone https://github.com/spring-projects/spring-lifecycle-smoke-tests ci
|
||||
cd ci
|
||||
----
|
||||
|
||||
Now, create worktrees for the `main` branch:
|
||||
|
||||
[source,]
|
||||
----
|
||||
git worktree add ../main main
|
||||
----
|
||||
|
||||
=== Updating the Workflows
|
||||
|
||||
To 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:
|
||||
|
||||
[source,]
|
||||
----
|
||||
./gradlew updateInfrastructure
|
||||
----
|
||||
|
||||
This will update the workflows in the `ci` branch based on the smoke tests in each of the repository's other branches,
|
||||
as well as `STATUS.adoc`.
|
||||
Commit and push any changes.
|
||||
Reference in New Issue
Block a user