mirror of
https://github.com/Alfresco/alfresco-transform-core.git
synced 2025-05-12 17:04:48 +00:00
60 lines
2.4 KiB
Markdown
60 lines
2.4 KiB
Markdown
# Build
|
|
The `alfresco-transform-core` project uses _GitHub Actions CI_. \
|
|
The `ci.yml` config file can be found in the `.github/workflows` directory of the project.
|
|
|
|
|
|
## Stages and Jobs
|
|
1. **Build**: Java build with unit and integration tests.
|
|
2. **Release**: Release with artifact deployment to Nexus, DockerHub and Quay.io.
|
|
|
|
|
|
## Branches
|
|
GitHub Actions CI builds differ by branch:
|
|
* `master` / `SP/*` / `HF/*` branches:
|
|
- regular builds which include the _Build_ stage;
|
|
> On the `master` branch only the _Build_ stage updates the `latest` T-Engines images on
|
|
> both Quay and DockerHub:
|
|
> - alfresco/alfresco-pdf-renderer
|
|
> - alfresco/alfresco-imagemagick
|
|
> - alfresco/alfresco-tika
|
|
> - alfresco/alfresco-libreoffice
|
|
> - alfresco/alfresco-transform-misc
|
|
> - alfresco/alfresco-transform-core-aio
|
|
- if the commit message contains the `[release]` tag, the builds will also
|
|
include the _Release_ stage;
|
|
* `ATS-*` / `ACS-*` branches:
|
|
- regular builds which include only the _Build_ and _Tests_ stages;
|
|
|
|
All other branches are ignored.
|
|
|
|
|
|
## Release process steps & info
|
|
Prerequisites:
|
|
- the `master` / `SP/*` / `HF/*` branch is green and it contains all the changes that should be
|
|
included in the next release.
|
|
|
|
Steps:
|
|
1. Create a new branch with the name `ATS-###_release_version` from the `master` / `SP/*`/ `HF/*`
|
|
branch.
|
|
2. Update the project version if the current POM version is not the next desired release; use a
|
|
maven command, i.e.
|
|
```bash
|
|
mvn versions:set -DnewVersion=#.##.#-SNAPSHOT versions:commit
|
|
```
|
|
3. Update the project's dependencies (remove the `-SNAPSHOT` suffixes - only for dependencies, not
|
|
for the local project version).
|
|
4. Create a new commit with the `[release]` tag in its message. If no local changes have
|
|
been generated by steps (2) and (3), then an empty commit should be created - e.g.
|
|
```bash
|
|
git commit --allow-empty -m "ATS-###: Release T-Core (T-Engines) #.##.# [release]"
|
|
```
|
|
|
|
> The location of the `[release]` tag in the commit message is irrelevant.
|
|
|
|
5. Open a new Pull Request from the `ATS-###_release_version` branch into the original
|
|
`master` / `SP/*` / `HF/*` branch and wait for a green build.
|
|
6. Once it is approved, merge the PR, preferably through the **Rebase and merge** option. If the
|
|
**Create a merge commit** (_Merge pull request_) or **Squash and merge** options are used, you
|
|
need to ensure that the _commit message_ contains the `[release]` tag (sub-string).
|
|
|