| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- name: Build
- on:
- push:
- branches: [ '**' ]
- tags-ignore: [ '**' ]
- pull_request:
- branches: [ main ]
- jobs:
- build:
- name: Build
- runs-on: ${{ matrix.os }}
- strategy:
- matrix:
- os: [ macos-latest, ubuntu-latest, windows-latest ]
- steps:
- - name: Clone Git repository
- uses: actions/checkout@v4
- - name: Install Node.js
- uses: actions/setup-node@v4
- with:
- node-version: 22.4.1
- - name: Install Python
- uses: actions/setup-python@v5
- with:
- python-version: 3.x
- - name: Install npm packages
- run: npm install
- - name: Install Python packages
- run: python -m pip install setuptools
- - name: Validate
- run: npm run validate
- - name: Build Python Server
- run: npm run build python
- - name: Build Electron
- shell: bash
- run: |
- npx electron-builder install-app-deps
- case "${{ matrix.os }}" in
- macos*)
- CSC_IDENTITY_AUTO_DISCOVERY=false npx electron-builder --mac --universal --publish never -c.mac.identity=null
- ;;
- ubuntu*)
- npx electron-builder --linux appimage --x64 --publish never
- npx electron-builder --linux snap --x64 --publish never
- ;;
- windows*)
- npx electron-builder --win --x64 --arm64 --publish never
- ;;
- esac
- analyze:
- name: Analyze
- runs-on: ubuntu-latest
- permissions:
- security-events: write
- strategy:
- fail-fast: false
- matrix:
- language: [ 'javascript', 'python' ]
- steps:
- - name: Clone Git repository
- uses: actions/checkout@v4
- - name: Initialize CodeQL
- uses: github/codeql-action/init@v3
- with:
- languages: ${{ matrix.language }}
- - name: Autobuild
- uses: github/codeql-action/autobuild@v3
- - name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@v3
|