From 878d0039843811a5fa9afe6d7f3558537f8d4ef0 Mon Sep 17 00:00:00 2001 From: Ned Twigg Date: Sat, 7 Jan 2023 15:22:41 -0800 Subject: [PATCH 1/4] Move changelog print out of .circleci --- .circleci/config.yml | 29 --------------------------- .github/workflows/changelog-print.yml | 20 ++++++++++++++++++ 2 files changed, 20 insertions(+), 29 deletions(-) create mode 100644 .github/workflows/changelog-print.yml diff --git a/.circleci/config.yml b/.circleci/config.yml index dd9adf4c0..829e1e60b 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -140,15 +140,6 @@ jobs: path: lib-extra/build/test-results/test - store_test_results: path: plugin-gradle/build/test-results/test - changelog_print: - << : *env_gradle - steps: - - checkout - - *restore_cache_wrapper - - *restore_cache_deps - - run: - name: gradlew changelogPrint - command: ./gradlew changelogPrint do_release_all: << : *env_gradle steps: @@ -276,46 +267,26 @@ workflows: - assemble_testClasses deploy: jobs: - - changelog_print: - filters: - branches: - only: main - release_all: type: approval - requires: - - changelog_print - do_release_all: requires: - release_all - context: - - SonatypeDeploy - release_plugin_gradle: type: approval - requires: - - changelog_print - do_release_plugin_gradle: requires: - release_plugin_gradle - context: - - SonatypeDeploy - release_plugin_maven: type: approval - requires: - - changelog_print - do_release_plugin_maven: requires: - release_plugin_maven - context: - - SonatypeDeploy - release_lib: type: approval - requires: - - changelog_print - do_release_lib: requires: - release_lib - context: - - SonatypeDeploy ext_deploy: jobs: - ext_changelog_print: diff --git a/.github/workflows/changelog-print.yml b/.github/workflows/changelog-print.yml new file mode 100644 index 000000000..064112475 --- /dev/null +++ b/.github/workflows/changelog-print.yml @@ -0,0 +1,20 @@ +name: changelogPrint + +on: + push: + branches: [main] + +jobs: + build: + runs-on: ubuntu-latest + name: changelogPrint + steps: + - uses: actions/checkout@v3 + - name: jdk 11 + uses: actions/setup-java@v3 + with: + java-version: 11 + distribution: 'temurin' + - name: gradle caching + uses: gradle/gradle-build-action@v2 + - run: ./gradlew changelogPrint From 69ac7f460195480dc3cd6ac0d7514dbb1640b499 Mon Sep 17 00:00:00 2001 From: Ned Twigg Date: Sat, 7 Jan 2023 15:23:34 -0800 Subject: [PATCH 2/4] Remove all the _ext publishing from config.yml --- .circleci/config.yml | 120 ------------------------------------------- 1 file changed, 120 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 829e1e60b..7881f2d2d 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -186,66 +186,6 @@ jobs: - run: name: gradlew :plugin-maven:changelogPush command: ./gradlew :plugin-maven:changelogPush -Prelease=true --stacktrace - ext_changelog_print: - << : *env_gradle - steps: - - checkout - - *restore_cache_wrapper - - *restore_cache_deps - - *set_git_origin_to_https - - run: - name: gradlew -Pcom.diffplug.spotless.include.ext.nop2=true changelogPrint - command: ./gradlew -Pcom.diffplug.spotless.include.ext.nop2=true changelogPrint - ext_do_release_base: - << : *env_gradle - steps: - - checkout - - *restore_cache_wrapper - - *restore_cache_deps - - *set_git_origin_to_https - - run: - name: gradlew :eclipse-base:changelogPush - command: ./gradlew -Pcom.diffplug.spotless.include.ext.nop2=true :eclipse-base:changelogPush -Prelease=true --stacktrace - ext_do_release_jdt: - << : *env_gradle - steps: - - checkout - - *restore_cache_wrapper - - *restore_cache_deps - - *set_git_origin_to_https - - run: - name: gradlew :eclipse-jdt:changelogPush - command: ./gradlew -Pcom.diffplug.spotless.include.ext.nop2=true :eclipse-jdt:changelogPush -Prelease=true --stacktrace - ext_do_release_cdt: - << : *env_gradle - steps: - - checkout - - *restore_cache_wrapper - - *restore_cache_deps - - *set_git_origin_to_https - - run: - name: gradlew :eclipse-cdt:changelogPush - command: ./gradlew -Pcom.diffplug.spotless.include.ext.cdt=true :eclipse-cdt:changelogPush -Prelease=true --stacktrace - ext_do_release_groovy: - << : *env_gradle - steps: - - checkout - - *restore_cache_wrapper - - *restore_cache_deps - - *set_git_origin_to_https - - run: - name: gradlew :eclipse-groovy:changelogPush - command: ./gradlew -Pcom.diffplug.spotless.include.ext.groovy=true :eclipse-groovy:changelogPush -Prelease=true --stacktrace - ext_do_release_wtp: - << : *env_gradle - steps: - - checkout - - *restore_cache_wrapper - - *restore_cache_deps - - *set_git_origin_to_https - - run: - name: gradlew :eclipse-wtp:changelogPush - command: ./gradlew -Pcom.diffplug.spotless.include.ext.wtp=true :eclipse-wtp:changelogPush -Prelease=true --stacktrace workflows: version: 2 @@ -287,63 +227,3 @@ workflows: - do_release_lib: requires: - release_lib - ext_deploy: - jobs: - - ext_changelog_print: - filters: - branches: - only: main - - ext_release_base: - type: approval - requires: - - ext_changelog_print - - ext_do_release_base: - requires: - - ext_release_base - context: - - SonatypeDeploy - - ext_release_jdt: - type: approval - requires: - - ext_changelog_print - - ext_do_release_jdt: - requires: - - ext_release_jdt - context: - - SonatypeDeploy - - ext_release_cdt: - type: approval - requires: - - ext_changelog_print - - ext_do_release_cdt: - filters: - branches: - only: main - requires: - - ext_release_cdt - context: - - SonatypeDeploy - - ext_release_groovy: - type: approval - requires: - - ext_changelog_print - - ext_do_release_groovy: - filters: - branches: - only: main - requires: - - ext_release_groovy - context: - - SonatypeDeploy - - ext_release_wtp: - type: approval - requires: - - ext_changelog_print - - ext_do_release_wtp: - filters: - branches: - only: main - requires: - - ext_release_wtp - context: - - SonatypeDeploy From 7b8ed503cbf6b1adc7456f6e27f80664cf9d7329 Mon Sep 17 00:00:00 2001 From: Ned Twigg Date: Sat, 7 Jan 2023 15:39:11 -0800 Subject: [PATCH 3/4] Move publishing out of CirclCI and into github actions. --- .circleci/config.yml | 68 ------------------------------------ .github/workflows/deploy.yml | 63 +++++++++++++++++++++++++++++++++ 2 files changed, 63 insertions(+), 68 deletions(-) create mode 100644 .github/workflows/deploy.yml diff --git a/.circleci/config.yml b/.circleci/config.yml index 7881f2d2d..b9f91766c 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -140,52 +140,6 @@ jobs: path: lib-extra/build/test-results/test - store_test_results: path: plugin-gradle/build/test-results/test - do_release_all: - << : *env_gradle - steps: - - checkout - - *restore_cache_wrapper - - *restore_cache_deps - - *set_git_origin_to_https - - run: - name: gradlew :changelogPush - command: ./gradlew :changelogPush -Prelease=true --stacktrace --warning-mode all - - run: - name: gradlew :plugin-gradle:changelogPush - command: ./gradlew :plugin-gradle:changelogPush -Prelease=true -Pgradle.publish.key=${gradle_key} -Pgradle.publish.secret=${gradle_secret} --stacktrace --warning-mode all - - run: - name: gradlew :plugin-maven:changelogPush - command: ./gradlew :plugin-maven:changelogPush -Prelease=true --stacktrace --warning-mode all - do_release_lib: - << : *env_gradle - steps: - - checkout - - *restore_cache_wrapper - - *restore_cache_deps - - *set_git_origin_to_https - - run: - name: gradlew :changelogPush - command: ./gradlew :changelogPush -Prelease=true --stacktrace --warning-mode all - do_release_plugin_gradle: - << : *env_gradle - steps: - - checkout - - *restore_cache_wrapper - - *restore_cache_deps - - *set_git_origin_to_https - - run: - name: gradlew :plugin-gradle:changelogPush - command: ./gradlew :plugin-gradle:changelogPush -Prelease=true -Pgradle.publish.key=${gradle_key} -Pgradle.publish.secret=${gradle_secret} --stacktrace - do_release_plugin_maven: - << : *env_gradle - steps: - - checkout - - *restore_cache_wrapper - - *restore_cache_deps - - *set_git_origin_to_https - - run: - name: gradlew :plugin-maven:changelogPush - command: ./gradlew :plugin-maven:changelogPush -Prelease=true --stacktrace workflows: version: 2 @@ -205,25 +159,3 @@ workflows: - test_npm_8: requires: - assemble_testClasses - deploy: - jobs: - - release_all: - type: approval - - do_release_all: - requires: - - release_all - - release_plugin_gradle: - type: approval - - do_release_plugin_gradle: - requires: - - release_plugin_gradle - - release_plugin_maven: - type: approval - - do_release_plugin_maven: - requires: - - release_plugin_maven - - release_lib: - type: approval - - do_release_lib: - requires: - - release_lib diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 000000000..6af73db44 --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,63 @@ +# GH_TOKEN +# NEXUS_USER +# NEXUS_PASS +# GPG_PASSPHRASE +# GPG_KEY (base64) +# gpg --export-secret-keys --armor KEY_ID | openssl base64 | pbcopy +# GRADLE_PORTAL_KEY +# GRADLE_PORTAL_SECRET + +name: deploy +on: + workflow_dispatch: + inputs: + to_publish: + description: 'What to publish' + required: true + default: 'all' + type: choice + options: + - plugin-gradle + - plugin-maven + - all + - lib + +jobs: + build: + runs-on: ubuntu-latest + name: deploy + env: + gh_token: ${{ secrets.GH_TOKEN }} + ORG_GRADLE_PROJECT_nexus_user: ${{ secrets.NEXUS_USER }} + ORG_GRADLE_PROJECT_nexus_pass: ${{ secrets.NEXUS_PASS }} + ORG_GRADLE_PROJECT_gpg_passphrase: ${{ secrets.GPG_PASSPHRASE }} + ORG_GRADLE_PROJECT_gpg_key64: ${{ secrets.GPG_KEY }} + + gradle_key + steps: + - uses: actions/checkout@v3 + - name: jdk 11 + uses: actions/setup-java@v3 + with: + java-version: 11 + distribution: 'temurin' + - name: gradle caching + uses: gradle/gradle-build-action@v2 + - name: publish all + if: "${{ github.event.inputs.to_publish == 'all' }}" + run: | + ./gradlew :changelogPush -Prelease=true --stacktrace --warning-mode all + ./gradlew :plugin-gradle:changelogPush -Prelease=true -Pgradle.publish.key=${{ secrets.GRADLE_PORTAL_KEY }} -Pgradle.publish.secret=${{ secrets.GRADLE_PORTAL_SECRET }} --stacktrace --warning-mode all + ./gradlew :plugin-maven:changelogPush -Prelease=true --stacktrace --warning-mode all + - name: publish just plugin-gradle + if: "${{ github.event.inputs.to_publish == 'plugin-gradle' }}" + run: | + ./gradlew :plugin-gradle:changelogPush -Prelease=true -Pgradle.publish.key=${{ secrets.GRADLE_PORTAL_KEY }} -Pgradle.publish.secret=${{ secrets.GRADLE_PORTAL_SECRET }} --stacktrace --warning-mode all + - name: publish just plugin-maven + if: "${{ github.event.inputs.to_publish == 'plugin-maven' }}" + run: | + ./gradlew :plugin-maven:changelogPush -Prelease=true --stacktrace --warning-mode all + - name: publish just lib + if: "${{ github.event.inputs.to_publish == 'lib' }}" + run: | + ./gradlew :changelogPush -Prelease=true --stacktrace --warning-mode all From e49fb26ee2fc4d2057f0b0d0a078323d570143b2 Mon Sep 17 00:00:00 2001 From: Ned Twigg Date: Sun, 8 Jan 2023 20:32:29 -0800 Subject: [PATCH 4/4] Update changelog. --- CHANGES.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGES.md b/CHANGES.md index c7cde364c..9ca16e4dc 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -24,6 +24,8 @@ We adhere to the [keepachangelog](https://keepachangelog.com/en/1.0.0/) format ( * `StepHarnessWithFile` now takes a `ResourceHarness` in its constructor to handle the file manipulation parts * Standardized that we test exception *messages*, not types, which will ease the transition to linting later on * Bump default `ktlint` version to latest `0.47.1` -> `0.48.1` ([#1456](https://github.com/diffplug/spotless/pull/1456)) +* Switch our publishing infrastructure from CircleCI to GitHub Actions ([#1462](https://github.com/diffplug/spotless/pull/1462)). + * Help wanted for moving our tests too ([#1472](https://github.com/diffplug/spotless/issues/1472)) ## [2.31.1] - 2023-01-02 ### Fixed