| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- 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: latest
- - name: Install Python
- uses: actions/setup-python@v5
- with:
- python-version: 3.x
- - name: Install Packages
- run: npm run install
- - 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*)
- sudo apt-get install rpm --yes
- npx electron-builder --linux deb --x64 --arm64 --publish never
- 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
|