diff --git a/.github/workflows/build-version.yml b/.github/workflows/ci.yml similarity index 83% rename from .github/workflows/build-version.yml rename to .github/workflows/ci.yml index e817c5931..259c06736 100644 --- a/.github/workflows/build-version.yml +++ b/.github/workflows/ci.yml @@ -1,18 +1,18 @@ -name: build +name: ci on: push: branches: - - version/** + - main pull_request: branches: - - version/** + - main jobs: build: runs-on: ubuntu-latest strategy: matrix: - java: [ '8', '11', '17', '21', '22', '23', '24-ea' ] + java: [ '8', '11', '17', '21', '22', '23', '24-ea'] architecture: [ 'x64' ] fail-fast: false name: Build with JDK ${{ matrix.java }} on ${{ matrix.architecture }} diff --git a/.github/workflows/doclint-version.yml b/.github/workflows/doclint-version.yml index 62a5a9313..8e16eaf60 100644 --- a/.github/workflows/doclint-version.yml +++ b/.github/workflows/doclint-version.yml @@ -2,10 +2,10 @@ name: doclint on: push: branches: - - version/** + - main pull_request: branches: - - version/** + - main jobs: doc-lint: @@ -22,4 +22,4 @@ jobs: cache: 'maven' - name: Validate JavaDocs - run: mvn install -DskipTests=true && mvn javadoc:javadoc + run: mvn javadoc:javadoc diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 000000000..3740d4215 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,43 @@ +name: release +on: + workflow_dispatch: + inputs: + release-tag: + description: 'Version to release' + required: true + +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + java: [ '21' ] + architecture: [ 'x64' ] + + name: Release ${{ github.event.inputs.release-tag }} + steps: + - uses: actions/checkout@v4 + with: + ref: ${{ github.event.inputs.release-tag }} + + - name: Setup JDK + uses: actions/setup-java@v4 + with: + distribution: 'oracle' + java-version: ${{ matrix.java }} + architecture: ${{ matrix.architecture }} + cache: 'maven' + server-id: oss.sonatype.org + server-username: MAVEN_USERNAME + server-password: MAVEN_PASSWORD + gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }} + gpg-passphrase: MAVEN_GPG_PASSPHRASE + + + - name: Release with Maven + run: mvn -B --no-transfer-progress -Psonatype-oss-release -Prelease-sign-artifacts -DskipTests=true deploy + env: + MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }} + MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }} + MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }} + MAVEN_OPTS: "--add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.text=ALL-UNNAMED --add-opens=java.desktop/java.awt.font=ALL-UNNAMED"