Skip to content
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

#582: Document automatic release process #591

Merged
merged 1 commit into from
Oct 21, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions doc/changes/changes_4.3.4.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,10 @@ The release ignores vulnerability CVE-2023-7272 in transitive runtime dependency
* #587: Fixed vulnerability CVE-2024-47554 in test dependency `commons-io:commons-io:2.13.0`
* #588: Ignore vulnerability CVE-2023-7272 in runtime dependency `org.glassfish:javax.json:1.1.4`

### Documentation

* #582: Documented automatic release process in user guide
kaklakariada marked this conversation as resolved.
Show resolved Hide resolved

## Dependency Updates

### Project Keeper Root Project
Expand Down
17 changes: 16 additions & 1 deletion doc/user_guide/user_guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -170,6 +170,8 @@ The following artifacts are automatically verified and attached to the release a
* [Error Code Report `error_code_report.json`](#error-code-report-error_code_reportjson)
* [Custom release artifacts](#custom-release-artifacts)

See details about the [automatic release process](#automatic-release-process).

#### JAR Artifacts for Maven Projects

When you enable module `jar_artifact` for a source, PK will configure `maven-assembly-plugin` in the generated parent POM. You only need to configure the actual artifact name in file `pom.xml`:
Expand Down Expand Up @@ -491,6 +493,19 @@ cd path/to/project

The standalone variant supports the same goals as the Maven plugin: `fix`, `verify` and `update-dependencies`.

### Automatic Release Process

GitHub Workflow [`release.yml`](#releaseyml) will automatically release the project when `ci-build.yml` succeeded on `main` branch and the changes file contains an up-to-date release date. In case of problems you can start the workflow manually on GitHub and skip the release to Maven Central or GitHub if necessary.

To check if a project meets all preconditions for an automatic release, run PK goal `verify-release`:
kaklakariada marked this conversation as resolved.
Show resolved Hide resolved

```sh
# Maven
mvn com.exasol:project-keeper-maven-plugin:verify-release
# Standalone:
./.github/workflows/project-keeper.sh verify-release
```

## Generated GitHub Workflows

PK generates the following GitHub scheduled Workflows:
Expand All @@ -515,7 +530,7 @@ This workflow runs for each change of a Pull Request and whenever a Pull Request

### [`release.yml`](../../project-keeper/src/main/resources/templates/.github/workflows/release.yml)

This workflow is triggered manually or by workflow [`ci-build.yml`](). It verifies that all preconditions for a release are met and performs the release.
This workflow is triggered manually or by workflow [`ci-build.yml`](#ci-buildyml). It verifies that all preconditions for a release are met and performs the release.

In order to send notifications, this workflow requires GitHub secret `INTEGRATION_TEAM_SLACK_NOTIFICATION_WEBHOOK`.

Expand Down
Loading