Add a GitHub workflow
diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md
new file mode 100644
index 0000000..230a398
--- /dev/null
+++ b/.github/pull_request_template.md
@@ -0,0 +1,2 @@
+Note that the `master` branch points at the latest stable Camel Quarkus release.
+Pull requests should be generally send against the `camel-quarkus-master` branch pointing at the current Camel Quarkus SNAPSHOT.
\ No newline at end of file
diff --git a/.github/workflows/ci-build.yaml b/.github/workflows/ci-build.yaml
new file mode 100644
index 0000000..344411f
--- /dev/null
+++ b/.github/workflows/ci-build.yaml
@@ -0,0 +1,73 @@
+#
+# 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: Camel Quarkus CI
+
+on:
+  push:
+    branches:
+      - master
+      - camel-quarkus-master
+    paths-ignore:
+      - '**.adoc'
+      - 'Jenkinsfile'
+      - 'KEYS'
+      - 'LICENSE.txt'
+      - 'NOTICE.txt'
+  pull_request:
+    branches:
+      - master
+      - camel-quarkus-master
+    paths-ignore:
+      - '**.adoc'
+      - 'Jenkinsfile'
+      - 'KEYS'
+      - 'LICENSE.txt'
+      - 'NOTICE.txt'
+
+env:
+  LANG: en_US.UTF-8
+  MAVEN_OPTS: -Xmx3000m
+  MAVEN_ARGS: -V -ntp -Dhttp.keepAlive=false -Dmaven.wagon.http.pool=false -e
+
+jobs:
+  mvn-verify:
+    runs-on: ubuntu-latest
+    steps:
+      - name: Cancel Previous Runs
+        uses: n1hility/cancel-previous-runs@v2
+        with:
+          token: ${{ secrets.GITHUB_TOKEN }}
+      - name: Set up JDK 11
+        uses: AdoptOpenJDK/install-jdk@v1
+        with:
+          version: '11'
+      - name: Checkout
+        uses: actions/checkout@v2
+      - name: mvn license:check formatter:validate impsort:check
+        run: |
+          ./mvnw-for-each.sh ${MAVEN_ARGS} \
+            license:check \
+            net.revelc.code.formatter:formatter-maven-plugin:validate \
+            net.revelc.code:impsort-maven-plugin:check
+      - name: mvn clean verify -Pnative,docker
+        run: |
+          ./mvnw-for-each.sh ${MAVEN_ARGS} clean verify -Pnative,docker
+      - name: Fail if there are uncommitted changes
+        shell: bash
+        run: |
+          [[ -z $(git status --porcelain) ]] || { echo 'There are uncommitted changes'; git status; exit 1; }