name: Test - Linter & Playwright on: workflow_dispatch: push: branches: - main - dev paths: - "electron/**" - .github/workflows/jan-electron-linter-and-test.yml - "web/**" - "uikit/**" - "package.json" - "node_modules/**" - "yarn.lock" - "core/**" - "extensions/**" - "!README.md" - "Makefile" pull_request: branches: - main - dev - release/** paths: - "electron/**" - .github/workflows/jan-electron-linter-and-test.yml - "web/**" - "uikit/**" - "package.json" - "node_modules/**" - "yarn.lock" - "Makefile" - "extensions/**" - "core/**" - "!README.md" jobs: test-on-macos: if: (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository) || github.event_name == 'push' || github.event_name == 'workflow_dispatch' runs-on: [self-hosted, macOS, macos-desktop] steps: - name: Getting the repo uses: actions/checkout@v3 with: fetch-depth: 0 - name: Installing node uses: actions/setup-node@v3 with: node-version: 20 - name: "Cleanup cache" continue-on-error: true run: | rm -rf ~/jan make clean # - name: Get Commit Message for PR # if : github.event_name == 'pull_request' # run: | # echo "REPORT_PORTAL_DESCRIPTION=${{github.event.after}})" >> $GITHUB_ENV # - name: Get Commit Message for push event # if : github.event_name == 'push' # run: | # echo "REPORT_PORTAL_DESCRIPTION=${{github.sha}})" >> $GITHUB_ENV # - name: "Config report portal" # run: | # make update-playwright-config REPORT_PORTAL_URL=${{ secrets.REPORT_PORTAL_URL }} REPORT_PORTAL_API_KEY=${{ secrets.REPORT_PORTAL_API_KEY }} REPORT_PORTAL_PROJECT_NAME=${{ secrets.REPORT_PORTAL_PROJECT_NAME }} REPORT_PORTAL_LAUNCH_NAME="Jan App macos" REPORT_PORTAL_DESCRIPTION="${{env.REPORT_PORTAL_DESCRIPTION}}" - name: Linter and test run: | npm config set registry ${{ secrets.NPM_PROXY }} --global yarn config set registry ${{ secrets.NPM_PROXY }} --global make test env: CSC_IDENTITY_AUTO_DISCOVERY: "false" # TURBO_API: "${{ secrets.TURBO_API }}" # TURBO_TEAM: "macos" # TURBO_TOKEN: "${{ secrets.TURBO_TOKEN }}" test-on-macos-pr-target: if: github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name != github.repository runs-on: [self-hosted, macOS, macos-desktop] steps: - name: Getting the repo uses: actions/checkout@v3 with: fetch-depth: 0 - name: Installing node uses: actions/setup-node@v3 with: node-version: 20 - name: "Cleanup cache" continue-on-error: true run: | rm -rf ~/jan make clean - name: Linter and test run: | npm config set registry https://registry.npmjs.org --global yarn config set registry https://registry.npmjs.org --global make test env: CSC_IDENTITY_AUTO_DISCOVERY: "false" test-on-windows: if: github.event_name == 'push' strategy: fail-fast: false matrix: antivirus-tools: ['mcafee', 'default-windows-security','bit-defender'] runs-on: windows-desktop-${{ matrix.antivirus-tools }} steps: - name: Getting the repo uses: actions/checkout@v3 with: fetch-depth: 0 - name: Installing node uses: actions/setup-node@v3 with: node-version: 20 # Clean cache, continue on error - name: "Cleanup cache" shell: powershell continue-on-error: true run: | $path = "$Env:APPDATA\jan" if (Test-Path $path) { Remove-Item "\\?\$path" -Recurse -Force } else { Write-Output "Folder does not exist." } make clean # - name: Get Commit Message for push event # if : github.event_name == 'push' # shell: bash # run: | # echo "REPORT_PORTAL_DESCRIPTION=${{github.sha}}" >> $GITHUB_ENV # - name: "Config report portal" # shell: bash # run: | # make update-playwright-config REPORT_PORTAL_URL=${{ secrets.REPORT_PORTAL_URL }} REPORT_PORTAL_API_KEY=${{ secrets.REPORT_PORTAL_API_KEY }} REPORT_PORTAL_PROJECT_NAME=${{ secrets.REPORT_PORTAL_PROJECT_NAME }} REPORT_PORTAL_LAUNCH_NAME="Jan App Windows ${{ matrix.antivirus-tools }}" REPORT_PORTAL_DESCRIPTION="${{env.REPORT_PORTAL_DESCRIPTION}}" - name: Linter and test shell: powershell run: | npm config set registry ${{ secrets.NPM_PROXY }} --global yarn config set registry ${{ secrets.NPM_PROXY }} --global make test # env: # TURBO_API: "${{ secrets.TURBO_API }}" # TURBO_TEAM: "windows" # TURBO_TOKEN: "${{ secrets.TURBO_TOKEN }}" test-on-windows-pr: if: (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository) runs-on: windows-desktop-default-windows-security steps: - name: Getting the repo uses: actions/checkout@v3 with: fetch-depth: 0 - name: Installing node uses: actions/setup-node@v1 with: node-version: 20 # Clean cache, continue on error - name: "Cleanup cache" shell: powershell continue-on-error: true run: | $path = "$Env:APPDATA\jan" if (Test-Path $path) { Remove-Item "\\?\$path" -Recurse -Force } else { Write-Output "Folder does not exist." } make clean # - name: Get Commit Message for PR # if : github.event_name == 'pull_request' # shell: bash # run: | # echo "REPORT_PORTAL_DESCRIPTION=${{github.event.after}}" >> $GITHUB_ENV # - name: "Config report portal" # shell: bash # run: | # make update-playwright-config REPORT_PORTAL_URL=${{ secrets.REPORT_PORTAL_URL }} REPORT_PORTAL_API_KEY=${{ secrets.REPORT_PORTAL_API_KEY }} REPORT_PORTAL_PROJECT_NAME=${{ secrets.REPORT_PORTAL_PROJECT_NAME }} REPORT_PORTAL_LAUNCH_NAME="Jan App Windows" REPORT_PORTAL_DESCRIPTION="${{env.REPORT_PORTAL_DESCRIPTION}}" - name: Linter and test shell: powershell run: | npm config set registry ${{ secrets.NPM_PROXY }} --global yarn config set registry ${{ secrets.NPM_PROXY }} --global make test # env: # TURBO_API: "${{ secrets.TURBO_API }}" # TURBO_TEAM: "windows" # TURBO_TOKEN: "${{ secrets.TURBO_TOKEN }}" test-on-windows-pr-target: if: github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name != github.repository runs-on: windows-desktop-default-windows-security steps: - name: Getting the repo uses: actions/checkout@v3 with: fetch-depth: 0 - name: Installing node uses: actions/setup-node@v1 with: node-version: 20 # Clean cache, continue on error - name: "Cleanup cache" shell: powershell continue-on-error: true run: | $path = "$Env:APPDATA\jan" if (Test-Path $path) { Remove-Item "\\?\$path" -Recurse -Force } else { Write-Output "Folder does not exist." } make clean - name: Linter and test shell: powershell run: | npm config set registry https://registry.npmjs.org --global yarn config set registry https://registry.npmjs.org --global make test test-on-ubuntu: runs-on: [self-hosted, Linux, ubuntu-desktop] if: (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository) || github.event_name == 'push' || github.event_name == 'workflow_dispatch' steps: - name: Getting the repo uses: actions/checkout@v3 with: fetch-depth: 0 - name: Installing node uses: actions/setup-node@v3 with: node-version: 20 - name: "Cleanup cache" continue-on-error: true run: | rm -rf ~/jan make clean # - name: Get Commit Message for PR # if : github.event_name == 'pull_request' # run: | # echo "REPORT_PORTAL_DESCRIPTION=${{github.event.after}}" >> $GITHUB_ENV # - name: Get Commit Message for push event # if : github.event_name == 'push' # run: | # echo "REPORT_PORTAL_DESCRIPTION=${{github.sha}}" >> $GITHUB_ENV # - name: "Config report portal" # shell: bash # run: | # make update-playwright-config REPORT_PORTAL_URL=${{ secrets.REPORT_PORTAL_URL }} REPORT_PORTAL_API_KEY=${{ secrets.REPORT_PORTAL_API_KEY }} REPORT_PORTAL_PROJECT_NAME=${{ secrets.REPORT_PORTAL_PROJECT_NAME }} REPORT_PORTAL_LAUNCH_NAME="Jan App Linux" REPORT_PORTAL_DESCRIPTION="${{env.REPORT_PORTAL_DESCRIPTION}}" - name: Linter and test run: | export DISPLAY=$(w -h | awk 'NR==1 {print $2}') echo -e "Display ID: $DISPLAY" npm config set registry ${{ secrets.NPM_PROXY }} --global yarn config set registry ${{ secrets.NPM_PROXY }} --global make test # env: # TURBO_API: "${{ secrets.TURBO_API }}" # TURBO_TEAM: "linux" # TURBO_TOKEN: "${{ secrets.TURBO_TOKEN }}" test-on-ubuntu-pr-target: runs-on: [self-hosted, Linux, ubuntu-desktop] if: github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name != github.repository steps: - name: Getting the repo uses: actions/checkout@v3 with: fetch-depth: 0 - name: Installing node uses: actions/setup-node@v3 with: node-version: 20 - name: "Cleanup cache" continue-on-error: true run: | rm -rf ~/jan make clean - name: Linter and test run: | export DISPLAY=$(w -h | awk 'NR==1 {print $2}') echo -e "Display ID: $DISPLAY" npm config set registry https://registry.npmjs.org --global yarn config set registry https://registry.npmjs.org --global make test