diff --git a/.github/workflows/vscode.yml b/.github/workflows/vscode.yml index 6de0389547c..5e7bbbe1362 100644 --- a/.github/workflows/vscode.yml +++ b/.github/workflows/vscode.yml @@ -21,23 +21,23 @@ jobs: uses: actions/checkout@v4 # Generate Karavan UI model and API, Kamelets and Components - # - name: Set up JDK 17 - # uses: actions/setup-java@v4 - # with: - # distribution: adopt - # java-version: 17 + - name: Set up JDK 17 + uses: actions/setup-java@v4 + with: + distribution: adopt + java-version: 17 - # - name: Cache local Maven repository - # uses: actions/cache@v4 - # with: - # path: | - # ~/.m2/repository - # !~/.m2/repository/org/apache/camel/karavan - # key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} - # restore-keys: ${{ runner.os }}-maven- + - name: Cache local Maven repository + uses: actions/cache@v4 + 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 - # run: mvn clean package -f karavan-generator && java -jar karavan-generator/target/karavan-generator-${{ env.TAG }}.jar + - name: Generate Karavan UI model and API, Kamelets and Components + run: mvn clean package -f karavan-generator && java -jar karavan-generator/target/karavan-generator-${{ env.TAG }}.jar # Building Karavan Core - name: Set up Node @@ -45,9 +45,9 @@ jobs: with: node-version: '24' - # - name: Karavan Core install - # working-directory: ./karavan-core - # run: npm install + - name: Karavan Core install + working-directory: ./karavan-core + run: npm install # Building Karavan VSCode extensions - name: Karavan VS Code extension (install dependencies) diff --git a/karavan-app/src/main/webui/src/karavan/features/integration/integration-containers/DeploymentButtons.tsx b/karavan-app/src/main/webui/src/karavan/features/integration/integration-containers/DeploymentButtons.tsx index 78efed5afc0..1b48a6f17a5 100644 --- a/karavan-app/src/main/webui/src/karavan/features/integration/integration-containers/DeploymentButtons.tsx +++ b/karavan-app/src/main/webui/src/karavan/features/integration/integration-containers/DeploymentButtons.tsx @@ -19,7 +19,7 @@ import React, {useState} from 'react'; import {Button,} from '@patternfly/react-core'; import '@features/integration/designer/karavan.css'; -import {useProjectStore, useStatusesStore} from "@stores/ProjectStore"; +import {useFilesStore, useProjectStore, useStatusesStore} from "@stores/ProjectStore"; import {shallow} from "zustand/shallow"; import RolloutIcon from "@patternfly/react-icons/dist/esm/icons/process-automation-icon"; import DeployIcon from "@patternfly/react-icons/dist/esm/icons/upload-icon"; @@ -27,6 +27,7 @@ import DeleteIcon from "@patternfly/react-icons/dist/esm/icons/trash-icon"; import {KaravanApi} from "@api/KaravanApi"; import {EventBus} from "@features/integration/designer/utils/EventBus"; import {ModalConfirmation} from "@shared/ui/ModalConfirmation"; +import {KUBERNETES_YAML} from "@models/ProjectModels"; interface Props { env: string, @@ -36,6 +37,7 @@ export function DeploymentButtons (props: Props) { const [project] = useProjectStore((s) => [s.project], shallow); const [deployments] = useStatusesStore((s) => [s.deployments], shallow); + const [files] = useFilesStore((s) => [s.files], shallow); const [showDeleteConfirmation, setShowDeleteConfirmation] = useState(false); const [showDeployConfirmation, setShowDeployConfirmation] = useState(false); const [showRolloutConfirmation, setShowRolloutConfirmation] = useState(false); @@ -112,7 +114,7 @@ export function DeploymentButtons (props: Props) { return (
{deploymentStatus !== undefined &&
{rolloutButton()}
} - {deploymentStatus === undefined &&
{deployButton()}
} + {deploymentStatus === undefined && files.some(f => f.name === KUBERNETES_YAML) &&
{deployButton()}
} {deploymentStatus !== undefined &&
{deleteButton()}
} {showDeleteConfirmation &&