* ACS-2499 Delete company release build stage. This never uploaded any software, and so was not particularly useful. The software and license report should be uploaded to S3 as part of the transform-service build. Also skip uploading anything to staging bucket.
2.9 KiB
Build
The alfresco-transform-core
project uses Travis CI.
The .travis.yml
config file can be found in the root of the repository.
Stages and Jobs
- Build: Java build with unit and integration tests.
- Release: Release with artifact deployment to Nexus, DockerHub and Quay.io.
Branches
Travis 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 thelatest
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
[trigger release]
tag, the builds will also include the Release stage; - PR builds where the latest commit contains the
[trigger release]
tag will execute dry runs of the release jobs (no artifacts will be published until the PR is actually merged).
- regular builds which include the Build stage;
ATS-*
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:
-
Create a new branch with the name
ATS-###_release_version
from themaster
/SP/*
/HF/*
branch. -
Update the project version if the current POM version is not the next desired release; use a maven command, i.e.
mvn versions:set -DnewVersion=#.##.#-SNAPSHOT versions:commit
-
Update the project's dependencies (remove the
-SNAPSHOT
suffixes - only for dependencies, not for the local project version). -
Create a new commit with the
[trigger 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.git commit --allow-empty -m "ATS-###: Release T-Core (T-Engines) #.##.# [trigger release]"
The location of the
[trigger release]
tag in the commit message is irrelevant.If for any reason your PR contains multiple commits, the commit with the
[trigger release]
tag should be the last (newest) one. This will trigger the Release dry runs. -
Open a new Pull Request from the
ATS-###_release_version
branch into the originalmaster
/SP/*
/HF/*
branch and wait for a green build; the Release stage on the PR build will only execute a Dry_Run of the release. -
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
[trigger release]
tag (sub-string).