| name: Web application |
| |
| on: |
| push: |
| branches: [ main ] |
| paths: ['karavan-web/karavan-app/**', 'karavan-core/**', 'karavan-designer/**', '.github/workflows/app.yml'] |
| workflow_dispatch: |
| pull_request: |
| branches: [ main ] |
| |
| env: |
| REGISTRY: ghcr.io |
| TAG: 4.1.0 |
| |
| jobs: |
| build: |
| runs-on: ubuntu-latest |
| steps: |
| - name: Checkout Karavan |
| uses: actions/checkout@v3 |
| with: |
| path: karavan |
| |
| - name: Set up JDK 17 |
| uses: actions/setup-java@v3 |
| with: |
| distribution: adopt |
| java-version: 17 |
| |
| - name: Cache local Maven repository |
| uses: actions/cache@v3 |
| with: |
| path: | |
| ~/.m2/repository |
| !~/.m2/repository/org/apache/camel/karavan |
| key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} |
| restore-keys: ${{ runner.os }}-maven- |
| |
| - name: Generate Karavan UI model and API, Kamelets and Components |
| working-directory: ./karavan |
| run: | |
| mvn clean compile exec:java -f karavan-generator \ |
| -Dexec.mainClass="org.apache.camel.karavan.generator.KaravanGenerator" |
| |
| # Building Karavan Core |
| - name: Set up Node |
| uses: actions/setup-node@v3 |
| with: |
| node-version: '18.14.2' |
| |
| - name: Karavan Core install |
| working-directory: ./karavan/karavan-core |
| run: npm ci |
| |
| # Build Karavan web app with public access |
| - name: Build application public |
| working-directory: ./karavan/karavan-web/karavan-app |
| run: | |
| mvn package -Dquarkus.profile=public -DskipTests \ |
| -Dquarkus.quinoa.package-manager-install=false \ |
| -Dquarkus.container-image.build=true \ |
| -Dquarkus.container-image.push=true \ |
| -Dquarkus.container-image.image=${{ env.REGISTRY }}/${GITHUB_REPOSITORY}:${{ env.TAG }} \ |
| -Dquarkus.container-image.username=${{ github.actor }} \ |
| -Dquarkus.container-image.password=${{ secrets.GITHUB_TOKEN }} |
| if: ${{ github.ref == 'refs/heads/main' }} |
| |
| # Build Karavan web app with basic authorization |
| # - name: Build application basic auth |
| # working-directory: ./karavan/karavan-web/karavan-app |
| # run: | |
| # mvn package -Dquarkus.profile=basic -DskipTests \ |
| # -Dquarkus.quinoa.package-manager-install=false \ |
| # -Dquarkus.container-image.build=true \ |
| # -Dquarkus.container-image.push=true \ |
| # -Dquarkus.container-image.image=${{ env.REGISTRY }}/${GITHUB_REPOSITORY}-basic:${{ env.TAG }} \ |
| # -Dquarkus.container-image.username=${{ github.actor }} \ |
| # -Dquarkus.container-image.password=${{ secrets.GITHUB_TOKEN }} |
| # if: ${{ github.ref == 'refs/heads/main' }} |
| |
| # Build Karavan web app with oidc authorization |
| # - name: Build application oidc |
| # working-directory: ./karavan/karavan-web/karavan-app |
| # run: | |
| # mvn package -Dquarkus.profile=oidc -DskipTests \ |
| # -Dquarkus.quinoa.package-manager-install=false \ |
| # -Dquarkus.container-image.build=true \ |
| # -Dquarkus.container-image.push=true \ |
| # -Dquarkus.container-image.image=${{ env.REGISTRY }}/${GITHUB_REPOSITORY}-oidc:${{ env.TAG }} \ |
| # -Dquarkus.container-image.username=${{ github.actor }} \ |
| # -Dquarkus.container-image.password=${{ secrets.GITHUB_TOKEN }} |
| # if: ${{ github.ref == 'refs/heads/main' }} |