Skip to content

Commit

Permalink
feat(pom): add automation to update versions
Browse files Browse the repository at this point in the history
  • Loading branch information
mboskamp committed Oct 14, 2024
1 parent db01cc9 commit bc85ec9
Show file tree
Hide file tree
Showing 3 changed files with 192 additions and 48 deletions.
20 changes: 20 additions & 0 deletions .github/workflows/bump-versions.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: Bump all versions in all examples
on: workflow_dispatch

jobs:
bump-versions:
runs-on: ubuntu-latest
steps:
- name: Check out repository code
uses: actions/checkout@v4
- name: Set up Java environment
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
- name: Run Maven with bump-versions profile
run: mvn clean package
- name: Create Pull Request
run: gh pr create --base master --head bump-versions --title 'Bump all dependency and Camunda versions' --body 'Created by Github action' --assignee @me
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
109 changes: 109 additions & 0 deletions internal/version-bump/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.camunda.bpm.quickstart</groupId>
<artifactId>root</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>Camunda Examples Root</name>

<properties>
<version.camunda>7.99.0</version.camunda>
<version.junit>4.99.2</version.junit>
<version.h2>2.99.0</version.h2>
<version.slf4j>1.99.36</version.slf4j>
<maven.compiler.release>99</maven.compiler.release>
<maven.compiler.version>3.99.0</maven.compiler.version>

<internal.version-bump.include>**/pom.xml</internal.version-bump.include>
<internal.version-bump.exclude>/internal/**</internal.version-bump.exclude>
<internal.version-bump.dir>../..</internal.version-bump.dir>
</properties>

<profiles>
<profile>
<id>bump-versions</id>
<build>
<plugins>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>3.1.0</version>
<executions>
<execution>
<phase>package</phase>
<configuration>
<target>
<!-- CAMUNDA VERSION -->
<replaceregexp byline="true">
<regexp pattern="(&lt;version.camunda&gt;).*(&lt;/version.camunda&gt;)"/>
<substitution expression="\1${version.camunda}\2"/>
<fileset dir="${internal.version-bump.dir}">
<include name="${internal.version-bump.include}"/>
<exclude name="${internal.version-bump.exclude}"/>
</fileset>
</replaceregexp>

<!-- JUNIT VERSION -->
<replaceregexp byline="true">
<regexp pattern="(&lt;version.junit&gt;).*(&lt;/version.junit&gt;)"/>
<substitution expression="\1${version.junit}\2"/>
<fileset dir="${internal.version-bump.dir}">
<include name="${internal.version-bump.include}"/>
<exclude name="${internal.version-bump.exclude}"/>
</fileset>
</replaceregexp>

<!-- H2 VERSION -->
<replaceregexp byline="true">
<regexp pattern="(&lt;version.h2&gt;).*(&lt;/version.h2&gt;)"/>
<substitution expression="\1${version.h2}\2"/>
<fileset dir="${internal.version-bump.dir}">
<include name="${internal.version-bump.include}"/>
<exclude name="${internal.version-bump.exclude}"/>
</fileset>
</replaceregexp>

<!-- SLF4J VERSION -->
<replaceregexp byline="true">
<regexp pattern="(&lt;version.slf4j&gt;).*(&lt;/version.slf4j&gt;)"/>
<substitution expression="\1${version.slf4j}\2"/>
<fileset dir="${internal.version-bump.dir}">
<include name="${internal.version-bump.include}"/>
<exclude name="${internal.version-bump.exclude}"/>
</fileset>
</replaceregexp>

<!-- JAVA VERSION -->
<replaceregexp byline="true">
<regexp pattern="(&lt;maven.compiler.release&gt;).*(&lt;/maven.compiler.release&gt;)"/>
<substitution expression="\1${maven.compiler.release}\2"/>
<fileset dir="${internal.version-bump.dir}">
<include name="${internal.version-bump.include}"/>
<exclude name="${internal.version-bump.exclude}"/>
</fileset>
</replaceregexp>

<!-- MAVEN COMPILER VERSION -->
<replaceregexp byline="true">
<regexp pattern="(&lt;maven.compiler.version&gt;).*(&lt;/maven.compiler.version&gt;)"/>
<substitution expression="\1${maven.compiler.version}\2"/>
<fileset dir="${internal.version-bump.dir}">
<include name="${internal.version-bump.include}"/>
<exclude name="${internal.version-bump.exclude}"/>
</fileset>
</replaceregexp>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>


</project>
111 changes: 63 additions & 48 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,53 +6,68 @@
<packaging>pom</packaging>
<version>1.0.0</version>

<modules>
<module>bpmn-model-api/generate-process-fluent-api</module>
<module>bpmn-model-api/parse-bpmn</module>
<module>clients/java/order-handling</module>
<module>cockpit/cockpit-fullstack-count-processes</module>
<module>deployment/spring-servlet-pa-tomcat</module>
<module>deployment/spring-servlet-pa-wildfly</module>
<module>deployment/servlet-pa</module>
<module>deployment/embedded-spring-rest</module>
<module>deployment/ejb-pa</module>
<module>deployment/ejb-pa-jakarta</module>
<module>dmn-engine/dmn-engine-drg</module>
<module>dmn-engine/dmn-engine-java-main-method</module>
<module>multi-tenancy/schema-isolation</module>
<module>multi-tenancy/tenant-identifier-embedded</module>
<module>multi-tenancy/tenant-identifier-shared</module>
<module>multi-tenancy/tenant-identifier-shared-definitions</module>
<module>process-engine-plugin/bpmn-parse-listener</module>
<module>process-engine-plugin/command-interceptor-blocking</module>
<module>process-engine-plugin/custom-history-level</module>
<module>process-engine-plugin/failed-job-retry-profile</module>
<module>process-engine-plugin/handling-jpa-variables</module>
<module>quarkus-extension/datasource-example</module>
<module>quarkus-extension/spin-plugin-example</module>
<module>scripttask/xslt-scripttask</module>
<module>servicetask/service-invocation-asynchronous</module>
<module>servicetask/service-invocation-synchronous</module>
<module>servicetask/rest-service</module>
<module>spin/dataformat-configuration-global</module>
<module>spin/dataformat-configuration-in-process-application</module>
<module>spring-boot-starter/example-invoice</module>
<module>spring-boot-starter/example-simple</module>
<module>spring-boot-starter/example-twitter</module>
<module>spring-boot-starter/example-web</module>
<module>spring-boot-starter/example-webapp</module>
<module>spring-boot-starter/example-webapp-ee</module>
<module>spring-boot-starter/external-task-client/loan-granting-spring-boot-webapp</module>
<module>startevent/message-start</module>
<module>testing/assert/job-announcement-publication-process</module>
<module>testing/junit5/camunda-bpm-junit-assert</module>
<module>testing/junit5/camunda-bpm-junit-use-engine</module>
<module>usertask/task-camunda-forms</module>
<module>usertask/task-form-embedded</module>
<module>usertask/task-form-embedded-bpmn-events</module>
<module>usertask/task-form-embedded-json-variables</module>
<module>usertask/task-form-embedded-react</module>
<module>wildfly/jackson-annotations</module>
</modules>
<profiles>
<profile>
<id>default</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<modules>
<module>bpmn-model-api/generate-process-fluent-api</module>
<module>bpmn-model-api/parse-bpmn</module>
<module>clients/java/order-handling</module>
<module>cockpit/cockpit-fullstack-count-processes</module>
<module>deployment/spring-servlet-pa-tomcat</module>
<module>deployment/spring-servlet-pa-wildfly</module>
<module>deployment/servlet-pa</module>
<module>deployment/embedded-spring-rest</module>
<module>deployment/ejb-pa</module>
<module>deployment/ejb-pa-jakarta</module>
<module>dmn-engine/dmn-engine-drg</module>
<module>dmn-engine/dmn-engine-java-main-method</module>
<module>multi-tenancy/schema-isolation</module>
<module>multi-tenancy/tenant-identifier-embedded</module>
<module>multi-tenancy/tenant-identifier-shared</module>
<module>multi-tenancy/tenant-identifier-shared-definitions</module>
<module>process-engine-plugin/bpmn-parse-listener</module>
<module>process-engine-plugin/command-interceptor-blocking</module>
<module>process-engine-plugin/custom-history-level</module>
<module>process-engine-plugin/failed-job-retry-profile</module>
<module>process-engine-plugin/handling-jpa-variables</module>
<module>quarkus-extension/datasource-example</module>
<module>quarkus-extension/spin-plugin-example</module>
<module>scripttask/xslt-scripttask</module>
<module>servicetask/service-invocation-asynchronous</module>
<module>servicetask/service-invocation-synchronous</module>
<module>servicetask/rest-service</module>
<module>spin/dataformat-configuration-global</module>
<module>spin/dataformat-configuration-in-process-application</module>
<module>spring-boot-starter/example-invoice</module>
<module>spring-boot-starter/example-simple</module>
<module>spring-boot-starter/example-twitter</module>
<module>spring-boot-starter/example-web</module>
<module>spring-boot-starter/example-webapp</module>
<module>spring-boot-starter/example-webapp-ee</module>
<module>spring-boot-starter/external-task-client/loan-granting-spring-boot-webapp</module>
<module>startevent/message-start</module>
<module>testing/assert/job-announcement-publication-process</module>
<module>testing/junit5/camunda-bpm-junit-assert</module>
<module>testing/junit5/camunda-bpm-junit-use-engine</module>
<module>usertask/task-camunda-forms</module>
<module>usertask/task-form-embedded</module>
<module>usertask/task-form-embedded-bpmn-events</module>
<module>usertask/task-form-embedded-json-variables</module>
<module>usertask/task-form-embedded-react</module>
<module>wildfly/jackson-annotations</module>
</modules>
</profile>
<profile>
<id>bump-versions</id>
<modules>
<module>internal/version-bump</module>
</modules>
</profile>
</profiles>


</project>

0 comments on commit bc85ec9

Please sign in to comment.