name: "CodeQL" on: push: branches: [ "master" ] pull_request: # The branches below must be a subset of the branches above branches: [ "master" ] schedule: - cron: '45 22 * * 4' jobs: analyze: name: Analyze runs-on: 'ubuntu-latest' timeout-minutes: 360 permissions: actions: read contents: read security-events: write strategy: fail-fast: false matrix: language: [ 'cpp' ] steps: - name: Checkout repository uses: actions/checkout@v4 - name: Initialize CodeQL uses: github/codeql-action/init@v3 with: languages: ${{ matrix.language }} - name: Install dependencies run: | sudo apt-get update sudo apt-get install -y cmake libnetfilter-queue-dev libmnl-dev libnetfilter-conntrack-dev - name: Build and install libubox working-directory: /tmp run: | git clone https://github.com/openwrt/libubox.git cd libubox mkdir build cd build cmake .. -DBUILD_LUA=OFF -DBUILD_EXAMPLES=OFF make sudo make install - name: Build and install libuci working-directory: /tmp run: | git clone https://github.com/openwrt/uci.git cd uci mkdir build cd build cmake .. -DBUILD_LUA=OFF make sudo make install - name: Autobuild uses: github/codeql-action/autobuild@v3 - name: Perform CodeQL Analysis uses: github/codeql-action/analyze@v3 with: category: "/language:${{matrix.language}}"