Release #40
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Release | |
on: | |
workflow_dispatch: | |
inputs: | |
previous_released_version: | |
description: "The value of the previous version released. Used only to generate the Changelog" | |
required: false | |
default: "Ex: 6.2.0.Final" | |
type: string | |
release_version: | |
description: "The value of the version to be released" | |
required: true | |
default: "Ex: 6.3.0.Final" | |
type: string | |
next_development_version: | |
description: "The value of the next version to be developed" | |
required: true | |
default: "Ex: 6.4.0-SNAPSHOT" | |
type: string | |
branch: | |
description: "The branch to use when releasing" | |
required: true | |
default: "master" | |
type: string | |
jobs: | |
windup: | |
uses: ./.github/workflows/release-template.yml | |
with: | |
owner: windup | |
repository: windup | |
previous_released_version: ${{ github.event.inputs.previous_released_version }} | |
release_version: ${{ github.event.inputs.release_version }} | |
next_development_version: ${{ github.event.inputs.next_development_version }} | |
branch: ${{ github.event.inputs.branch }} | |
jreleaser_file: jreleaser/basic.yml | |
cache_key: windup | |
cache_key_to_restore: windup | |
secrets: | |
GITHUB_PAT: ${{ secrets.GH_PAT }} | |
NEXUS_USERNAME: ${{ secrets.NEXUS_USERNAME }} | |
NEXUS_PASSWORD: ${{ secrets.NEXUS_PASSWORD }} | |
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }} | |
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} | |
windup-rulesets: | |
needs: [ windup ] | |
uses: ./.github/workflows/release-template.yml | |
with: | |
owner: windup | |
repository: windup-rulesets | |
previous_released_version: ${{ github.event.inputs.previous_released_version }} | |
release_version: ${{ github.event.inputs.release_version }} | |
next_development_version: ${{ github.event.inputs.next_development_version }} | |
branch: ${{ github.event.inputs.branch }} | |
jreleaser_file: jreleaser/basic.yml | |
cache_key: windup-rulesets | |
cache_key_to_restore: windup | |
run_before: | | |
setNextVersion_windupRulesets | |
run_after: | | |
setNextVersion_windupRulesets | |
secrets: | |
GITHUB_PAT: ${{ secrets.GH_PAT }} | |
NEXUS_USERNAME: ${{ secrets.NEXUS_USERNAME }} | |
NEXUS_PASSWORD: ${{ secrets.NEXUS_PASSWORD }} | |
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }} | |
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} | |
windup-distribution: | |
needs: [ windup-rulesets ] | |
uses: ./.github/workflows/release-template.yml | |
with: | |
owner: windup | |
repository: windup-distribution | |
previous_released_version: ${{ github.event.inputs.previous_released_version }} | |
release_version: ${{ github.event.inputs.release_version }} | |
next_development_version: ${{ github.event.inputs.next_development_version }} | |
branch: ${{ github.event.inputs.branch }} | |
jreleaser_file: jreleaser/basic.yml | |
cache_key: windup-distribution | |
cache_key_to_restore: windup-rulesets | |
run_before: | | |
setNextVersion_windupDistribution | |
run_after: | | |
setNextVersion_windupDistribution | |
secrets: | |
GITHUB_PAT: ${{ secrets.GH_PAT }} | |
NEXUS_USERNAME: ${{ secrets.NEXUS_USERNAME }} | |
NEXUS_PASSWORD: ${{ secrets.NEXUS_PASSWORD }} | |
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }} | |
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} | |
windup-web: | |
needs: [ windup-distribution ] | |
uses: ./.github/workflows/release-template.yml | |
with: | |
owner: windup | |
repository: windup-web | |
previous_released_version: ${{ github.event.inputs.previous_released_version }} | |
release_version: ${{ github.event.inputs.release_version }} | |
next_development_version: ${{ github.event.inputs.next_development_version }} | |
branch: ${{ github.event.inputs.branch }} | |
jreleaser_file: jreleaser/basic.yml | |
cache_key: windup-web | |
cache_key_to_restore: windup-distribution | |
run_before: | | |
setNextVersion_windupWeb | |
run_after: | | |
setNextVersion_windupWeb | |
secrets: | |
GITHUB_PAT: ${{ secrets.GH_PAT }} | |
NEXUS_USERNAME: ${{ secrets.NEXUS_USERNAME }} | |
NEXUS_PASSWORD: ${{ secrets.NEXUS_PASSWORD }} | |
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }} | |
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} | |
windup-openshift: | |
needs: [ windup-web ] | |
uses: ./.github/workflows/release-template.yml | |
with: | |
owner: windup | |
repository: windup-openshift | |
previous_released_version: ${{ github.event.inputs.previous_released_version }} | |
release_version: ${{ github.event.inputs.release_version }} | |
next_development_version: ${{ github.event.inputs.next_development_version }} | |
branch: ${{ github.event.inputs.branch }} | |
jreleaser_file: jreleaser/basic.yml | |
cache_key: windup-openshift | |
cache_key_to_restore: windup-web | |
run_before: | | |
setNextVersion_windupOpenshift | |
groovy ./build/change_docker_image_tag.groovy ./templates/src/main/resources/web-template-empty-dir-executor.json ${{ github.event.inputs.release_version }} | |
groovy ./build/change_docker_image_tag.groovy ./templates/src/main/resources/web-template-empty-dir-executor-shared-storage.json ${{ github.event.inputs.release_version }} | |
run_after: | | |
setNextVersion_windupOpenshift | |
groovy ./build/change_docker_image_tag.groovy ./templates/src/main/resources/web-template-empty-dir-executor.json latest | |
groovy ./build/change_docker_image_tag.groovy ./templates/src/main/resources/web-template-empty-dir-executor-shared-storage.json latest | |
secrets: | |
GITHUB_PAT: ${{ secrets.GH_PAT }} | |
NEXUS_USERNAME: ${{ secrets.NEXUS_USERNAME }} | |
NEXUS_PASSWORD: ${{ secrets.NEXUS_PASSWORD }} | |
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }} | |
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} | |
windup-openshift-container-images: | |
needs: [ windup-openshift ] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
repository: windup/windup-openshift | |
token: ${{ secrets.GH_PAT }} | |
ref: ${{ github.event.inputs.release_version }} | |
- name: Setup Java | |
uses: actions/setup-java@v3 | |
with: | |
distribution: "temurin" | |
java-version: 11 | |
- name: Set up Maven | |
uses: stCarolas/[email protected] | |
with: | |
maven-version: 3.8.7 | |
- name: Cache local Maven repository | |
uses: actions/cache@v3 | |
with: | |
path: ~/.m2/repository | |
key: ${{ runner.os }}-maven-windup-openshift-container-images-${{ github.run_id }} | |
restore-keys: | | |
${{ runner.os }}-maven-windup-web-${{ github.run_id }} | |
- name: Login to Registry | |
uses: docker/login-action@v2 | |
with: | |
registry: quay.io | |
username: ${{ secrets.QUAYIO_USERNAME }} | |
password: ${{ secrets.QUAYIO_PASSWORD }} | |
- name: Create container images | |
run: | | |
mvn install -DskipTests \ | |
-Ddocker.name.windup.web=quay.io/windupeng/windup-web-openshift:$TAG \ | |
-Ddocker.name.windup.web.executor=quay.io/windupeng/windup-web-openshift-messaging-executor:$TAG \ | |
-Ddocker.name.windup.cli=quay.io/windupeng/windup-cli-openshift:$TAG \ | |
-Dmulti-arch -Djib.httpTimeout=0 | |
env: | |
TAG: ${{ github.event.inputs.release_version }} | |
- name: Push images to registry | |
run: | | |
docker image push --all-tags quay.io/windupeng/windup-web-openshift | |
docker image push --all-tags quay.io/windupeng/windup-web-openshift-messaging-executor | |
windup-web-distribution: | |
needs: [ windup-openshift ] | |
uses: ./.github/workflows/release-template.yml | |
with: | |
owner: windup | |
repository: windup-web-distribution | |
previous_released_version: ${{ github.event.inputs.previous_released_version }} | |
release_version: ${{ github.event.inputs.release_version }} | |
next_development_version: ${{ github.event.inputs.next_development_version }} | |
branch: ${{ github.event.inputs.branch }} | |
jreleaser_file: jreleaser/basic.yml | |
cache_key: windup-web-distribution | |
cache_key_to_restore: windup-openshift | |
run_before: | | |
setNextVersion_windupWebDistribution | |
run_after: | | |
setNextVersion_windupWebDistribution | |
secrets: | |
GITHUB_PAT: ${{ secrets.GH_PAT }} | |
NEXUS_USERNAME: ${{ secrets.NEXUS_USERNAME }} | |
NEXUS_PASSWORD: ${{ secrets.NEXUS_PASSWORD }} | |
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }} | |
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} | |
windup-maven-plugin: | |
needs: [ windup-web-distribution ] | |
uses: ./.github/workflows/release-template.yml | |
with: | |
owner: windup | |
repository: windup-maven-plugin | |
previous_released_version: ${{ github.event.inputs.previous_released_version }} | |
release_version: ${{ github.event.inputs.release_version }} | |
next_development_version: ${{ github.event.inputs.next_development_version }} | |
branch: ${{ github.event.inputs.branch }} | |
jreleaser_file: jreleaser/basic.yml | |
cache_key: windup-maven-plugin | |
cache_key_to_restore: windup-web-distribution | |
run_before: | | |
setNextVersion_windupMavenPlugin | |
run_after: | | |
setNextVersion_windupMavenPlugin | |
secrets: | |
GITHUB_PAT: ${{ secrets.GH_PAT }} | |
NEXUS_USERNAME: ${{ secrets.NEXUS_USERNAME }} | |
NEXUS_PASSWORD: ${{ secrets.NEXUS_PASSWORD }} | |
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }} | |
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} | |
windup-quickstarts: | |
needs: [ windup-maven-plugin ] | |
uses: ./.github/workflows/release-template.yml | |
with: | |
owner: windup | |
repository: windup-quickstarts | |
previous_released_version: ${{ github.event.inputs.previous_released_version }} | |
release_version: ${{ github.event.inputs.release_version }} | |
next_development_version: ${{ github.event.inputs.next_development_version }} | |
branch: ${{ github.event.inputs.branch }} | |
jreleaser_file: jreleaser/basic.yml | |
skip_maven_release: true # We just need tag repo but not to release to maven central | |
cache_key: windup-quickstarts-plugin | |
cache_key_to_restore: windup-maven-plugin | |
run_before: | | |
setNextVersion_windupQuickstarts | |
run_after: | | |
setNextVersion_windupQuickstarts | |
secrets: | |
GITHUB_PAT: ${{ secrets.GH_PAT }} | |
NEXUS_USERNAME: ${{ secrets.NEXUS_USERNAME }} | |
NEXUS_PASSWORD: ${{ secrets.NEXUS_PASSWORD }} | |
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }} | |
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} | |
windup-javadocs: | |
needs: [ windup ] | |
runs-on: ubuntu-latest | |
environment: windup-announcements | |
steps: | |
- name: Checkout CI | |
uses: actions/checkout@v3 | |
with: | |
path: ci | |
- uses: actions/checkout@v3 | |
with: | |
repository: windup/windup | |
token: ${{ secrets.GH_PAT }} | |
ref: ${{ github.event.inputs.release_version }} | |
path: windup | |
fetch-depth: 0 | |
- name: Setup Java | |
uses: actions/setup-java@v3 | |
with: | |
distribution: "temurin" | |
java-version: 11 | |
- name: Set up Maven | |
uses: stCarolas/[email protected] | |
with: | |
maven-version: 3.8.7 | |
- name: Generate Javadocs | |
run: | | |
export SETTINGS_XML=$(readlink -f ci/maven/settings.xml) | |
cd windup | |
mvn install -DskipTests -s $SETTINGS_XML | |
mvn validate \ | |
-s $SETTINGS_XML \ | |
-PjavadocDist \ | |
-DskipTests \ | |
-Djavadoc.branding="Windup ${{ github.event.inputs.release_version }} Javadoc" | |
- name: Copy Javadocs to gh-pages | |
working-directory: windup | |
run: | | |
mv target/apidocs apidocs/ | |
mvn clean | |
git checkout gh-pages | |
rm docs/latest | |
cd docs | |
mkdir -p ${{ github.event.inputs.release_version }} | |
ln -s ${{ github.event.inputs.release_version }}/ latest | |
cd .. | |
mv apidocs/ docs/latest/javadoc/ | |
git add docs | |
- name: Commit and Push | |
uses: windup/windup-pipelines/actions/commit@main | |
with: | |
working-directory: windup | |
branch: gh-pages | |
commit_message: "Add ${{ github.event.inputs.release_version }} javadoc" |