https://github.com/spring-projects/spring-aot-smoke-tests
Smoke tests for Spring's AOT and native support
https://github.com/spring-projects/spring-aot-smoke-tests
Last synced: 2 months ago
JSON representation
Smoke tests for Spring's AOT and native support
- Host: GitHub
- URL: https://github.com/spring-projects/spring-aot-smoke-tests
- Owner: spring-projects
- Created: 2022-06-27T15:45:39.000Z (almost 3 years ago)
- Default Branch: ci
- Last Pushed: 2025-03-21T04:29:29.000Z (3 months ago)
- Last Synced: 2025-04-04T03:09:46.573Z (2 months ago)
- Language: Java
- Homepage: https://spring-team-aot-smoke-tests-dashboard.azuremicroservices.io/
- Size: 2.18 MB
- Stars: 59
- Watchers: 10
- Forks: 37
- Open Issues: 32
-
Metadata Files:
- Readme: README.adoc
Awesome Lists containing this project
README
= 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-asa-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`, `3.4.x` and `main` 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-aot-smoke-tests/tree/3.0.x[3.0.x]
- https://github.com/spring-projects/spring-aot-smoke-tests/tree/3.1.x[3.1.x]
- https://github.com/spring-projects/spring-aot-smoke-tests/tree/3.2.x[3.2.x]
- https://github.com/spring-projects/spring-aot-smoke-tests/tree/3.3.x[3.3.x]
- https://github.com/spring-projects/spring-aot-smoke-tests/tree/3.4.x[3.4.x]
- https://github.com/spring-projects/spring-aot-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-aot-smoke-tests
├── 3.0.x
├── 3.1.x
├── 3.2.x
├── 3.3.x
├── 3.4.x
├── ci
└── main
----=== Initial Setup
To create this directory structure, first clone the repository into a directory named `ci`:
[source,]
----
mkdir spring-aot-smoke-tests
cd spring-aot-smoke-tests
git clone https://github.com/spring-projects/spring-aot-smoke-tests ci
cd ci
----Now, create worktrees for the `3.0.x`, `3.1.x`, `3.2.x`, `3.3.x`, `3.4.x`, and `main` branches:
[source,]
----
git worktree add ../3.0.x 3.0.x
git worktree add ../3.1.x 3.1.x
git worktree add ../3.2.x 3.2.x
git worktree add ../3.3.x 3.3.x
git worktree add ../3.4.x 3.4.x
git worktree add ../main main
----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:
[source,]
----
./gradlew syncGitHubActionsWorkflows
----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.