This repository has been archived by the owner on Nov 12, 2024. It is now read-only.
Insider CI #550
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Insider CI | |
on: | |
schedule: | |
- cron: "0 0 * * *" # Every day at midnight | |
workflow_dispatch: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }} | |
cancel-in-progress: true | |
jobs: | |
insider: | |
strategy: | |
matrix: | |
os: [ubuntu-latest] | |
version: [latest] # [x.x.x | latest | max] | |
type: [insider] # [stable | insider] | |
fail-fast: false | |
env: | |
CODE_VERSION: ${{ matrix.version }} | |
CODE_TYPE: ${{ matrix.type }} | |
VSCODE_CAMELK_GITHUB_TOKEN: ${{ github.token }} | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout Repository | |
uses: actions/checkout@v4 | |
- name: Setup Node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 18.x | |
cache: npm | |
- name: Install global dependencies | |
run: npm install -g typescript @vscode/vsce | |
- name: npm-ci | |
run: npm ci | |
- name: npm-compile | |
run: npm run compile | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v4 | |
with: | |
java-version: 17 | |
distribution: "temurin" | |
- name: Install JBang | |
run: | | |
curl -Ls https://sh.jbang.dev | bash -s - app setup | |
echo "$HOME/.jbang/bin" >> $GITHUB_PATH | |
- name: Setup JBang (trusted sources) | |
run: jbang trust add https://github.com/apache/ | |
- name: Start minikube | |
uses: medyagh/setup-minikube@v0.0.18 | |
with: | |
minikube-version: 1.33.1 | |
driver: docker | |
addons: registry | |
- name: Configure Kamel (ubuntu) | |
if: matrix.os == 'ubuntu-latest' | |
run: | | |
curl -Lo kamel.tar.gz https://github.com/apache/camel-k/releases/download/v2.3.3/camel-k-client-2.3.3-linux-amd64.tar.gz | |
tar -zxvf kamel.tar.gz | |
chmod +x kamel | |
sudo mv kamel /usr/local/bin/ | |
kamel install | |
sudo rm /usr/local/bin/kamel | |
sudo apt-get remove -y kubectl | |
- name: npm-ci | |
run: npm ci | |
- name: npm-vscode:prepublish | |
run: npm run vscode:prepublish | |
- name: test (ubuntu) | |
if: matrix.os == 'ubuntu-latest' | |
run: xvfb-run --auto-servernum npm test | |
- name: ui test (Ubuntu) | |
id: uiTest_Ubuntu | |
if: matrix.os == 'ubuntu-latest' | |
run: xvfb-run --auto-servernum npm run ui-test | |
- name: vsce-package | |
run: vsce package | |
- name: Store VS Code Logs (Ubuntu) | |
uses: actions/upload-artifact@v4 | |
if: | | |
(failure() || cancelled()) && | |
(steps.uiTest_Ubuntu.outcome == 'failure' || | |
steps.uiTest_Ubuntu.outcome == 'cancelled') | |
with: | |
name: ${{ matrix.os }}-${{ matrix.version }}-vscode-logs | |
path: ~/.config/Code/logs/* | |
- name: Store UI test log | |
uses: actions/upload-artifact@v4 | |
if: | | |
(failure() || cancelled()) && | |
(steps.uiTest_Ubuntu.outcome == 'failure' || | |
steps.uiTest_Ubuntu.outcome == 'cancelled') | |
with: | |
name: ${{ matrix.os }}-${{ matrix.version }}-ui-test-logs | |
path: test-resources/settings/logs/* | |
- name: Store UI Test Screenshots | |
uses: actions/upload-artifact@v4 | |
if: failure() && (steps.uiTest_Ubuntu.outcome == 'failure') | |
with: | |
name: ${{ matrix.os }}-${{ matrix.version }}-ui-test-screenshots | |
path: test-resources/screenshots/*.png |