name: "CodeQL" on: workflow_call: push: branches: ["main"] pull_request: branches: ["main"] schedule: - cron: "16 13 * * 5" jobs: analyze: name: Analyze (${{ matrix.language }}) runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }} permissions: security-events: write packages: read actions: read contents: read strategy: fail-fast: false matrix: include: - language: actions build-mode: none - language: javascript-typescript build-mode: none # - language: rust # build-mode: none steps: - name: Checkout repository uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 #v6.0.0 - name: Set up pnpm package manager uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 #v4.2.0 with: run_install: false - name: Set up Node.js uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 #v6.0.0 with: node-version-file: .node-version cache: "pnpm" - name: Setup Rust uses: dtolnay/rust-toolchain@e97e2d8cc328f1b50210efc529dca0028893a2d9 #master with: toolchain: stable targets: x86_64-unknown-linux-gnu - name: Install system dependencies (Rust only) if: matrix.language == 'rust' run: | sudo apt-get update sudo apt-get install -y libwebkit2gtk-4.1-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev pkg-config xdg-utils - name: Rust cache uses: swatinem/rust-cache@f13886b937689c021905a6b90929199931d60db1 #v2.8.1 with: workdir: ./src-tauri - name: Install banderole run: cargo install banderole - name: Install dependencies from lockfile run: pnpm install --frozen-lockfile - name: Install rust dependencies if: matrix.language == 'rust' working-directory: ./src-tauri run: | cargo build - name: Build nodecar sidecar if: matrix.language == 'rust' shell: bash working-directory: ./nodecar run: | pnpm run build:linux-x64 - name: Copy nodecar binary to Tauri binaries if: matrix.language == 'rust' shell: bash run: | mkdir -p src-tauri/binaries cp nodecar/nodecar-bin src-tauri/binaries/nodecar-x86_64-unknown-linux-gnu - name: Initialize CodeQL uses: github/codeql-action/init@b1e4dc3db58c9601794e22a9f6d28d45461b9dbf #v3.29.0 with: queries: security-extended languages: ${{ matrix.language }} build-mode: ${{ matrix.build-mode }} - name: Perform CodeQL Analysis uses: github/codeql-action/analyze@b1e4dc3db58c9601794e22a9f6d28d45461b9dbf #v3.29.0 with: category: "/language:${{matrix.language}}"