name: Jan Electron Linter & Test on: push: branches: - main paths: - "electron/**" - .github/workflows/jan-electron-linter-and-test.yml - "web/**" - "uikit/**" - "package.json" - "node_modules/**" - "yarn.lock" pull_request: branches: - main paths: - "electron/**" - .github/workflows/jan-electron-linter-and-test.yml - "web/**" - "uikit/**" - "package.json" - "node_modules/**" - "yarn.lock" jobs: test-on-macos: runs-on: [self-hosted, macOS, macos-desktop] steps: - name: "Cleanup build folder" run: | ls -la ./ rm -rf ./* || true rm -rf ./.??* || true ls -la ./ rm -rf ~/Library/Application\ Support/jan - name: Getting the repo uses: actions/checkout@v3 - name: Installing node uses: actions/setup-node@v1 with: node-version: 20 - name: Build uikit run: | cd uikit yarn install yarn build - name: Linter and test run: | yarn config set network-timeout 300000 yarn build:core yarn install yarn lint yarn build:plugins yarn build:test yarn test env: CSC_IDENTITY_AUTO_DISCOVERY: "false" test-on-windows: runs-on: [self-hosted, Windows, windows-desktop] steps: - name: Clean workspace run: | Remove-Item -Path .\* -Force -Recurse $path = "$Env:APPDATA\jan" if (Test-Path $path) { Remove-Item $path -Recurse -Force } else { Write-Output "Folder does not exist." } - name: Getting the repo uses: actions/checkout@v3 - name: Installing node uses: actions/setup-node@v1 with: node-version: 20 - name: Build uikit run: | yarn config set network-timeout 300000 cd uikit yarn install yarn build - name: Linter and test shell: powershell run: | yarn config set network-timeout 300000 yarn build:core yarn install $env:NITRO_VERSION = Get-Content .\plugins\inference-plugin\nitro\version.txt; echo $env:NITRO_VERSION yarn build:plugins-windows yarn build:test-win32 $env:CI="e2e" yarn test test-on-ubuntu: runs-on: [self-hosted, Linux, ubuntu-desktop] steps: - name: "Cleanup build folder" run: | ls -la ./ rm -rf ./* || true rm -rf ./.??* || true ls -la ./ rm -rf ~/.config/jan - name: Getting the repo uses: actions/checkout@v3 - name: Installing node uses: actions/setup-node@v1 with: node-version: 20 - name: Build uikit run: | cd uikit yarn install yarn build - name: Linter and test run: | export DISPLAY=$(w -h | awk 'NR==1 {print $2}') echo -e "Display ID: $DISPLAY" yarn config set network-timeout 300000 yarn build:core yarn install yarn build:plugins-linux yarn build:test-linux yarn test