From edb336884ea3ed18f0fc4fbd349323b4c971e158 Mon Sep 17 00:00:00 2001 From: Ruhanga <41738040+Ruhanga@users.noreply.github.com> Date: Wed, 30 Jul 2025 11:07:31 +0000 Subject: [PATCH] REPORT-912: Added Bamboo specs. --- bamboo-specs/bamboo.yml | 247 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 247 insertions(+) create mode 100644 bamboo-specs/bamboo.yml diff --git a/bamboo-specs/bamboo.yml b/bamboo-specs/bamboo.yml new file mode 100644 index 000000000..456c78148 --- /dev/null +++ b/bamboo-specs/bamboo.yml @@ -0,0 +1,247 @@ +--- +version: 2 +plan: + project-key: REP + key: REP + name: Reporting Module + description: More details of the release in https://wiki.openmrs.org/x/i4DTAw +stages: +- Build and Test: + manual: false + final: false + jobs: + - Build and Test JDK 8 + - Build and Test JDK 17 + - Build and Test JDK 11 + - Build and Test JDK 24 + - Build and Test JDK 21 +- Deploy: + manual: false + final: false + jobs: + - Deploy to Maven +- Release: + manual: true + final: false + jobs: + - Release to Maven +Build and Test JDK 8: + key: BTJ8 + tasks: + - checkout: + force-clean-build: 'false' + description: Checkout default repository + - script: + interpreter: SHELL + scripts: + - |- + #!/bin/bash -eu + + set -x + + docker run -v m2-repo:/root/.m2/repository -v ${PWD}:/module --rm -w="/module" maven:3.9.9-amazoncorretto-8 bash -c 'mvn clean package && chmod -R 777 .' + description: Build and test + artifact-subscriptions: [] +Build and Test JDK 17: + key: BTJ17 + tasks: + - checkout: + force-clean-build: 'false' + description: Checkout default repository + - script: + interpreter: SHELL + scripts: + - |- + #!/bin/bash -eu + + set -x + + docker run -v m2-repo:/root/.m2/repository -v ${PWD}:/module --rm -w="/module" maven:3.9.9-amazoncorretto-17 bash -c 'mvn clean package && chmod -R 777 .' + description: Build and test + artifact-subscriptions: [] +Build and Test JDK 11: + key: BTJ11 + tasks: + - checkout: + force-clean-build: 'false' + description: Checkout default repository + - script: + interpreter: SHELL + scripts: + - |- + #!/bin/bash -eu + + set -x + + docker run -v m2-repo:/root/.m2/repository -v ${PWD}:/module --rm -w="/module" maven:3.9.9-amazoncorretto-11 bash -c 'mvn clean package && chmod -R 777 .' + description: Build and test + artifact-subscriptions: [] +Build and Test JDK 24: + key: BTJ24 + tasks: + - checkout: + force-clean-build: 'false' + description: Checkout default repository + - script: + interpreter: SHELL + scripts: + - |- + #!/bin/bash -eu + + set -x + + docker run -v m2-repo:/root/.m2/repository -v ${PWD}:/module --rm -w="/module" maven:3.9.9-amazoncorretto-24 bash -c 'mvn clean package && chmod -R 777 .' + description: Build and test + artifact-subscriptions: [] +Build and Test JDK 21: + key: BTJ21 + tasks: + - checkout: + force-clean-build: 'false' + description: Checkout default repository + - script: + interpreter: SHELL + scripts: + - |- + #!/bin/bash -eu + + set -x + + docker run -v m2-repo:/root/.m2/repository -v ${PWD}:/module --rm -w="/module" maven:3.9.9-amazoncorretto-21 bash -c 'mvn clean package && chmod -R 777 .' + description: Build and test + artifact-subscriptions: [] +Deploy to Maven: + key: DTM + tasks: + - checkout: + force-clean-build: 'false' + description: Checkout default repository + - script: + interpreter: SHELL + scripts: + - |- + #!/bin/bash -eu + + set -x + + docker pull ${bamboo.build.docker.image.id} + + docker run -v m2-repo:/root/.m2/repository -v ~/.m2/settings.xml:/.m2/settings.xml:ro -v ${PWD}:/module --rm -w="/module" ${bamboo.build.docker.image.id} bash -c 'mvn deploy -DskipTests --settings /.m2/settings.xml' + description: Deploy + artifact-subscriptions: [] +Release to Maven: + key: RTMVN + tasks: + - checkout: + repository: Git + path: release-scripts + force-clean-build: 'false' + description: Checkout Default Repository + - script: + interpreter: SHELL + scripts: + - |- + #!/bin/bash -eu + + set -x + + docker pull ${bamboo.build.docker.image.id} + + docker run \ + -v m2-repo:/root/.m2/repository \ + -v ~/.m2/settings.xml:/root/.m2/settings.xml:ro \ + -v ${PWD}:/module \ + -v ~/.ssh/github:/root/.ssh:ro \ + -e GIT_USER_NAME=$GIT_USER_NAME \ + -e GIT_USER_EMAIL=$GIT_USER_EMAIL \ + -e GIT_SSH_COMMAND='ssh -i /root/.ssh/id_rsa -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no' \ + --rm \ + -w='/module' \ + ${bamboo.build.docker.image.id} \ + bash -c ' + yum -y install git && + yum clean all && + git config --global user.email "$GIT_USER_EMAIL" && + git config --global user.name "$GIT_USER_NAME" && + git config --global --add safe.directory /module && + ./release-scripts/release-prepare-perform.sh \ + -r ${bamboo.maven.release.version} \ + -d ${bamboo.maven.development.version} \ + -e ${bamboo.planRepository.repositoryUrl} + ' + environment: GIT_USER_NAME=${bamboo.git.user.name} GIT_USER_EMAIL=${bamboo.git.user.email} + description: Release prepare perform + - any-task: + plugin-key: com.atlassian.bamboo.plugins.variable.updater.variable-updater-generic:variable-extractor + configuration: + variable: maven.release.version + removeSnapshot: 'true' + variableScope: PLAN + description: Save next release version + - any-task: + plugin-key: com.atlassian.bamboo.plugins.variable.updater.variable-updater-generic:variable-extractor + configuration: + variable: maven.development.version + variableScope: JOB + description: Retrieve next snaphot version + artifact-subscriptions: [] +variables: + build.docker.image.id: maven:3.9.9-amazoncorretto-21 + maven.development.version: '' + maven.release.version: 1.29.0 + refapp.distro.property: reportingVersion +repositories: +- Git: + type: git + description: A Git Repository + url: https://github.com/openmrs/openmrs-module-reporting.git + branch: master + command-timeout-minutes: '180' + lfs: 'false' + verbose-logs: 'false' + use-shallow-clones: 'true' + cache-on-agents: 'false' + submodules: 'false' + ssh-key-applies-to-submodules: 'false' + fetch-all: 'false' +- Release scripts: + scope: global +triggers: +- polling: + period: '180' + repositories: + - Git +branches: + create: manually + delete: never + link-to-jira: true +notifications: +- events: + - job-failed + recipients: + - committers + - emails: + - dev-refapp@openmrs.org +labels: +- refapp +dependencies: + require-all-stages-passing: false + enabled-for-branches: true + block-strategy: block_if_parent_has_changes + plans: + - REFAPP-OMODDISTRO + - EMRAPI-EMRAPI + - REPREST-REPREST + - REPUI-REPUI +other: + concurrent-build-plugin: system-default +--- +version: 2 +plan: + key: REP-REP +plan-permissions: +- roles: + - anonymous + permissions: + - view +...