diff --git a/.semaphore/semaphore.yml b/.semaphore/semaphore.yml new file mode 100644 index 000000000..c67ceb36d --- /dev/null +++ b/.semaphore/semaphore.yml @@ -0,0 +1,90 @@ +# This file is managed by ServiceBot plugin - Semaphore. The content in this file is created using a common +# template and configurations in service.yml. +# Any modifications made to ths file will be overwritten by the generated content in nightly runs. +# For more information, please refer to the page: +# https://confluentinc.atlassian.net/wiki/spaces/Foundations/pages/2871296194/Add+SemaphoreCI +version: v1.0 +name: build-test-release +agent: + machine: + type: s1-prod-ubuntu20-04-amd64-1 + +fail_fast: + cancel: + when: "true" + +execution_time_limit: + hours: 1 + +queue: + - when: "branch != 'master' and branch !~ '[0-9]+\\.[0-9]+\\.x'" + processing: parallel + +global_job_config: + prologue: + commands: + - checkout + - sem-version java 8 + - . cache-maven restore + +blocks: + - name: Test + dependencies: [] + run: + # don't run the tests on non-functional changes... + when: "change_in('/', {exclude: ['/.deployed-versions/', '.github/']})" + task: + jobs: + - name: Test + commands: + - pip install confluent-release-tools -q + - . sem-pint + - mvn -Dcloud -Pjenkins -U -Dmaven.wagon.http.retryHandler.count=10 --batch-mode --no-transfer-progress clean verify install dependency:analyze validate + - cve-scan + - . cache-maven store + epilogue: + always: + commands: + - . publish-test-results + - artifact push workflow target/test-results + - artifact push workflow target + + - name: Release + dependencies: ["Test"] + run: + when: "branch = 'master' or branch =~ '[0-9]+\\.[0-9]+\\.x'" + task: + jobs: + - name: Release + commands: + - mvn -Dcloud -Pjenkins -U -Dmaven.wagon.http.retryHandler.count=10 --batch-mode -DaltDeploymentRepository=confluent-codeartifact-internal::default::https://confluent-519856050701.d.codeartifact.us-west-2.amazonaws.com/maven/maven-snapshots/ + -DrepositoryId=confluent-codeartifact-internal deploy -DskipTests + - name: Release Notes + dependencies: [] + run: + when: "branch =~ '[0-9]+\\.[0-9]+\\.x'" + task: + jobs: + - name: Generate Release Notes + commands: + - git clone --branch master --single-branch git@github.com:confluentinc/connect-releases.git + - ./connect-releases/tasks/release-connect-plugins/generate-connect-changelogs.sh + +after_pipeline: + task: + agent: + machine: + type: s1-prod-ubuntu20-04-arm64-0 + jobs: + - name: Metrics + commands: + - emit-ci-metrics -p -a test-results + - name: Publish Test Results + commands: + - test-results gen-pipeline-report + - name: SonarQube + commands: + - checkout + - sem-version java 11 + - artifact pull workflow target + - emit-sonarqube-data --run_only_sonar_scan diff --git a/Jenkinsfile b/Jenkinsfile deleted file mode 100755 index 14df72732..000000000 --- a/Jenkinsfile +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env groovy -common { - slackChannel = '#connect-warn' - nodeLabel = 'docker-debian-jdk8' - upstreamProjects = ['confluentinc/common','confluentinc/schema-registry'] - pintMerge = true -} diff --git a/service.yml b/service.yml new file mode 100644 index 000000000..e57170e53 --- /dev/null +++ b/service.yml @@ -0,0 +1,15 @@ +name: kafka-connect-storage-common +lang: java +lang_version: 8 +git: + enable: true +codeowners: + enable: true +semaphore: + enable: true + pipeline_type: cp + cve_scan: true + extra_deploy_args: "-Dcloud -Pjenkins" + extra_build_args: "-Dcloud -Pjenkins" + generate_connect_changelogs: true + run_pint_merge: true \ No newline at end of file diff --git a/sonar-project.properties b/sonar-project.properties new file mode 100644 index 000000000..5f9198fe3 --- /dev/null +++ b/sonar-project.properties @@ -0,0 +1,8 @@ +### service-bot sonarqube plugin managed file +sonar.coverage.exclusions=**/test/**/*,**/tests/**/*,**/mock/**/*,**/mocks/**/*,**/*mock*,**/*test* +sonar.coverage.jacoco.xmlReportPaths=**/jacoco.xml +sonar.exclusions=**/*.pb.*,**/mk-include/**/* +sonar.java.binaries=. +sonar.language=java +sonar.projectKey=kafka-connect-storage-common +sonar.sources=.