Skip to content

Rework build and release process #9316

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
philwebb opened this issue May 25, 2017 · 5 comments
Closed

Rework build and release process #9316

philwebb opened this issue May 25, 2017 · 5 comments
Assignees
Labels
type: task A general task
Milestone

Comments

@philwebb
Copy link
Member

Out current build is quite complex due to the bamboo release process. We should try to simplify it, work out a way to do direct releases and try to pipeline it.

@philwebb
Copy link
Member Author

philwebb commented May 25, 2017

Things we'd like to do:

  • Support timestamped SNAPSHOT versions in published POMs (abandoned)
  • Make our published POMs simpler (use maven-flatten-plugin)
  • Allow parallel local build of the main projects (abandoned, too hard to read logs)
  • Allow parallel local build of the sample projects (abandoned, too hard to read logs)
  • Allow samples to be built without needing to build the main project
  • Stop doing fixup after release (e.g. 9327b58).
  • Release by simply tagging the repo (not doing this, but we can have a one-click release)
  • Make Gradle plugin build use m2 folder for concourse caching (no need, we can cache both folders now)

@philwebb
Copy link
Member Author

philwebb commented Aug 16, 2017

@philwebb philwebb self-assigned this Aug 16, 2017
@philwebb philwebb added this to the 2.0.0.M5 milestone Sep 20, 2017
@vpavic
Copy link
Contributor

vpavic commented Oct 3, 2017

Regarding the release process, I recently noticed that Boot 2.0.0.M4 (which was released on Sep 15th) wasn't published to SDKMAN so I wonder if something about that part of the process can be addressed here as well?

@wilkinsona
Copy link
Member

While we haven't been consistent here, the rule is that we only publish releases (and not milestones and release candidates) to SDKMAN.

@vpavic
Copy link
Contributor

vpavic commented Oct 3, 2017

I see, thanks for the info, I wasn't aware of that.

philwebb added a commit to philwebb/spring-boot that referenced this issue Oct 4, 2017
Ignore flattened POM files which will be generated once the build has
been reworked.

See spring-projectsgh-9316
philwebb added a commit to philwebb/spring-boot that referenced this issue Oct 4, 2017
Ignore `secrets.yml` so that if can be used to hold sensitive
credentials.

See spring-projectsgh-9316
philwebb added a commit to philwebb/spring-boot that referenced this issue Oct 4, 2017
Move projects to better reflect the way that Spring Boot is released.

The following projects are under `spring-boot-project`:

  - `spring-boot`
  - `spring-boot-autoconfigure`
  - `spring-boot-tools`
  - `spring-boot-starters`
  - `spring-boot-actuator`
  - `spring-boot-actuator-autoconfigure`
  - `spring-boot-test`
  - `spring-boot-test-autoconfigure`
  - `spring-boot-devtools`
  - `spring-boot-cli`

See spring-projectsgh-9316
philwebb added a commit to philwebb/spring-boot that referenced this issue Oct 4, 2017
Move integration and deployment tests under a single `spring-boot-tests`
module.

See spring-projectsgh-9316
philwebb added a commit to philwebb/spring-boot that referenced this issue Oct 4, 2017
Fix POMs following project relocations and apply CI friendly Maven
conventions.

See spring-projectsgh-9316
philwebb added a commit to philwebb/spring-boot that referenced this issue Oct 4, 2017
Update the Gradle plugin to use version information from the
flattened POM.xml files.

See spring-projectsgh-9316
philwebb added a commit to philwebb/spring-boot that referenced this issue Oct 4, 2017
Update `LoggingMainClassTimeWarningListener` to import individual
`Layout` inner classes. This fixes an odd javac parse issue that
otherwise occurs.

See spring-projectsgh-9316
philwebb added a commit to philwebb/spring-boot that referenced this issue Oct 4, 2017
Update launched Gradle options to include debug logging.

See spring-projectsgh-9316
philwebb added a commit to philwebb/spring-boot that referenced this issue Oct 4, 2017
Update sample POMs to follow CI friendly Maven conventions.

See spring-projectsgh-9316
philwebb added a commit to philwebb/spring-boot that referenced this issue Oct 4, 2017
Update `spring-boot-sample-ant` so that it works with the CI friendly
Maven POMs.

See spring-projectsgh-9316
philwebb added a commit to philwebb/spring-boot that referenced this issue Oct 4, 2017
Remove the Gradle builds that were provided with some of the sample
applications since they were never directly invoked.

See spring-projectsgh-9316
philwebb added a commit to philwebb/spring-boot that referenced this issue Oct 4, 2017
Delete `spring-boot-full-build` since it wont be necessary when we no
longer release from Bamboo.

See spring-projectsgh-9316
philwebb added a commit to philwebb/spring-boot that referenced this issue Oct 4, 2017
Update the Maven build so that a local artifact repository can be
specified. This will allow the CI server to build the samples and tests
using artifacts generated from an early job.

See spring-projectsgh-9316
philwebb added a commit to philwebb/spring-boot that referenced this issue Oct 4, 2017
Update the `spring-boot-deployment-tests` projects to use CI friendly
Maven files.

See spring-projectsgh-9316
philwebb added a commit to philwebb/spring-boot that referenced this issue Oct 4, 2017
Update deployment tests to allow more time for servers to start.

See spring-projectsgh-9316
philwebb added a commit to philwebb/spring-boot that referenced this issue Oct 4, 2017
Update the integration tests so that the version number is found using
the main POM.xml files. Without this change `${revision}` would be
used.

See spring-projectsgh-9316
philwebb added a commit to philwebb/spring-boot that referenced this issue Oct 4, 2017
Update integration test POMs to use CI friendly version numbers.

See spring-projectsgh-9316
philwebb added a commit to philwebb/spring-boot that referenced this issue Oct 4, 2017
Update integration tests so that they can use a custom local Maven
repository.

See spring-projectsgh-9316
philwebb added a commit to philwebb/spring-boot that referenced this issue Oct 4, 2017
Rename `spring-boot-integration-tests-embedded-servlet-container` to
`spring-boot-server-tests`.

See spring-projectsgh-9316
philwebb added a commit that referenced this issue Oct 4, 2017
Update the Gradle plugin to use version information from the
flattened POM.xml files.

See gh-9316
philwebb added a commit that referenced this issue Oct 4, 2017
Update `LoggingMainClassTimeWarningListener` to import individual
`Layout` inner classes. This fixes an odd javac parse issue that
otherwise occurs.

See gh-9316
philwebb added a commit that referenced this issue Oct 4, 2017
Update launched Gradle options to include debug logging.

See gh-9316
philwebb added a commit that referenced this issue Oct 4, 2017
Update sample POMs to follow CI friendly Maven conventions.

See gh-9316
philwebb added a commit that referenced this issue Oct 4, 2017
Update `spring-boot-sample-ant` so that it works with the CI friendly
Maven POMs.

See gh-9316
philwebb added a commit that referenced this issue Oct 4, 2017
Remove the Gradle builds that were provided with some of the sample
applications since they were never directly invoked.

See gh-9316
philwebb added a commit that referenced this issue Oct 4, 2017
Delete `spring-boot-full-build` since it wont be necessary when we no
longer release from Bamboo.

See gh-9316
philwebb added a commit that referenced this issue Oct 4, 2017
Update the Maven build so that a local artifact repository can be
specified. This will allow the CI server to build the samples and tests
using artifacts generated from an early job.

See gh-9316
philwebb added a commit that referenced this issue Oct 4, 2017
Update the `spring-boot-deployment-tests` projects to use CI friendly
Maven files.

See gh-9316
philwebb added a commit that referenced this issue Oct 4, 2017
Update deployment tests to allow more time for servers to start.

See gh-9316
philwebb added a commit that referenced this issue Oct 4, 2017
Update the integration tests so that the version number is found using
the main POM.xml files. Without this change `${revision}` would be
used.

See gh-9316
philwebb added a commit that referenced this issue Oct 4, 2017
Update integration test POMs to use CI friendly version numbers.

See gh-9316
philwebb added a commit that referenced this issue Oct 4, 2017
Update integration tests so that they can use a custom local Maven
repository.

See gh-9316
philwebb added a commit that referenced this issue Oct 4, 2017
Rename `spring-boot-integration-tests-embedded-servlet-container` to
`spring-boot-server-tests`.

See gh-9316
philwebb added a commit that referenced this issue Oct 4, 2017
Upgrade the Maven plugins used in the builds.

See gh-9316
philwebb added a commit that referenced this issue Oct 4, 2017
Allow longer for test responses to be returned.

See gh-9316
philwebb added a commit that referenced this issue Oct 4, 2017
philwebb added a commit that referenced this issue Oct 5, 2017
Add CI pipeline for builds and releases.

Fixes gh-9316
philwebb added a commit that referenced this issue Oct 5, 2017
philwebb added a commit that referenced this issue Oct 5, 2017
philwebb added a commit that referenced this issue Oct 5, 2017
Allow longer for test responses to be returned.

See gh-9316
philwebb added a commit that referenced this issue Oct 5, 2017
Add CI pipeline for builds and releases.

Fixes gh-9316
philwebb added a commit that referenced this issue Oct 5, 2017
philwebb added a commit that referenced this issue Oct 6, 2017
Update the module order so that the CLI is built after starters.

See gh-9316
philwebb added a commit that referenced this issue Oct 12, 2017
philwebb added a commit that referenced this issue Oct 12, 2017
philwebb added a commit that referenced this issue Oct 12, 2017
philwebb added a commit that referenced this issue Oct 12, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: task A general task
Projects
None yet
Development

No branches or pull requests

4 participants