Skip to content

Generate report about extracted D-Bus interfaces #53

Generate report about extracted D-Bus interfaces

Generate report about extracted D-Bus interfaces #53

Workflow file for this run

# 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