feat(release): add changelog entry, GitHub Releases, lastPublished, a… - #640
feat(release): add changelog entry, GitHub Releases, lastPublished, a…#640fabisev wants to merge 5 commits into
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #640 +/- ##
=========================================
Coverage 65.79% 65.79%
Complexity 214 214
=========================================
Files 34 34
Lines 991 991
Branches 143 143
=========================================
Hits 652 652
Misses 287 287
Partials 52 52
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
| # (2) Parent version map — keyed only for modules other modules depend on. | ||
| case "$MODULE" in | ||
| aws-lambda-java-core) PROP=lambda.core.version ;; | ||
| aws-lambda-java-events) PROP=lambda.events.version ;; | ||
| aws-lambda-java-serialization) PROP=lambda.serialization.version ;; | ||
| *) PROP="" ;; |
There was a problem hiding this comment.
I don't like this hard mapping for different reasons.
- First are we assuming that we are can have multiple tags right? Is this a good experience?
- Why only those packages and not all the packages we are publishing on Maven.
- In the case we need a subset why don't you create a properties you can read from the pom that directly tells you if you need to read the version?
|
|
||
| <parent> | ||
| <groupId>com.amazonaws</groupId> | ||
| <artifactId>aws-lambda-java-libs-parent</artifactId> |
There was a problem hiding this comment.
I think you can just call it aws-java-libs, the "parentness" of that package is implied by the <parent/> tag.
| <properties> | ||
| <lambda.core.version>1.4.0</lambda.core.version> | ||
| <lambda.events.version>3.16.1</lambda.events.version> | ||
| <lambda.serialization.version>1.4.1</lambda.serialization.version> | ||
| </properties> |
There was a problem hiding this comment.
Why only those packages? Also double check their version.
| <dependencyManagement> | ||
| <dependencies> | ||
| <dependency> | ||
| <groupId>com.amazonaws</groupId> | ||
| <artifactId>aws-lambda-java-core</artifactId> | ||
| <version>${lambda.core.version}</version> | ||
| </dependency> | ||
| <dependency> | ||
| <groupId>com.amazonaws</groupId> | ||
| <artifactId>aws-lambda-java-events</artifactId> | ||
| <version>${lambda.events.version}</version> | ||
| </dependency> | ||
| <dependency> | ||
| <groupId>com.amazonaws</groupId> | ||
| <artifactId>aws-lambda-java-serialization</artifactId> | ||
| <version>${lambda.serialization.version}</version> | ||
| </dependency> | ||
| </dependencies> | ||
| </dependencyManagement> |
There was a problem hiding this comment.
I think in this file you can also define version number of transitive dependencies.
Issue #, if available: N/A
Description of changes:
Adds changelog + release-visibility improvements to the Maven Central release
workflow, plus maintainer docs.
.github/workflows/release.ymlchangelogEntryinput. It's prepended to the module'sRELEASE.CHANGELOG.md(committed into the version-bump PR) and used as theGitHub Release notes. Passed via env, never interpolated into the shell.
entry plus a link to the Maven Central artifact.
lastPublishedmarker in the POM (see below) on eachrelease.
Module POMs (
core,events,events-sdk-transformer,log4j2,serialization,tests)<!-- lastPublished: X -->comment under<version>recording thelast version published to Central, seeded with each module's current latest.
Informational only (Maven ignores it); auto-updated by the release workflow.
RELEASING.mdand failure handling.
No behavior change to the build itself. POMs validated as well-formed;
release.ymlvalidated as valid YAML.Target (OCI, Managed Runtime, both): both