You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ja...@apache.org on 2020/10/30 10:01:19 UTC
[camel-quarkus] branch master updated: Automate the process of
creating jvm only extensions
This is an automated email from the ASF dual-hosted git repository.
jamesnetherton pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git
The following commit(s) were added to refs/heads/master by this push:
new 449caff Automate the process of creating jvm only extensions
449caff is described below
commit 449caffbeda3159272e365c374bc9347004b949b
Author: James Netherton <ja...@gmail.com>
AuthorDate: Fri Oct 30 09:42:55 2020 +0000
Automate the process of creating jvm only extensions
Fixes #1561
---
.github/workflows/generate-jvm-extension.yaml | 82 +++++++++++++++++++++++++++
1 file changed, 82 insertions(+)
diff --git a/.github/workflows/generate-jvm-extension.yaml b/.github/workflows/generate-jvm-extension.yaml
new file mode 100644
index 0000000..a71a955
--- /dev/null
+++ b/.github/workflows/generate-jvm-extension.yaml
@@ -0,0 +1,82 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+name: Generate JVM Extensions
+
+on:
+ workflow_dispatch:
+ inputs:
+ artifactIds:
+ description: 'Comma separated list of Camel component artifact ids. E.g activemq,ahc-ws,kafka'
+ required: true
+
+jobs:
+ generate-jvm-extensions:
+ if: github.repository == 'apache/camel-quarkus'
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v2
+ - name: Set up JDK 11
+ uses: AdoptOpenJDK/install-jdk@v1
+ with:
+ version: '11'
+ - name: Generate JVM Extensions
+ id: generate
+ if: ${{ steps.generate.outputs.extensions-added }} == "true"
+ run: |
+ git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com"
+ git config --local user.name "github-actions[bot]"
+
+ ARTIFACT_IDS=$(echo "${{ github.event.inputs.artifactIds }}" | sed 's/camel-//g')
+ BRANCH_NAME="add-jvm-extensions-$(uuidgen | cut -f1 -d'-')"
+
+ git checkout -b ${BRANCH_NAME}
+
+ # Unfortunately the catalog requires all of the extension projects to be built...
+ sed -i -e '/<module>integration\-tests\-support<\/module>/d' -e '/<module>integration\-tests<\/module>/d' -e '/<module>docs<\/module>/d' ./pom.xml
+ ./mvnw -V -ntp -Dquickly clean install -T1C
+
+ # Remove pom hacks
+ git reset --hard HEAD
+
+ OLDIFS=${IFS}
+ IFS=,
+
+ for ARTIFACT_ID in ${ARTIFACT_IDS}; do
+ # Create extension
+ ./mvnw -V -ntp cq:create -N -Dcq.artifactIdBase=${ARTIFACT_ID} -Dcq.nativeSupported=false
+
+ # Verify extension builds, run formatting steps & docs generation
+ ./mvnw -V -ntp \
+ -pl extensions-jvm/${ARTIFACT_ID} \
+ -pl extensions-jvm/${ARTIFACT_ID}/runtime \
+ -pl extensions-jvm/${ARTIFACT_ID}/deployment \
+ -pl extensions-jvm/${ARTIFACT_ID}/integration-test clean package
+
+ git add .
+ git commit -m "${ARTIFACT_ID} JVM support"
+ done
+
+ IFS=${OLDIFS}
+
+ git push --set-upstream origin ${BRANCH_NAME}
+
+ GITHUB_TOKEN=${{ secrets.GITHUB_TOKEN }} gh pr create \
+ --title="Add JVM only extensions for ${ARTIFACT_IDS}" \
+ --body="This is an auto-generated pull request to add JVM only support for <code>${ARTIFACT_IDS}</code>.<br/><br/>You can edit the changes by checking out branch <code>${BRANCH_NAME}</code>." \
+ --label="JVM"