mirror of
https://github.com/Alfresco/alfresco-sdk.git
synced 2026-09-16 18:13:23 +00:00
Compare commits
1
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1361691de0 |
@@ -1,7 +0,0 @@
|
||||
env:
|
||||
global:
|
||||
# Both variables are required to be set before the release process starts.
|
||||
# As the release is triggered by a commit message with "[release]" keyword,
|
||||
# setting these variables to new values can be done in the same commit and will indicate the release and the dev versions in it.
|
||||
- RELEASE_VERSION=4.17.0-A2
|
||||
- DEVELOPMENT_VERSION=4.17.0-A3-SNAPSHOT
|
||||
+26
-67
@@ -13,9 +13,6 @@ on:
|
||||
- feature/**
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
env:
|
||||
JAVA_VERSION: '21'
|
||||
MAVEN_USERNAME: ${{ secrets.NEXUS_USERNAME }}
|
||||
@@ -23,7 +20,6 @@ env:
|
||||
MAVEN_CENTRAL_USERNAME: ${{ secrets.OSS_SONATYPE_USERNAME }}
|
||||
MAVEN_CENTRAL_PASSWORD: ${{ secrets.OSS_SONATYPE_PASSWORD }}
|
||||
GITHUB_ACTIONS_DEPLOY_TIMEOUT: 90
|
||||
# Note: RELEASE_VERSION and DEVELOPMENT_VERSION are loaded from .github/release-versions.yml
|
||||
|
||||
jobs:
|
||||
pre_commit:
|
||||
@@ -31,6 +27,25 @@ jobs:
|
||||
steps:
|
||||
- uses: Alfresco/alfresco-build-tools/.github/actions/pre-commit@v15.7.1
|
||||
|
||||
veracode_sca:
|
||||
name: "Veracode - Source Clear Scan (SCA)"
|
||||
runs-on: ubuntu-latest
|
||||
if: >
|
||||
github.ref_name == 'master' ||
|
||||
github.event_name == 'pull_request'
|
||||
steps:
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v15.7.1
|
||||
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v15.7.1
|
||||
with:
|
||||
java-version: ${{ env.JAVA_VERSION }}
|
||||
- name: "Clean-up SNAPSHOT artifacts"
|
||||
run: find "${HOME}/.m2/repository/" -type d -name "*-SNAPSHOT*" | xargs -r -l rm -rf
|
||||
- uses: Alfresco/alfresco-build-tools/.github/actions/veracode@v15.7.1
|
||||
continue-on-error: true
|
||||
with:
|
||||
srcclr-api-token: ${{ secrets.SRCCLR_API_TOKEN }}
|
||||
|
||||
build:
|
||||
name: "Build application"
|
||||
runs-on: ubuntu-latest
|
||||
@@ -71,6 +86,9 @@ jobs:
|
||||
- name: "25.4 Enterprise Java 17"
|
||||
java-version: 17
|
||||
suite: -Penterprise-254-tests
|
||||
- name: "25.4 Community Java 17"
|
||||
java-version: 17
|
||||
suite: -Pcommunity-254-tests
|
||||
- name: "25.2 Enterprise Java 17"
|
||||
java-version: 17
|
||||
suite: -Penterprise-252-tests
|
||||
@@ -142,69 +160,16 @@ jobs:
|
||||
- name: "Build"
|
||||
run: mvn clean install -B ${{ matrix.suite }}
|
||||
|
||||
release:
|
||||
name: "Release"
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: write
|
||||
needs: [tests]
|
||||
outputs:
|
||||
release_tag: ${{ steps.release_meta.outputs.release_tag }}
|
||||
env:
|
||||
MAVEN_USERNAME: ${{ secrets.NEXUS_USERNAME }}
|
||||
MAVEN_PASSWORD: ${{ secrets.NEXUS_PASSWORD }}
|
||||
if: >
|
||||
needs.tests.result == 'success' &&
|
||||
(github.ref_name == 'master' || startsWith(github.ref_name, 'fix/') || startsWith(github.ref_name, 'feature/')) &&
|
||||
!contains(github.event.head_commit.message, '[no release]') &&
|
||||
github.event_name != 'pull_request' &&
|
||||
contains(github.event.head_commit.message, '[release]')
|
||||
steps:
|
||||
- name: "Generate GitHub App token"
|
||||
id: app-token
|
||||
uses: actions/create-github-app-token@bcd2ba49218906704ab6c1aa796996da409d3eb1 # v3.2.0
|
||||
with:
|
||||
client-id: ${{ vars.GH_APP_ENGINEERING_CONTRIB_CLIENT_ID }}
|
||||
private-key: ${{ secrets.GH_APP_ENGINEERING_CONTRIB_PRIVATE_KEY }}
|
||||
permission-contents: write
|
||||
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||
with:
|
||||
token: ${{ steps.app-token.outputs.token }}
|
||||
fetch-depth: 0
|
||||
- uses: Alfresco/alfresco-build-tools/.github/actions/env-load-from-yaml@v18.21.2
|
||||
with:
|
||||
yml_path: .github/release-versions.yml
|
||||
- name: "Export release metadata"
|
||||
id: release_meta
|
||||
run: echo "release_tag=${RELEASE_VERSION}" >> "$GITHUB_OUTPUT"
|
||||
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v18.21.2
|
||||
- uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v18.21.2
|
||||
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v18.21.2
|
||||
with:
|
||||
java-version: ${{ env.JAVA_VERSION }}
|
||||
- uses: Alfresco/alfresco-build-tools/.github/actions/maven-release-slim@v18.21.2
|
||||
with:
|
||||
token: ${{ steps.app-token.outputs.token }}
|
||||
release-version: ${{ env.RELEASE_VERSION }}
|
||||
development-version: ${{ env.DEVELOPMENT_VERSION }}
|
||||
maven-args: >
|
||||
-DskipTests
|
||||
-DbuildNumber=${{ github.run_number }}
|
||||
|
||||
check_version:
|
||||
name: "Check version"
|
||||
runs-on: ubuntu-latest
|
||||
needs: [tests, release]
|
||||
needs: [tests]
|
||||
if: >
|
||||
needs.tests.result == 'success' &&
|
||||
contains(github.event.head_commit.message, '[publish]') &&
|
||||
(needs.release.result == 'success' || needs.release.result == 'skipped')
|
||||
contains(github.event.head_commit.message, '[publish]')
|
||||
outputs:
|
||||
is_ga: ${{ steps.publish_version.outputs.is_ga }}
|
||||
steps:
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
ref: ${{ needs.release.outputs.release_tag || github.ref }}
|
||||
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v15.7.1
|
||||
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v15.7.1
|
||||
with:
|
||||
@@ -224,19 +189,13 @@ jobs:
|
||||
publish:
|
||||
name: "Publish artifacts"
|
||||
runs-on: ubuntu-latest
|
||||
needs: [tests, check_version, release]
|
||||
needs: [tests, check_version]
|
||||
if: >
|
||||
needs.tests.result == 'success' &&
|
||||
contains(github.event.head_commit.message, '[publish]') &&
|
||||
needs.check_version.result == 'success' &&
|
||||
needs.check_version.outputs.is_ga == 'true' &&
|
||||
(needs.release.result == 'success' || needs.release.result == 'skipped')
|
||||
contains(github.event.head_commit.message, '[publish]') && needs.check_version.outputs.is_ga == 'true'
|
||||
env:
|
||||
GPG_SIGNING_PASSPHRASE: ${{ secrets.GPG_SIGNING_PASSPHRASE }}
|
||||
steps:
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
ref: ${{ needs.release.outputs.release_tag || github.ref }}
|
||||
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v15.7.1
|
||||
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v15.7.1
|
||||
with:
|
||||
|
||||
@@ -14,7 +14,6 @@ This project is released under the [Apache License, Version 2.0](http://www.apac
|
||||
If you are an Enterprise customer check the [Support](#alfresco-enterprise-customers-and-partners-support) section.
|
||||
|
||||
## News
|
||||
- 2026-06: Alfresco SDK 4.16.0 released
|
||||
- 2026-03: Alfresco SDK 4.15.0 released
|
||||
- 2026-03: Alfresco SDK 4.14.0 released
|
||||
- 2026-01: Alfresco SDK 4.13.0 released
|
||||
@@ -86,7 +85,7 @@ the `alfresco.log` file has also been moved to a more appropriate location (Tomc
|
||||
|
||||
In Q4 2020, Alfresco Platform has undergone a major structural refactoring.
|
||||
|
||||
Depending on the Platform version desired, you might need to use SDK 4.1, 4.3, 4.4, 4.5, 4.6, 4.7, 4.8, 4.9, 4.10, 4.11, 4.12, 4.13, 4.14, 4.15 instead of SDK 4.16.0.
|
||||
Depending on the Platform version desired, you might need to use SDK 4.1, 4.3, 4.4, 4.5, 4.6, 4.7, 4.8, 4.9, 4.10, 4.11, 4.12, 4.13, 4.14 instead of SDK 4.15.0.
|
||||
|
||||
- For Enterprise and Community versions of 7.x, SDK 4.4 or higher must be used
|
||||
- For Enterprise versions of 6.0.x, 6.1.x, 6.2.x newer than November 2020, SDK 4.3 must be used
|
||||
@@ -102,34 +101,33 @@ It's also important to remember that:
|
||||
- Enterprise Docker images are published on *Quay.io*
|
||||
|
||||
### Latest Documentation
|
||||
To get started with **Alfresco SDK 4.16.x** (latest) visit the [Alfresco Documentation](docs/README.md).
|
||||
To get started with **Alfresco SDK 4.14.x** (latest) visit the [Alfresco Documentation](docs/README.md).
|
||||
|
||||
#### Documentation about Previous Versions
|
||||
| SDK Version | Alfresco Enterprise Version | Alfresco Community Version | Documentation |
|
||||
|-------------|:----------------------------------------------------------------------------------------------------------------------:|:-------------------------------------------------------------------------------------------------------------:|:---------------------------------------------------------------------------|
|
||||
| SDK 4.16.0 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x / 23.2.x / 23.3.x / 23.4.x / 25.1.x / 25.2.x / 25.4.x / 26.1.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x / 23.2.x / 23.3.x / 23.4.x / 25.1.x / 25.2.x / 26.1.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
|
||||
| SDK 4.15.0 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x / 23.2.x / 23.3.x / 23.4.x / 25.1.x / 25.2.x / 26.1.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x / 23.2.x / 23.3.x / 23.4.x / 25.1.x / 25.2.x / 26.1.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
|
||||
| SDK 4.14.0 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x / 23.2.x / 23.3.x / 23.4.x / 25.1.x / 25.2.x / 26.1.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x / 23.2.x / 23.3.x / 23.4.x / 25.1.x / 25.2.x / 26.1.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
|
||||
| SDK 4.13.0 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x / 23.2.x / 23.3.x / 23.4.x / 25.1.x / 25.2.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x / 23.2.x / 23.3.x / 23.4.x / 25.1.x / 25.2.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
|
||||
| SDK 4.12.0 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x / 23.2.x / 23.3.x / 23.4.x / 25.1.x / 25.2.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x / 23.2.x / 23.3.x / 23.4.x / 25.1.x / 25.2.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
|
||||
| SDK 4.11.0 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x / 23.2.x / 23.3.x / 23.4.x / 25.1.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.2.x / 23.3.x / 23.4.x / 25.1.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
|
||||
| SDK 4.10 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x / 23.2.x / 23.3.x / 23.4.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.2.x / 23.3.x / 23.4.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
|
||||
| SDK 4.9 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x / 23.2.x / 23.3.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.2.x / 23.3.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
|
||||
| SDK 4.8 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x / 23.2.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.2.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
|
||||
| SDK 4.7 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
|
||||
| SDK 4.6 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
|
||||
| SDK 4.5 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
|
||||
| SDK 4.4 | Alfresco 7.0.x / 7.1.x / 7.2.x | Alfresco 7.0.x / 7.1.x / 7.2.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
|
||||
| SDK 4.3 | Alfresco 6.0.x / 6.1.x / 6.2.x / 7.0.x / 7.1.x | Alfresco 7.0.x / 7.1.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
|
||||
| SDK 4.2 | Alfresco 6.0.x / 6.1.x / 6.2.x / 7.0.x | Alfresco 7.0.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
|
||||
| SDK 4.1 | Alfresco 6.0.x / 6.1.x / 6.2.x | Alfresco 6.0.x / 6.1.x / 6.2.x | https://github.com/Alfresco/alfresco-sdk/blob/sdk-4.1/docs/README.md |
|
||||
| SDK 4.0 | Alfresco 6.0.x / 6.1.x | Alfresco 6.0.x / 6.1.x | https://github.com/Alfresco/alfresco-sdk/blob/sdk-4.0/docs/README.md |
|
||||
| SDK 3.1 | Alfresco 5.2.x | Alfresco 5.2.x | http://docs.alfresco.com/5.2/concepts/sdk-intro.html |
|
||||
| SDK 3.0 | Alfresco 5.2.x | Alfresco 5.2.x | http://docs.alfresco.com/5.2/concepts/sdk-intro.html |
|
||||
| SDK 2.2 | Alfresco 5.1.x | Alfresco 5.1.x | https://docs.alfresco.com/5.1/concepts/alfresco-sdk-intro.html |
|
||||
| SDK 2.1 | Alfresco 5.0.1 | Alfresco 5.0.d | https://docs.alfresco.com/sdk2.1/concepts/alfresco-sdk-intro.html |
|
||||
| SDK 2.0 | Alfresco 5.0.0 | Alfresco 5.0.c | https://docs.alfresco.com/sdk2.0/concepts/alfresco-sdk-intro.html |
|
||||
| SDK 1.1.1 | Alfresco 4.2.x | Alfresco 4.2.x | https://docs.alfresco.com/4.2/concepts/dev-extensions-maven-sdk-intro.html |
|
||||
| SDK Version | Alfresco Enterprise Version | Alfresco Community Version | Documentation |
|
||||
|-------------|:------------------------------------------------------------------------------------------------------------:|:------------------------------------------------------------------------------------------------------------:|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| SDK 4.15.0 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x/ 23.2.x / 23.3.x / 23.4.x / 25.1.x / 25.2.x / 26.1.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x/ 23.2.x / 23.3.x / 23.4.x / 25.1.x / 25.2.x / 26.1.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
|
||||
| SDK 4.14.0 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x/ 23.2.x / 23.3.x / 23.4.x / 25.1.x / 25.2.x / 26.1.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x/ 23.2.x / 23.3.x / 23.4.x / 25.1.x / 25.2.x / 26.1.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
|
||||
| SDK 4.13.0 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x/ 23.2.x / 23.3.x / 23.4.x / 25.1.x / 25.2.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x/ 23.2.x / 23.3.x / 23.4.x / 25.1.x / 25.2.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
|
||||
| SDK 4.12.0 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x/ 23.2.x / 23.3.x / 23.4.x / 25.1.x / 25.2.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x/ 23.2.x / 23.3.x / 23.4.x / 25.1.x / 25.2.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
|
||||
| SDK 4.11.0 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x/ 23.2.x / 23.3.x / 23.4.x / 25.1.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.2.x / 23.3.x / 23.4.x / 25.1.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
|
||||
| SDK 4.10 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x/ 23.2.x / 23.3.x / 23.4.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.2.x / 23.3.x / 23.4.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
|
||||
| SDK 4.9 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x/ 23.2.x / 23.3.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.2.x / 23.3.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
|
||||
| SDK 4.8 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x/ 23.2.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.2.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
|
||||
| SDK 4.7 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
|
||||
| SDK 4.6 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
|
||||
| SDK 4.5 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
|
||||
| SDK 4.4 | Alfresco 7.0.x / 7.1.x / 7.2.x | Alfresco 7.0.x / 7.1.x / 7.2.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
|
||||
| SDK 4.3 | Alfresco 6.0.x / 6.1.x / 6.2.x / 7.0.x / 7.1.x | Alfresco 7.0.x / 7.1.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
|
||||
| SDK 4.2 | Alfresco 6.0.x / 6.1.x / 6.2.x / 7.0.x | Alfresco 7.0.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
|
||||
| SDK 4.1 | Alfresco 6.0.x / 6.1.x / 6.2.x | Alfresco 6.0.x / 6.1.x / 6.2.x | https://github.com/Alfresco/alfresco-sdk/blob/sdk-4.1/docs/README.md |
|
||||
| SDK 4.0 | Alfresco 6.0.x / 6.1.x | Alfresco 6.0.x / 6.1.x | https://github.com/Alfresco/alfresco-sdk/blob/sdk-4.0/docs/README.md |
|
||||
| SDK 3.1 | Alfresco 5.2.x | Alfresco 5.2.x | http://docs.alfresco.com/5.2/concepts/sdk-intro.html |
|
||||
| SDK 3.0 | Alfresco 5.2.x | Alfresco 5.2.x | http://docs.alfresco.com/5.2/concepts/sdk-intro.html |
|
||||
| SDK 2.2 | Alfresco 5.1.x | Alfresco 5.1.x | https://docs.alfresco.com/5.1/concepts/alfresco-sdk-intro.html |
|
||||
| SDK 2.1 | Alfresco 5.0.1 | Alfresco 5.0.d | https://docs.alfresco.com/sdk2.1/concepts/alfresco-sdk-intro.html |
|
||||
| SDK 2.0 | Alfresco 5.0.0 | Alfresco 5.0.c | https://docs.alfresco.com/sdk2.0/concepts/alfresco-sdk-intro.html |
|
||||
| SDK 1.1.1 | Alfresco 4.2.x | Alfresco 4.2.x | https://docs.alfresco.com/4.2/concepts/dev-extensions-maven-sdk-intro.html |
|
||||
|
||||
## Reporting Issues and Community Support
|
||||
Report issues (and contribute!) [here](https://github.com/Alfresco/alfresco-sdk/issues?milestone=1&state=open) or join us on the [IRC Channel](http://chat.alfresco.com/).
|
||||
@@ -177,6 +175,16 @@ To test new unreleased (unsupported) features, you can use the following snippet
|
||||
## For Developers that want to contribute to the SDK
|
||||
See the [Developers Wiki page](https://github.com/Alfresco/alfresco-sdk/wiki/Developer-Wiki).
|
||||
|
||||
## Releasing the SDK
|
||||
## Publishing the release on Maven Central
|
||||
- Manually change the version from SNAPSHOT to final (eg. when releasing SDK 4.16.0, replacing all the occurrences of 4.16.0-SNAPSHOT with 4.16.0)
|
||||
|
||||
See [docs/release-process.md](docs/release-process.md) for the current automated release process (Nexus, verified commits, tags, and Maven Central publishing).
|
||||
- Commit and push changes to GitHub with the commit message [publish], then it will automatically publish your artifacts to maven central
|
||||
- Only GA versions is published to maven central, there is a check in the CI pipeline (called "check_version") to check if the version is non-GA or not, and if it's not, it will skip the "publish" step. Therefore, only "number.number.number" versions will be published to maven central, and any version with a suffix (eg. -Ax, -SNAPSHOT, -RC1, -beta-1) will not be published to maven central.
|
||||
|
||||
At this point, we need to manually proceed with the remaining steps:
|
||||
|
||||
1- Manually create a release tag on GitHub
|
||||
|
||||
2- Manually change the version from final to next SNAPSHOT (eg. replacing all the occurrences of 4.15.0-SNAPSHOT with 4.16.0 (in pom.xml, not in READMEs - if not needed)
|
||||
|
||||
3- Commit and push on GitHub
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco.maven</groupId>
|
||||
<artifactId>alfresco-sdk-aggregator</artifactId>
|
||||
<version>4.17.0-A3-SNAPSHOT</version>
|
||||
<version>4.16.0-A2</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
+2
-2
@@ -5,8 +5,8 @@
|
||||
<groupId>${groupId}</groupId>
|
||||
<artifactId>${artifactId}</artifactId>
|
||||
<version>${version}</version>
|
||||
<name>AIO - SDK 4.16.0</name>
|
||||
<description>All-In-One (AIO) project for SDK 4.16.0</description>
|
||||
<name>AIO - SDK 4.16.0-A2</name>
|
||||
<description>All-In-One (AIO) project for SDK 4.16.0-A2</description>
|
||||
<packaging>pom</packaging>
|
||||
|
||||
<prerequisites>
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco.maven</groupId>
|
||||
<artifactId>alfresco-sdk-aggregator</artifactId>
|
||||
<version>4.17.0-A3-SNAPSHOT</version>
|
||||
<version>4.16.0-A2</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco.maven</groupId>
|
||||
<artifactId>alfresco-sdk-aggregator</artifactId>
|
||||
<version>4.17.0-A3-SNAPSHOT</version>
|
||||
<version>4.16.0-A2</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco.maven</groupId>
|
||||
<artifactId>alfresco-sdk-aggregator</artifactId>
|
||||
<version>4.17.0-A3-SNAPSHOT</version>
|
||||
<version>4.16.0-A2</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@@ -1,158 +0,0 @@
|
||||
# Alfresco SDK release process
|
||||
|
||||
This document describes how to release the Alfresco SDK using the automated CI pipeline introduced in [ACS-12085](https://hyland.atlassian.net/browse/ACS-12085).
|
||||
|
||||
Releases are performed on **`master`** via GitHub Actions. The pipeline uses [`maven-release-slim`](https://github.com/Alfresco/alfresco-build-tools) from Alfresco build-tools and a GitHub App installation token to create **verified** commits and tags.
|
||||
|
||||
## Version conventions
|
||||
|
||||
### Alpha versions (dot notation)
|
||||
|
||||
Alpha releases **must** use a dot between `A` and the alpha number:
|
||||
|
||||
| Correct | Incorrect |
|
||||
|---------|-----------|
|
||||
| `4.17.0-A.1` | `4.17.0-A1` |
|
||||
| `4.17.0-A.2` | `4.17.0-A2` |
|
||||
|
||||
Use this format in `RELEASE_VERSION`, Git tags, and Maven coordinates for all new alpha releases.
|
||||
|
||||
### Next development version (`-SNAPSHOT`)
|
||||
|
||||
`DEVELOPMENT_VERSION` **must** include the `-SNAPSHOT` suffix. This is the version written to all POMs after the release completes.
|
||||
|
||||
| Correct | Incorrect |
|
||||
|---------|-----------|
|
||||
| `4.17.0-A.3-SNAPSHOT` | `4.17.0-A.3` |
|
||||
| `4.18.0-SNAPSHOT` | `4.18.0` |
|
||||
|
||||
This applies to both alpha and GA release cycles.
|
||||
|
||||
## Overview
|
||||
|
||||
| Step | Trigger | CI job | Result |
|
||||
|------|---------|--------|--------|
|
||||
| Alpha / Nexus release | `[release]` in commit message | `release` | Deploy to Alfresco Nexus, Git tag, verified bot commits |
|
||||
| GA Maven Central publish | `[publish]` in commit message | `publish` | Publish to Maven Central (GA versions only) |
|
||||
|
||||
Alpha releases (for example `4.17.0-A.2`) are deployed to **Nexus only**. GA releases (for example `4.17.0`) can additionally be published to **Maven Central** using `[publish]`.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- Merge your changes to **`master`** (or use a PR merged to `master`).
|
||||
- Ensure CI tests pass. Do not use `[skip tests]` on a release commit.
|
||||
- Confirm the repository has the `GH_APP_ENGINEERING_CONTRIB_CLIENT_ID` variable and `GH_APP_ENGINEERING_CONTRIB_PRIVATE_KEY` secret configured (DevOps).
|
||||
- Protected branches must allow verified commits from the engineering-contrib GitHub App.
|
||||
|
||||
## Configure release versions
|
||||
|
||||
Version numbers are **not** stored in `.github/workflows/ci.yml`. They live in [`.github/release-versions.yml`](../.github/release-versions.yml):
|
||||
|
||||
```yaml
|
||||
env:
|
||||
global:
|
||||
- RELEASE_VERSION=4.17.0-A.2
|
||||
- DEVELOPMENT_VERSION=4.17.0-A.3-SNAPSHOT
|
||||
```
|
||||
|
||||
| Variable | Purpose | Example (alpha) | Example (GA) |
|
||||
|----------|---------|-----------------|--------------|
|
||||
| `RELEASE_VERSION` | Version to release and tag | `4.17.0-A.2` | `4.17.0` |
|
||||
| `DEVELOPMENT_VERSION` | Next development version written to POMs after release (must end with `-SNAPSHOT`) | `4.17.0-A.3-SNAPSHOT` | `4.18.0-SNAPSHOT` |
|
||||
|
||||
Update both values in the **same commit** that triggers the release. The GitHub App bot does **not** modify this file; you must update it again before the next release.
|
||||
|
||||
> **Note:** Release versions are kept in `.github/release-versions.yml` (not in workflow files) so the GitHub App token does not require `workflows: write` permission.
|
||||
|
||||
## Alpha release (Nexus)
|
||||
|
||||
Example: release `4.17.0-A.3` when `master` is on `4.17.0-A.3-SNAPSHOT`.
|
||||
|
||||
1. Update [`.github/release-versions.yml`](../.github/release-versions.yml):
|
||||
|
||||
```yaml
|
||||
- RELEASE_VERSION=4.17.0-A.3
|
||||
- DEVELOPMENT_VERSION=4.17.0-A.4-SNAPSHOT
|
||||
```
|
||||
|
||||
2. Commit and push to **`master`** with `[release]` in the commit message, for example:
|
||||
|
||||
```text
|
||||
[release] Alfresco SDK 4.17.0-A.3 alpha
|
||||
```
|
||||
|
||||
3. Wait for the CI workflow to finish. The `release` job runs only when:
|
||||
- Tests succeed
|
||||
- The branch is `master`, `fix/**`, or `feature/**`
|
||||
- The commit message contains `[release]`
|
||||
- The commit message does **not** contain `[no release]`
|
||||
|
||||
### What happens automatically
|
||||
|
||||
When the `release` job succeeds, CI will:
|
||||
|
||||
1. Set all POM versions to `RELEASE_VERSION`
|
||||
2. Deploy artifacts to Alfresco Nexus
|
||||
3. Create a **verified** bot commit for the release version
|
||||
4. Create a Git tag named exactly `RELEASE_VERSION` (for example `4.17.0-A.3`)
|
||||
5. Set all POM versions to `DEVELOPMENT_VERSION`
|
||||
6. Create a **verified** bot commit for the next development version
|
||||
|
||||
You should **not** manually create Git tags or manually bump POM versions for the release and post-release commits; the pipeline handles that.
|
||||
|
||||
### After an alpha release
|
||||
|
||||
On `master` you should see:
|
||||
|
||||
- Git tag: `4.17.0-A.3` (plain version string from `RELEASE_VERSION`)
|
||||
- Two new **Verified** commits from the engineering-contrib bot
|
||||
- Root POM version: `4.17.0-A.4-SNAPSHOT`
|
||||
- Artifacts on Alfresco Nexus for `4.17.0-A.3`
|
||||
|
||||
## GA release and Maven Central
|
||||
|
||||
For a GA release (version matching `major.minor.patch` with no suffix):
|
||||
|
||||
1. Update [`.github/release-versions.yml`](../.github/release-versions.yml), for example:
|
||||
|
||||
```yaml
|
||||
- RELEASE_VERSION=4.17.0
|
||||
- DEVELOPMENT_VERSION=4.18.0-SNAPSHOT
|
||||
```
|
||||
|
||||
2. Push to **`master`** with both keywords in the **same** commit message:
|
||||
|
||||
```text
|
||||
[release][publish] Alfresco SDK 4.17.0
|
||||
```
|
||||
|
||||
To publish to Maven Central as part of the GA release, include `[publish]` in the **same** commit message as `[release]` so the workflow can publish the tagged `RELEASE_VERSION`.
|
||||
|
||||
A standalone `[publish]` commit (without `[release]`) will publish only if the POM version on that commit is already GA. After a release run, `master` is typically bumped to `DEVELOPMENT_VERSION` (`-SNAPSHOT`), so a later `[publish]` commit will be skipped by `check_version`.
|
||||
|
||||
The `check_version` job verifies the version matches `^\d+\.\d+\.\d+$` before Maven Central publish runs. Alpha, SNAPSHOT, RC, and other suffixed versions are skipped.
|
||||
|
||||
## Commit message keywords
|
||||
|
||||
| Keyword | Effect |
|
||||
|---------|--------|
|
||||
| `[release]` | Run the automated Nexus release |
|
||||
| `[publish]` | Attempt Maven Central publish (GA only) |
|
||||
| `[no release]` | Skip the release job even if `[release]` would otherwise match |
|
||||
| `[skip tests]` | Skip tests (do **not** use on release commits) |
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
| Symptom | Likely cause |
|
||||
|---------|----------------|
|
||||
| Release job skipped | No `[release]` in commit message, wrong branch, or tests failed/skipped |
|
||||
| App token step fails | GitHub App credentials not configured on the repository |
|
||||
| Verified commit rejected | Branch protection or App permissions |
|
||||
| Tag already exists | `RELEASE_VERSION` was released before |
|
||||
| Maven Central skipped | Non-GA version, or missing `[publish]` |
|
||||
|
||||
## Related files
|
||||
|
||||
- [`.github/workflows/ci.yml`](../.github/workflows/ci.yml) — CI pipeline
|
||||
- [`.github/release-versions.yml`](../.github/release-versions.yml) — release version configuration
|
||||
- [Alfresco build-tools `maven-release-slim`](https://github.com/Alfresco/alfresco-build-tools)
|
||||
@@ -10,7 +10,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco.maven</groupId>
|
||||
<artifactId>alfresco-sdk-aggregator</artifactId>
|
||||
<version>4.17.0-A3-SNAPSHOT</version>
|
||||
<version>4.16.0-A2</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco.maven</groupId>
|
||||
<artifactId>alfresco-sdk-aggregator</artifactId>
|
||||
<version>4.17.0-A3-SNAPSHOT</version>
|
||||
<version>4.16.0-A2</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
@@ -81,7 +81,7 @@
|
||||
<dependency>
|
||||
<groupId>org.apache.maven</groupId>
|
||||
<artifactId>maven-archiver</artifactId>
|
||||
<version>3.6.6</version>
|
||||
<version>3.6.0</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<artifactId>maven-core</artifactId>
|
||||
@@ -92,7 +92,7 @@
|
||||
<dependency>
|
||||
<groupId>org.codehaus.plexus</groupId>
|
||||
<artifactId>plexus-archiver</artifactId>
|
||||
<version>4.12.0</version>
|
||||
<version>4.11.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.maven</groupId>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>org.alfresco.maven</groupId>
|
||||
<artifactId>alfresco-sdk-aggregator</artifactId>
|
||||
<version>4.17.0-A3-SNAPSHOT</version>
|
||||
<version>4.16.0-A2</version>
|
||||
<name>Alfresco SDK</name>
|
||||
<description>This aggregator Project builds all modules required for the Alfresco SDK</description>
|
||||
<packaging>pom</packaging>
|
||||
@@ -291,13 +291,25 @@
|
||||
</profile>
|
||||
|
||||
<!-- 25.4 -->
|
||||
<profile>
|
||||
<id>community-254-tests</id>
|
||||
<properties>
|
||||
<alfresco.bomDependency.artifactId>acs-community-packaging</alfresco.bomDependency.artifactId>
|
||||
<alfresco.platform.version>25.4.0-A.10</alfresco.platform.version>
|
||||
<alfresco.share.docker.version>25.4.0-A.10</alfresco.share.docker.version>
|
||||
<alfresco.share.version>25.4.0.53</alfresco.share.version>
|
||||
<alfresco.platform.docker.image>alfresco/alfresco-content-repository-community</alfresco.platform.docker.image>
|
||||
<alfresco.share.docker.image>alfresco/alfresco-share</alfresco.share.docker.image>
|
||||
<alfresco.platform.docker.user>alfresco</alfresco.platform.docker.user>
|
||||
</properties>
|
||||
</profile>
|
||||
<profile>
|
||||
<id>enterprise-254-tests</id>
|
||||
<properties>
|
||||
<alfresco.bomDependency.artifactId>acs-packaging</alfresco.bomDependency.artifactId>
|
||||
<alfresco.platform.version>25.4.0</alfresco.platform.version>
|
||||
<alfresco.share.docker.version>25.4.0</alfresco.share.docker.version>
|
||||
<alfresco.share.version>25.4.0.61</alfresco.share.version>
|
||||
<alfresco.platform.version>25.4.0-A.10</alfresco.platform.version>
|
||||
<alfresco.share.docker.version>25.4.0-A.10</alfresco.share.docker.version>
|
||||
<alfresco.share.version>25.4.0.53</alfresco.share.version>
|
||||
<alfresco.platform.docker.image>quay.io/alfresco/alfresco-content-repository</alfresco.platform.docker.image>
|
||||
<alfresco.share.docker.image>quay.io/alfresco/alfresco-share</alfresco.share.docker.image>
|
||||
<alfresco.platform.docker.user>alfresco</alfresco.platform.docker.user>
|
||||
@@ -449,22 +461,6 @@
|
||||
</profile>
|
||||
</profiles>
|
||||
|
||||
<!--
|
||||
Date: 12-06-2026
|
||||
Force transitive dependencies to safe versions.
|
||||
Remove this when bumping the "alfresco-repository" 26.2 GA in the future,
|
||||
as the fixed version of plexus-utils will be included in the dependency tree of the project.
|
||||
-->
|
||||
<dependencyManagement>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.codehaus.plexus</groupId>
|
||||
<artifactId>plexus-utils</artifactId>
|
||||
<version>3.6.1</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</dependencyManagement>
|
||||
|
||||
<build>
|
||||
<pluginManagement>
|
||||
<plugins>
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
# To avoid the provided dependencies we set the scope to runtime. See: https://docs.veracode.com/r/c_sc_scan_directives
|
||||
# runtime: to restrict the scan to compile and runtime dependencies.
|
||||
scope: runtime
|
||||
Reference in New Issue
Block a user