= Spring AOT 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-aot-smoke-tests"]
Smoke tests for Spring's ahead-of-time (AOT) and GraalVM native image support. Results are published to a https://spring-team-aot-smoke-tests-dashboard.azuremicroservices.io/[dashboard].
== 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 3.0.x
, 3.1.x
, 3.2.x
, 3.3.x
and main
branches.
If you're looking for the smoke tests themselves, please take a look at one of those other branches:
== Managing the Workflows
The workflows can be updated automatically but doing so relies upon a particular directory structure using Git's worktree support:
=== Initial Setup
To create this directory structure, first clone the repository into a directory named ci
:
Now, create worktrees for the 3.0.x
, 3.1.x
, 3.2.x
, 3.3.x
, and main
branches:
The smoke tests resolve commercial dependencies from https://repo.spring.io which requires authentication.
Use the REPO_SPRING_IO_USERNAME
and REPO_SPRING_IO_PASSWORD
environment variables to provide the necessary credentials.
=== Updating the Workflows
To sync the workflows, make sure you're in the ci
worktree on the ci
branch and execute the following Gradle build:
This will update the workflows in the ci
branch based on the smoke tests in each of the repository's other branches.
Commit and push any changes.