name: VS Code extension on: push: branches: [ main ] paths: ['karavan-vscode/**', 'karavan-core/**', 'karavan-designer/**', '.github/workflows/vscode.yml'] workflow_dispatch: pull_request: branches: [ main ] env: TAG: 4.7.0 jobs: build: runs-on: ubuntu-latest steps: - name: Checkout 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: 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 # Building Karavan Core - name: Set up Node uses: actions/setup-node@v4 with: node-version: '20' - name: Karavan Core install working-directory: ./karavan-core run: npm install # Building Karavan VSCode extensions - name: Karavan VS Code extension (install dependencies) working-directory: ./karavan-vscode run: npm update && npm install - name: Karavan VS Code extension (install vsce) working-directory: ./karavan-vscode run: npm install -g @vscode/vsce - name: Karavan VS Code extension (package) working-directory: ./karavan-vscode run: vsce package - name: Karavan VS Code extension (upload) uses: actions/upload-artifact@v3 with: name: camel-karavan-vscode.vsix path: ./karavan-vscode/*.vsix if: ${{ github.ref == 'refs/heads/main' }}