The alfresco-transform-core
project uses Travis CI.
The .travis.yml
config file can be found in the root of the repository.
- Build: Java build with unit tests, integration tests and WhiteSource scan.
- Release: Release with artifact deployment to Nexus and AWS Staging bucket.
- Company Release: Artifact deployment to AWS Release bucket.
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;
company_release
branch:- builds that include the Company Release stage only.
- the
company_release
branch should be used for one-off events; once used (a build completes), the branch should be deleted.
All other branches are ignored.
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).
Prerequisites:
- The Release stage is complete - i.e. the release commit is tagged and the release artifacts are deployed on Nexus.
Steps:
- Create a new
company_release
branch from themaster
/SP/*
/HF/*
branch. This job uses the latest branch git tag to identify the version that must be uploaded to the S3 release bucket. - Wait for a green build on the branch.
- Delete local and remote
company_release
branch.