| # --------------------------------------------------------------------------- |
| # 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: YAKS Tests |
| |
| on: |
| pull_request: |
| branches: |
| - main |
| paths-ignore: |
| - '**.adoc' |
| - 'KEYS' |
| - 'LICENSE' |
| - 'NOTICE' |
| push: |
| branches: |
| - main |
| paths-ignore: |
| - '**.adoc' |
| - 'KEYS' |
| - 'LICENSE' |
| - 'NOTICE' |
| workflow_dispatch: |
| |
| concurrency: |
| group: ${{ github.ref }}-${{ github.workflow }} |
| cancel-in-progress: true |
| |
| env: |
| YAKS_VERSION: 0.14.2 |
| YAKS_RUN_OPTIONS: "--timeout=15m --local -e YAKS_CAMELK_MAX_ATTEMPTS=10 -e YAKS_JBANG_CAMEL_VERSION=4.0.0-M1 -e YAKS_JBANG_KAMELETS_LOCAL_DIR=../../../kamelets" |
| |
| jobs: |
| test: |
| runs-on: ubuntu-latest |
| steps: |
| - name: Checkout code |
| uses: actions/checkout@v3 |
| with: |
| persist-credentials: false |
| - name: Set up JDK |
| uses: actions/setup-java@v3 |
| with: |
| distribution: 'temurin' |
| java-version: 17 |
| cache: 'maven' |
| - name: Build Kamelet libraries |
| run: | |
| ./mvnw clean install -DskipTests |
| - name: Get YAKS CLI |
| run: | |
| curl --fail -L --silent https://github.com/citrusframework/yaks/releases/download/v${YAKS_VERSION}/yaks-${YAKS_VERSION}-linux-64bit.tar.gz -o yaks.tar.gz |
| mkdir -p _yaks |
| tar -zxf yaks.tar.gz --directory ./_yaks |
| sudo mv ./_yaks/yaks /usr/local/bin/ |
| rm yaks.tar.gz |
| rm -r _yaks |
| - name: Info |
| run: | |
| yaks version |
| - name: YAKS Tests |
| run: | |
| echo "Install JBang via SDKMAN" |
| |
| curl -s "https://get.sdkman.io" | bash |
| source "/home/runner/.sdkman/bin/sdkman-init.sh" |
| sdk install jbang |
| |
| jbang trust add https://github.com/citrusframework/yaks/ |
| jbang trust add https://github.com/apache/camel/ |
| |
| jbang yaks@citrusframework/yaks --version |
| jbang camel@apache/camel --version |
| |
| echo "Running YAKS tests for Kamelets" |
| |
| yaks run test/aws-ddb-sink $YAKS_RUN_OPTIONS |
| yaks run test/aws-s3 $YAKS_RUN_OPTIONS |
| |
| yaks run test/extract-field-action $YAKS_RUN_OPTIONS |
| yaks run test/insert-field-action $YAKS_RUN_OPTIONS |
| |
| yaks run test/mail-sink $YAKS_RUN_OPTIONS |
| yaks run test/timer-source $YAKS_RUN_OPTIONS |
| yaks run test/timer-to-http $YAKS_RUN_OPTIONS |
| yaks run test/data-type-action $YAKS_RUN_OPTIONS |
| yaks run test/earthquake-source $YAKS_RUN_OPTIONS |
| yaks run test/rest-openapi-sink $YAKS_RUN_OPTIONS |
| yaks run test/kafka $YAKS_RUN_OPTIONS |
| - uses: actions/upload-artifact@v3 |
| if: failure() |
| with: |
| name: dumps |
| path: test/**/.yaks-jbang/*-output.txt |