-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
21 changed files
with
684 additions
and
361 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
*.css text encoding=utf-8 eol=lf | ||
*.html text encoding=utf-8 eol=lf | ||
*.ignore text encoding=utf-8 eol=lf | ||
*.java text encoding=utf-8 eol=lf | ||
*.js text encoding=utf-8 eol=lf | ||
*.md text encoding=utf-8 eol=lf | ||
*.properties text encoding=utf-8 eol=lf | ||
*.sh text encoding=utf-8 eol=lf | ||
*.xml text encoding=utf-8 eol=lf | ||
*.yaml text encoding=utf-8 eol=lf | ||
*.yml text encoding=utf-8 eol=lf | ||
*.cmd text encoding=utf-8 eol=crlf |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
version: 2 | ||
updates: | ||
- package-ecosystem: maven | ||
directory: "/" | ||
schedule: | ||
interval: daily | ||
time: "04:00" | ||
timezone: Europe/Berlin | ||
open-pull-requests-limit: 10 |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,68 @@ | ||
name: Build project | ||
|
||
on: [push, pull_request] | ||
|
||
|
||
env: | ||
MVN_ARGS: --batch-mode --errors --fail-fast --no-transfer-progress | ||
HAS_SONAR_TOKEN: ${{ secrets.SONAR_TOKEN != '' }} | ||
|
||
|
||
jobs: | ||
default: | ||
|
||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- uses: actions/checkout@v2 | ||
|
||
- name: Fetch unshallow to enable blame for Sonar | ||
run: git fetch --prune --unshallow | ||
|
||
- uses: actions/setup-java@v1 | ||
with: | ||
java-version: 8 | ||
|
||
- name: Cache local Maven repository | ||
uses: actions/cache@v2 | ||
with: | ||
path: ~/.m2/repository | ||
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} | ||
restore-keys: ${{ runner.os }}-maven- | ||
|
||
- name: Cache Sonar | ||
uses: actions/cache@v1 | ||
with: | ||
path: ~/.sonar/cache/ | ||
key: ${{ runner.os }}-sonar | ||
|
||
- name: Compile | ||
run: mvn ${MVN_ARGS} clean package -DskipTests | ||
|
||
- uses: actions/setup-java@v1 | ||
with: | ||
java-version: 15 | ||
|
||
- name: Test with SonarCloud | ||
id: test-with-sonar | ||
if: ${{ env.HAS_SONAR_TOKEN == 'true' }} | ||
run: > | ||
mvn ${MVN_ARGS} verify sonar:sonar -Pcoverage | ||
-Dsonar.host.url=https://sonarcloud.io | ||
-Dsonar.organization=retest | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} | ||
|
||
- name: Test without SonarCloud | ||
id: test-without-sonar | ||
if: ${{ steps.test-with-sonar.conclusion == 'skipped' }} | ||
run: mvn ${MVN_ARGS} verify | ||
|
||
- name: Archive recheck tests.report | ||
if: always() | ||
uses: actions/upload-artifact@v2 | ||
with: | ||
name: tests.report | ||
path: target/test-classes/retest/recheck/tests.report | ||
retention-days: 10 |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
name: Deploy releases | ||
|
||
on: | ||
push: | ||
tags: | ||
- 'v*' | ||
|
||
env: | ||
MVN_ARGS: --batch-mode --errors --fail-fast --no-transfer-progress | ||
|
||
jobs: | ||
default: | ||
|
||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- uses: actions/checkout@v2 | ||
|
||
- uses: actions/setup-java@v1 | ||
with: | ||
java-version: 8 | ||
server-id: ossrh | ||
server-username: MAVEN_USERNAME | ||
server-password: MAVEN_PASSWORD | ||
|
||
- name: Cache local Maven repository | ||
uses: actions/cache@v2 | ||
with: | ||
path: ~/.m2/repository | ||
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} | ||
restore-keys: ${{ runner.os }}-maven- | ||
|
||
- name: Install gpg secret key | ||
run: | | ||
gpg --batch --import <(echo -e "${{ secrets.OSSRH_GPG_SECRET_KEY }}") | ||
gpg --list-secret-keys --keyid-format LONG | ||
- id: publish-to-central | ||
name: Publish to Central Repository | ||
run: | | ||
mvn ${MVN_ARGS} -DskipTests -Psign clean deploy | ||
env: | ||
GPG_PASSPHRASE: ${{ secrets.OSSRH_GPG_PASSPHRASE }} | ||
MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }} | ||
MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }} |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
name: Release beta | ||
|
||
on: | ||
workflow_dispatch: | ||
inputs: | ||
approval: | ||
description: 'Do you really want to release a BETA from configured BRANCH?' | ||
required: true | ||
default: 'NO' | ||
|
||
env: | ||
MVN_ARGS: --batch-mode --errors --fail-fast --no-transfer-progress | ||
|
||
jobs: | ||
default: | ||
|
||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- name: Verify approval | ||
run: "[[ $(echo ${{ github.event.inputs.approval }} | tr 'a-z' 'A-Z') == 'YES' ]]" | ||
|
||
- uses: actions/checkout@v2 | ||
with: | ||
fetch-depth: 0 | ||
token: ${{ secrets.TRIGGER_ACTIONS_GITHUB_TOKEN }} | ||
|
||
- name: Verify for release or hotfix branch | ||
run: "[[ $( git branch --show-current ) =~ ^release.*|^hotfix.* ]]" | ||
|
||
- uses: actions/setup-java@v1 | ||
with: | ||
java-version: 8 | ||
|
||
- name: Cache local Maven repository | ||
uses: actions/cache@v2 | ||
with: | ||
path: ~/.m2/repository | ||
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} | ||
restore-keys: ${{ runner.os }}-maven- | ||
|
||
- name: Configure Git user | ||
run: | | ||
git config user.email "ops+githubactions@retest.de" | ||
git config user.name "retest release github action" | ||
- id: next_beta | ||
name: Find next beta version | ||
run: | | ||
# get next stable release version from pom.xml | ||
RELEASE_VERSION=$( mvn help:evaluate -Dexpression=project.version -q -DforceStdout | sed 's/-SNAPSHOT//' ) | ||
# find last beta for this version using git tags. Prefix with 0 als default for next line | ||
LAST_BETA_TAG=0$( git for-each-ref --sort=-taggerdate --count=1 --format '%(refname:short)' "refs/tags/v${RELEASE_VERSION}-beta.*" ) | ||
# Create string for beta version | ||
NEXT_BETA="$RELEASE_VERSION-beta.$((1+"${LAST_BETA_TAG/v$RELEASE_VERSION-beta./}"))" | ||
echo "::set-output name=version::$NEXT_BETA" | ||
- name: Create beta release tag | ||
run: | | ||
mvn versions:set -DnewVersion=${{ steps.next_beta.outputs.version }} -DgenerateBackupPoms=false | ||
git commit -a -m "ci: release ${{ steps.next_beta.outputs.version }}" | ||
git tag -a v${{ steps.next_beta.outputs.version }} -m "ci: tag beta release ${{ steps.next_beta.outputs.version }}" | ||
git push --tags |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
name: Release feature finish | ||
|
||
on: | ||
workflow_dispatch: | ||
inputs: | ||
approval: | ||
description: 'Do you really want to finish the current FEATURE release?' | ||
required: true | ||
default: 'NO' | ||
|
||
env: | ||
MVN_ARGS: --batch-mode --errors --fail-fast --no-transfer-progress | ||
|
||
jobs: | ||
default: | ||
|
||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- name: Verify approval | ||
run: "[[ $(echo ${{ github.event.inputs.approval }} | tr 'a-z' 'A-Z') == 'YES' ]]" | ||
|
||
- uses: actions/checkout@v2 | ||
with: | ||
fetch-depth: 0 | ||
token: ${{ secrets.TRIGGER_ACTIONS_GITHUB_TOKEN }} | ||
|
||
- uses: actions/setup-java@v1 | ||
with: | ||
java-version: 8 | ||
|
||
- name: Cache local Maven repository | ||
uses: actions/cache@v2 | ||
with: | ||
path: ~/.m2/repository | ||
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} | ||
restore-keys: ${{ runner.os }}-maven- | ||
|
||
- name: Configure Git user | ||
run: | | ||
git config user.email "ops+githubactions@retest.de" | ||
git config user.name "retest release github action" | ||
- name: Tag and finish release branch | ||
run: mvn ${MVN_ARGS} gitflow:release-finish |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
name: Release feature start | ||
|
||
on: | ||
workflow_dispatch: | ||
inputs: | ||
approval: | ||
description: 'Do you really want to start a FEATURE release from DEVELOP branch?' | ||
required: true | ||
default: 'NO' | ||
|
||
env: | ||
MVN_ARGS: --batch-mode --errors --fail-fast --no-transfer-progress | ||
|
||
jobs: | ||
default: | ||
|
||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- name: Verify approval | ||
run: "[[ $(echo ${{ github.event.inputs.approval }} | tr 'a-z' 'A-Z') == 'YES' ]]" | ||
|
||
- uses: actions/checkout@v2 | ||
with: | ||
token: ${{ secrets.TRIGGER_ACTIONS_GITHUB_TOKEN }} | ||
|
||
- uses: actions/setup-java@v1 | ||
with: | ||
java-version: 8 | ||
|
||
- name: Cache local Maven repository | ||
uses: actions/cache@v2 | ||
with: | ||
path: ~/.m2/repository | ||
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} | ||
restore-keys: ${{ runner.os }}-maven- | ||
|
||
- name: Configure Git user | ||
run: | | ||
git config user.email "ops+githubactions@retest.de" | ||
git config user.name "retest release github action" | ||
- name: Start release branch | ||
run: mvn ${MVN_ARGS} gitflow:release-start |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
name: Release hotfix finish | ||
|
||
on: | ||
workflow_dispatch: | ||
inputs: | ||
approval: | ||
description: 'Do you really want to finish the current HOTFIX release?' | ||
required: true | ||
default: 'NO' | ||
|
||
env: | ||
MVN_ARGS: --batch-mode --errors --fail-fast --no-transfer-progress | ||
|
||
jobs: | ||
default: | ||
|
||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- name: Verify approval | ||
run: "[[ $(echo ${{ github.event.inputs.approval }} | tr 'a-z' 'A-Z') == 'YES' ]]" | ||
|
||
- uses: actions/checkout@v2 | ||
with: | ||
fetch-depth: 0 | ||
token: ${{ secrets.TRIGGER_ACTIONS_GITHUB_TOKEN }} | ||
|
||
- uses: actions/setup-java@v1 | ||
with: | ||
java-version: 8 | ||
|
||
- name: Cache local Maven repository | ||
uses: actions/cache@v2 | ||
with: | ||
path: ~/.m2/repository | ||
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} | ||
restore-keys: ${{ runner.os }}-maven- | ||
|
||
- name: Configure Git user | ||
run: | | ||
git config user.email "ops+githubactions@retest.de" | ||
git config user.name "retest release github action" | ||
- name: Tag and finish release branch | ||
run: mvn ${MVN_ARGS} gitflow:hotfix-finish |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
name: Release hotfix start | ||
|
||
on: | ||
workflow_dispatch: | ||
inputs: | ||
approval: | ||
description: 'Do you really want to start a HOTFIX release from MAIN branch?' | ||
required: true | ||
default: 'NO' | ||
|
||
env: | ||
MVN_ARGS: --batch-mode --errors --fail-fast --no-transfer-progress | ||
|
||
jobs: | ||
default: | ||
|
||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- name: Verify approval | ||
run: "[[ $(echo ${{ github.event.inputs.approval }} | tr 'a-z' 'A-Z') == 'YES' ]]" | ||
|
||
- uses: actions/checkout@v2 | ||
with: | ||
token: ${{ secrets.TRIGGER_ACTIONS_GITHUB_TOKEN }} | ||
|
||
- uses: actions/setup-java@v1 | ||
with: | ||
java-version: 8 | ||
|
||
- name: Cache local Maven repository | ||
uses: actions/cache@v2 | ||
with: | ||
path: ~/.m2/repository | ||
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} | ||
restore-keys: ${{ runner.os }}-maven- | ||
|
||
- name: Configure Git user | ||
run: | | ||
git config user.email "ops+githubactions@retest.de" | ||
git config user.name "retest release github action" | ||
- name: Start release branch | ||
run: mvn ${MVN_ARGS} gitflow:hotfix-start |
Oops, something went wrong.