Generate report about extracted D-Bus interfaces #53
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # SPDX-FileCopyrightText: 2025 BlueZoo developers | |
| # SPDX-License-Identifier: GPL-2.0-only | |
| name: Check Python Package | |
| on: | |
| push: | |
| pull_request: | |
| branches: | |
| - master | |
| env: | |
| MAKEFLAGS: -j8 | |
| permissions: | |
| actions: read | |
| contents: read | |
| security-events: write | |
| jobs: | |
| check-prepare: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout BlueZ repository | |
| uses: actions/checkout@v6 | |
| with: | |
| repository: bluez/bluez | |
| - name: Cache installed BlueZ artifacts | |
| uses: actions/cache@v5 | |
| id: cache | |
| with: | |
| key: bluez-client | |
| path: "${{ github.workspace }}/bluez-install" | |
| - name: Build BlueZ command line tools | |
| if: steps.cache.outputs.cache-hit != 'true' | |
| run: | | |
| sudo sed -i 's/^Types: deb$/Types: deb deb-src/' /etc/apt/sources.list.d/ubuntu.sources | |
| sudo apt update && sudo apt-get build-dep bluez | |
| ./bootstrap | |
| ./configure --prefix="${{ github.workspace }}/bluez-install" \ | |
| --disable-manpages \ | |
| --disable-monitor \ | |
| --disable-systemd \ | |
| --disable-tools \ | |
| --disable-udev | |
| make && make install | |
| check: | |
| needs: check-prepare | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Restore cached BlueZ artifacts | |
| uses: actions/cache@v5 | |
| with: | |
| key: bluez-client | |
| path: ${{ github.workspace }}/bluez-install | |
| - name: Add BlueZ tools to PATH | |
| run: echo "${{ github.workspace }}/bluez-install/bin" >> $GITHUB_PATH | |
| - name: Install dependencies | |
| uses: awalsh128/cache-apt-pkgs-action@v1 | |
| with: | |
| packages: > | |
| tox | |
| - name: Run unit tests | |
| run: tox -e py3 | |
| - name: Generate coverage report | |
| if: github.repository_owner == 'Samsung' | |
| run: tox -e coverage | |
| - name: Upload coverage report to Codecov | |
| if: github.repository_owner == 'Samsung' | |
| uses: codecov/codecov-action@v5 | |
| with: | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| files: .tox/coverage.xml | |
| code-ql: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Initialize CodeQL | |
| uses: github/codeql-action/init@v4 | |
| with: | |
| languages: python | |
| queries: security-and-quality | |
| - name: Perform CodeQL Analysis | |
| uses: github/codeql-action/analyze@v4 | |
| lint: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Install dependencies | |
| run: pip install ruff | |
| - name: Run linter | |
| run: ruff check --output-format=github | |
| reuse: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: REUSE Compliance Check | |
| uses: fsfe/reuse-action@v6 |