diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 49f246c..1074d2c 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,20 +1,42 @@ name: Publish package to GitHub Packages on: - release: - types: [created] + workflow_dispatch: + push: + pull_request: + branches: [ "master", "develop" ] + jobs: publish: runs-on: ubuntu-latest - permissions: - contents: read - packages: write steps: - - uses: actions/checkout@v2 - - uses: actions/setup-java@v2 + - uses: actions/checkout@v3 + - name: Set up JDK 17 + uses: actions/setup-java@v3 with: - java-version: '11' - distribution: 'adopt' - - name: Publish package - run: mvn --batch-mode deploy + java-version: '17' + distribution: 'temurin' + server-id: sonatype-nexus-staging # Value of the distributionManagement/repository/id field of the pom.xml + server-username: CI_DEPLOY_USERNAME # env variable for username in deploy + server-password: CI_DEPLOY_PASSWORD # env variable for token in deploy + gpg-private-key: ${{ secrets.CI_GPG_PRIVATE_KEY }} # Value of the GPG private key to import + gpg-passphrase: CI_GPG_PASSPHRASE # env variable for GPG private key passphrase + + - name: Install, unit test, integration test + run: mvn install -Dmaven.javadoc.skip=true -B -V + + - name: Release to maven central + if: github.ref_name == 'master' && github.event_name != 'pull_request' && github.repository == 'swisspost/kobuka' + run: | + curl -s get.sdkman.io | bash + source "$HOME/.sdkman/bin/sdkman-init.sh" + sdk install groovy 3.0.8 + + chmod +x ./maybe-release.sh + ./maybe-release.sh env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file + CI_DEPLOY_USERNAME: ${{ secrets.CI_DEPLOY_USERNAME }} + CI_DEPLOY_PASSWORD: ${{ secrets.CI_DEPLOY_PASSWORD }} + CI_GPG_PASSPHRASE: ${{ secrets.CI_GPG_PASSPHRASE }} + + - name: After release + run: bash <(curl -s https://codecov.io/bash) diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 7d72a4f..0000000 --- a/.travis.yml +++ /dev/null @@ -1,22 +0,0 @@ -language: java -dist: focal -jdk: - - openjdk17 -before_install: - - chmod +x maybe-release.sh - # install groovy - - curl -s get.sdkman.io | bash - - source "$HOME/.sdkman/bin/sdkman-init.sh" - - sdk install groovy 3.0.8 - - echo $(groovy --version) -install: - - mvn install -Dmaven.javadoc.skip=true -B -V -before_script: - - git config --global user.email "swisspush@post.ch" - - git config --global user.name "Travis-CI" -script: - - git config credential.helper "store --file=.git/credentials" - - echo "https://${GH_TOKEN}:@github.com" > .git/credentials - - ./maybe-release.sh -after_success: - - bash <(curl -s https://codecov.io/bash) diff --git a/kobuka-client/pom.xml b/kobuka-client/pom.xml index 3299994..2aceffa 100644 --- a/kobuka-client/pom.xml +++ b/kobuka-client/pom.xml @@ -3,7 +3,7 @@ kobuka org.swisspush - 1.4.0-SNAPSHOT + 1.4.3-SNAPSHOT 4.0.0 diff --git a/kobuka-gen/pom.xml b/kobuka-gen/pom.xml index 0bf2bf6..8b15a95 100644 --- a/kobuka-gen/pom.xml +++ b/kobuka-gen/pom.xml @@ -3,7 +3,7 @@ kobuka org.swisspush - 1.4.0-SNAPSHOT + 1.4.3-SNAPSHOT 4.0.0 diff --git a/kobuka-gen/src/main/java/org/swisspush/kobuka/gen/Generator.java b/kobuka-gen/src/main/java/org/swisspush/kobuka/gen/Generator.java index 08a3df1..0764948 100644 --- a/kobuka-gen/src/main/java/org/swisspush/kobuka/gen/Generator.java +++ b/kobuka-gen/src/main/java/org/swisspush/kobuka/gen/Generator.java @@ -5,6 +5,8 @@ import org.apache.kafka.clients.consumer.ConsumerConfig; import org.apache.kafka.clients.producer.ProducerConfig; import org.apache.kafka.common.config.ConfigDef; +import org.apache.kafka.common.config.SaslConfigs; +import org.apache.kafka.common.config.SslConfigs; import org.apache.kafka.common.config.types.Password; import org.apache.kafka.streams.StreamsConfig; @@ -50,6 +52,11 @@ public static void main(String[] args) throws IOException { commonKeys.retainAll(AdminClientConfig.configDef().configKeys().keySet()); commonKeys.retainAll(StreamsConfig.configDef().configKeys().keySet()); + ConfigDef commonConfigs = new ConfigDef(); + SaslConfigs.addClientSaslSupport(commonConfigs); + SslConfigs.addClientSslSupport(commonConfigs); + commonKeys.addAll(commonConfigs.configKeys().keySet()); + Stream> commonConfigMap = AdminClientConfig.configDef().configKeys().entrySet().stream() .filter(entry -> commonKeys.contains(entry.getKey())); diff --git a/kobuka-spring/pom.xml b/kobuka-spring/pom.xml index 164c9e2..af5e295 100644 --- a/kobuka-spring/pom.xml +++ b/kobuka-spring/pom.xml @@ -3,7 +3,7 @@ kobuka org.swisspush - 1.4.0-SNAPSHOT + 1.4.3-SNAPSHOT 4.0.0 diff --git a/maybe-release.sh b/maybe-release.sh index e0439e5..601421e 100644 --- a/maybe-release.sh +++ b/maybe-release.sh @@ -1,42 +1,34 @@ #!/bin/bash set -ev -if [ "$TRAVIS_BRANCH" == "master" ] && [ "$TRAVIS_PULL_REQUEST" == "false" ] && [ "$TRAVIS_REPO_SLUG" == "swisspush/kobuka" ] +git fetch +git reset --hard +groovy staging.groovy drop +rc=$? +if [ $rc -ne 0 ] then - git reset --hard - git clean -fd - git checkout master - echo 'Master checked out' - groovy staging.groovy drop + echo 'problem when trying to drop, ignored' +fi +echo 'starting a new nexus repository ...' +OUTPUT=$(groovy staging.groovy start) +echo "repository Id: $OUTPUT" +mvn -B -Prelease jgitflow:release-start jgitflow:release-finish -DrepositoryId=${OUTPUT} +rc=$? +if [ $rc -eq 0 ] +then + groovy staging.groovy close ${OUTPUT} + groovy staging.groovy promote ${OUTPUT} rc=$? if [ $rc -ne 0 ] then - echo 'problem when trying to drop, ignored' - fi - echo 'starting a new nexus repository ...' - OUTPUT=$(groovy staging.groovy start) - echo "repository Id: $OUTPUT" - mvn -B -Prelease jgitflow:release-start jgitflow:release-finish --settings settings.xml -DrepositoryId=${OUTPUT} - rc=$? - if [ $rc -eq 0 ] - then - groovy staging.groovy close ${OUTPUT} - groovy staging.groovy promote ${OUTPUT} - rc=$? - if [ $rc -ne 0 ] - then - echo 'Release failed, cannot promote stage' - exit rc - fi - echo 'Release done, will push' - git tag - git push --tags - git checkout develop - git push origin develop - exit 0 + echo 'Release failed, cannot promote stage' + exit $rc fi - echo 'Release failed' - exit rc -else - echo 'Release skipped' - exit 0 -fi \ No newline at end of file + echo 'Release done, will push' + git tag + git push --tags + git checkout develop + git push origin develop + exit 0 +fi +echo 'Release failed' +exit $rc diff --git a/pom.xml b/pom.xml index 296cb48..961ef0e 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ org.swisspush kobuka pom - 1.4.0-SNAPSHOT + 1.4.3-SNAPSHOT kobuka Config Builders for Kafka. A fluent API for configuring kafka clients. https://github.com/swisspush/kobuka @@ -60,6 +60,10 @@ ${session.executionRootDirectory} 230584D7 + + --pinentry-mode + loopback + @@ -253,6 +257,10 @@ ${session.executionRootDirectory} 230584D7 + + --pinentry-mode + loopback + diff --git a/settings.xml b/settings.xml deleted file mode 100644 index b4954b8..0000000 --- a/settings.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - sonatype-nexus-staging - ${env.CI_DEPLOY_USERNAME} - ${env.CI_DEPLOY_PASSWORD} - - - gpg.passphrase - ${env.CI_PGP_PASSWORD} - - - \ No newline at end of file