Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -576,3 +576,28 @@ To complete the job we only have to feed the job data into the socket and close
**There is also a way of sharing domain sockets needed, as for example the CUPS Snap does iwth CUPS' socket, only that here we need to provide a directory for bind-mounting which can hold several sockets.**

**The frontend does not need to communicate with any of the print environments, like CUPS, and the backends only need to communicate with the print environment they are made for. Generally only user access and not admin access to the print environments is needed, so listing available printers, setting options, and printing, not creating queues, removing jobs, ...**

## Continuous Integration and Static Analysis

This repository is checked on every push and pull request by GitHub Actions
workflows in `.github/workflows/`:

- **Build** (`build.yml`) - builds the project (multi-architecture where
applicable) so build/link regressions are caught early.
- **CodeQL** (`codeql.yml`) - GitHub's semantic static-analysis engine, using the
`security-and-quality` query suite.

### CodeQL Static Analysis Configuration

This repository uses a custom GitHub Actions workflow for CodeQL static analysis located at `.github/workflows/codeql.yml`. To ensure accurate analysis and avoid conflicts with GitHub's default settings, the following repository configurations are required:

1. **Enable Advanced Setup**:
- Go to **Settings** -> **Code security and analysis**.
- Under **Code scanning**, locate **CodeQL analysis**.
- If "Default" is enabled, click the three dots (...) and select **Switch to advanced**.
2. **Disable Default Setup**:
- The "Default" setup must be disabled for the custom workflow to upload results successfully.
3. **Custom Workflow Dependencies**:
- Our custom workflow is designed to install specific project dependencies and perform a manual build before the analysis. This ensures that CodeQL has a complete build graph for the C sources in this repository.

*Note: If the Default setup is active, GitHub may reject the results uploaded by the manual workflow, causing the CI job to fail.*
Loading