diff --git a/.circleci/config.yml b/.circleci/config.yml index ced4d00..e4379c4 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -29,10 +29,10 @@ commands: default: 'single' steps: - run: - environment: - DOCKER_IMAGE: <> name: Start Database command: ./docker/start_db.sh + environment: + DOCKER_IMAGE: <> mvn-info: steps: - run: @@ -66,6 +66,23 @@ commands: key: maven-{{ .Environment.CIRCLE_JOB }}-{{ checksum "/tmp/maven_cache_seed" }} paths: - ~/.m2/repository + config_gpg: + steps: + - run: + name: Configure GPG + command: echo $GPG_PRIVATE_KEY | base64 --decode | gpg --batch --no-tty --import --yes + deploy: + steps: + - run: + name: Deploy to Apache Maven Central + command: mvn -s .circleci/maven-release-settings.xml -Dmaven.test.skip=true deploy + release: + steps: + - run: + name: Release to Apache Maven Central + command: mvn -s .circleci/maven-release-settings.xml -Dmaven.test.skip=true nexus-staging:release + environment: + 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" executors: j17: @@ -103,13 +120,21 @@ jobs: - checkout - load_cache - mvn-info - - run: - name: Add GPG key - command: echo $GPG_PRIVATE_KEY | base64 --decode | gpg --batch --no-tty --import --yes - - run: - name: Deploy to Apache Maven Central - command: mvn -s .circleci/maven-release-settings.xml -DskipTests deploy + - config_gpg + - deploy + - store_cache + release: + executor: 'j17' + steps: + - timeout + - checkout + - load_cache + - mvn-info + - config_gpg + - deploy + - release - store_cache + workflows: test: jobs: @@ -134,3 +159,12 @@ workflows: only: /^deploy.*/ branches: ignore: /.*/ + release: + jobs: + - release: + context: java-release + filters: + tags: + only: /^release.*/ + branches: + ignore: /.*/ diff --git a/.github/workflows/maven-release.yml b/.github/workflows/maven-release.yml deleted file mode 100644 index c7fe22a..0000000 --- a/.github/workflows/maven-release.yml +++ /dev/null @@ -1,41 +0,0 @@ -name: Release - -on: - workflow_dispatch: - push: - tags: [ release** ] - -jobs: - release: - timeout-minutes: 20 - runs-on: ubuntu-latest - - strategy: - fail-fast: false - - steps: - - uses: actions/checkout@v2 - - name: Set up JDK - uses: actions/setup-java@v3 - with: - java-version: '17' - distribution: 'adopt' - cache: 'maven' - server-id: ossrh - server-username: MAVEN_USERNAME - server-password: MAVEN_CENTRAL_TOKEN - gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }} - gpg-passphrase: MAVEN_GPG_PASSPHRASE - - name: Publish to Apache Maven Central - run: mvn --no-transfer-progress -Dmaven.test.skip=true deploy - env: - MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }} - MAVEN_CENTRAL_TOKEN: ${{ secrets.OSSRH_PASSWORD }} - MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }} - - name: Release to Apache Maven Central - run: mvn --no-transfer-progress -Dmaven.test.skip=true nexus-staging:release - env: - MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }} - MAVEN_CENTRAL_TOKEN: ${{ secrets.OSSRH_PASSWORD }} - 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"