diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml deleted file mode 100644 index 20f520d..0000000 --- a/.github/workflows/maven.yml +++ /dev/null @@ -1,55 +0,0 @@ -name: Maven build - -on: - push: - branches: [ "master", "1.0.x" , "1.1.x" , "1.2.x" , "1.3.x" ] - pull_request: - branches: [ "master", "1.0.x" , "1.1.x" , "1.2.x" , "1.3.x" ] - -jobs: - build: - permissions: - checks: write - contents: read - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - name: Set up JDK 11 - uses: actions/setup-java@v3 - with: - java-version: 11 - distribution: 'temurin' - server-id: sonatype-nexus-snapshots - server-username: CI_DEPLOY_USERNAME - server-password: CI_DEPLOY_PASSWORD - - name: Cache local Maven repository - uses: actions/cache@v3 - with: - path: ~/.m2/repository - key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} - restore-keys: | - ${{ runner.os }}-maven- - - name: Build with Maven - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: >- - mvn -B -fae -nsu clean verify - - name: Maven Deploy - if: github.event_name != 'pull_request' && success() - run: | - mvn deploy -Drat.skip=true - env: - CI_DEPLOY_USERNAME: ${{ secrets.CI_DEPLOY_USERNAME }} - CI_DEPLOY_PASSWORD: ${{ secrets.CI_DEPLOY_PASSWORD }} - - name: Upload Test Report - uses: actions/upload-artifact@v3 - if: success() || failure() - with: - name: "java-test-report" - path: | - **/surefire-reports/TEST-*.xml - **/failsafe-reports/TEST-*.xml - diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml new file mode 100644 index 0000000..c639bf8 --- /dev/null +++ b/.github/workflows/pr.yml @@ -0,0 +1,21 @@ +name: Build pull request + +on: + pull_request: + branches: [ "master", "1.0.x" , "1.1.x" , "1.2.x" , "1.3.x" ] + +jobs: + build: + permissions: + checks: write + contents: read + uses: 'connectorio/gh-actions-shared/.github/workflows/maven.yml@master' + secrets: + CI_DEPLOY_USERNAME: ${{ secrets.CI_DEPLOY_USERNAME }} + CI_DEPLOY_PASSWORD: ${{ secrets.CI_DEPLOY_PASSWORD }} + with: + openhab: false + server_id: sonatype-nexus-snapshots + master_branch: 1.3.x + deploy: true + skip_test_publish: true \ No newline at end of file diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml new file mode 100644 index 0000000..64534e2 --- /dev/null +++ b/.github/workflows/push.yml @@ -0,0 +1,22 @@ +name: Build pushed commit + +on: + push: + branches: [ "master", "1.0.x" , "1.1.x" , "1.2.x" , "1.3.x" ] + +jobs: + build: + #if: ${{ true }} + permissions: + checks: write + contents: read + uses: 'connectorio/gh-actions-shared/.github/workflows/maven.yml@master' + secrets: + CI_DEPLOY_USERNAME: ${{ secrets.CI_DEPLOY_USERNAME }} + CI_DEPLOY_PASSWORD: ${{ secrets.CI_DEPLOY_PASSWORD }} + with: + openhab: false + server_id: sonatype-nexus-snapshots + master_branch: 1.3.x + deploy: true + skip_test_publish: true \ No newline at end of file diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index fb93247..cabb369 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,73 +1,39 @@ -name: Maven release +name: Release artifacts on: workflow_dispatch: inputs: - releaseVersion: - description: "Release version." + release_version: + description: 'The version to be released from actual HEAD revision' + required: false + default: 'X.Y.Z' + development_version: + description: 'Version to be set as next, after release is made (appends commit to HEAD revision)' + required: false + default: 'X.Y.Z-SNAPSHOT' + perform_version: + description: 'Tag which should be used to perform release and publish its artifacts' + required: false + dry_run: + description: 'Should execution abstain from mutating repository/remote state?' required: true - default: "X.Y.Z" - developmentVersion: - description: "Version to which working copy should be set after release." - required: true - default: "X.Y.Z-SNAPSHOT" - dryRun: - description: "Should release be done in dry-run mode." - required: true - default: "true" + default: 'true' jobs: - release: - runs-on: ubuntu-latest + build: permissions: contents: write - steps: - - uses: actions/checkout@v3 - - name: Setup git - run: | - git config user.email "ci@connectorio.com" - git config user.name "ConnectorIO Bot" - git config url."https://${BUILD_USER}:${BUILD_TOKEN}@github.com/".insteadOf "git@github.com:" - export GIT_TRACE_PACKET=1 - export GIT_TRACE=1 - export GIT_CURL_VERBOSE=1 - env: - BUILD_USER: x-access-token - BUILD_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - uses: actions/setup-java@v3 - with: - distribution: 'temurin' - java-version: '11' - server-id: sonatype-nexus-staging - server-username: CI_RELEASE_USERNAME - server-password: CI_RELEASE_PASSWORD - gpg-passphrase: GPG_PASSPHRASE - gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY }} - - name: Cache local Maven repository - uses: actions/cache@v3 - with: - path: ~/.m2/repository - key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} - restore-keys: | - ${{ runner.os }}-maven- - - name: Maven Prepare Release - run: >- - mvn -B - release:prepare -DpreparationProfiles=release - -DreleaseVersion=${{ inputs.releaseVersion }} - -DdevelopmentVersion=${{ inputs.developmentVersion }} - -DdryRun=${{ inputs.dryRun }} - - name: Maven Perform Release - if: success() - run: >- - mvn -B - release:perform -DreleaseProfiles=release - env: - CI_RELEASE_USERNAME: ${{ secrets.CI_RELEASE_USERNAME }} - CI_RELEASE_PASSWORD: ${{ secrets.CI_RELEASE_PASSWORD }} - GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} - - name: Rollback on failure - if: failure() - run: | - mvn -B release:rollback - echo "You may need to manually delete the git tag, if it was created." \ No newline at end of file + uses: 'connectorio/gh-actions-shared/.github/workflows/release.yml@master' + secrets: + GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }} + GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} + CI_RELEASE_USERNAME: ${{ secrets.CI_RELEASE_USERNAME }} + CI_RELEASE_PASSWORD: ${{ secrets.CI_RELEASE_PASSWORD }} + with: + openhab: false + server_id: 'sonatype-nexus-staging' + master_branch: 1.3.x + release_version: ${{ inputs.release_version }} + development_version: ${{ inputs.development_version }} + perform_version: ${{ inputs.perform_version }} + dry_run: ${{ inputs.dry_run }} \ No newline at end of file diff --git a/README.md b/README.md index a073094..29c450d 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Code-House Bacnet4J wrapper -[![Maven build](https://github.com/Code-House/bacnet4j-wrapper/actions/workflows/maven.yml/badge.svg)](https://github.com/Code-House/bacnet4j-wrapper/actions/workflows/maven.yml) +[![Maven build](https://github.com/Code-House/bacnet4j-wrapper/actions/workflows/maven.yml/badge.svg)](https://github.com/Code-House/bacnet4j-wrapper/actions/workflows/push.yml) [![Maven release](https://github.com/Code-House/bacnet4j-wrapper/actions/workflows/release.yml/badge.svg?event=release)](https://github.com/Code-House/bacnet4j-wrapper/actions/workflows/release.yml) [![GitHub license](https://img.shields.io/github/license/Code-House/bacnet4j-wrapper.svg)](https://github.com/Code-House/bacnet4j-wrapper/blob/master/LICENSE)