name: Linter & Test on: push: branches: - main paths: - 'electron/**' - .github/workflows/linter-and-test.yml - 'web/**' - 'package.json' - 'node_modules/**' - 'yarn.lock' pull_request: branches: - main paths: - 'electron/**' - .github/workflows/linter-and-test.yml - 'web/**' - '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: Linter and test run: | yarn config set network-timeout 300000 yarn build:core yarn install yarn lint yarn build:plugins yarn build 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 Remove-Item -Path "$Env:APPDATA\jan" -Force -Recurse - name: Getting the repo uses: actions/checkout@v3 - name: Installing node uses: actions/setup-node@v1 with: node-version: 20 - name: Linter and test run: | yarn config set network-timeout 300000 yarn build:core yarn install yarn lint yarn build:plugins yarn build:win32 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: 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 lint yarn build:plugins yarn build:linux yarn test