Git Product home page Git Product logo

spring-aot-smoke-tests's Introduction

Spring AOT Smoke Tests Revved up by Develocity

Smoke tests for Spring’s ahead-of-time (AOT) and GraalVM native image support. Results are published to a 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' 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 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:

spring-aot-smoke-tests
├── 3.0.x
├── 3.1.x
├── 3.2.x
├── ci
└── main

Initial Setup

To create this directory structure, first clone the repository into a directory named ci:

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, and main branches:

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 ../main main

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:

./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.

spring-aot-smoke-tests's People

Contributors

wilkinsona avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

spring-aot-smoke-tests's Issues

Quieten output from native-image-plugin

Even when running a single smoke test, native-image-plugin outputs five lines per smoke test:

> Configure project :actuator-webflux
[native-image-plugin] Instrumenting task with the native-image-agent: bootRun
[native-image-plugin] Instrumenting task with the native-image-agent: generateAotSources
[native-image-plugin] Instrumenting task with the native-image-agent: jvmAotTest
[native-image-plugin] Instrumenting task with the native-image-agent: nativeAotTest
[native-image-plugin] Instrumenting task with the native-image-agent: test

> Configure project :actuator-webmvc
[native-image-plugin] Instrumenting task with the native-image-agent: bootRun
[native-image-plugin] Instrumenting task with the native-image-agent: generateAotSources
[native-image-plugin] Instrumenting task with the native-image-agent: jvmAotTest
[native-image-plugin] Instrumenting task with the native-image-agent: nativeAotTest
[native-image-plugin] Instrumenting task with the native-image-agent: test

> Configure project :aspect
[native-image-plugin] Instrumenting task with the native-image-agent: bootRun
[native-image-plugin] Instrumenting task with the native-image-agent: generateAotSources
[native-image-plugin] Instrumenting task with the native-image-agent: jvmAotTest
…

It would be nice to silence this output if we can.

Run a smoke test against a local Gradle build

Running a smoke test against local change is quite helpful to validate that a feature hasn't broken something (or a broken test now passes).

If the local change is built against Gradle, we could point to the directory of the project. For Maven, an option to add mavenLocal() would be nice.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.