Skip to content
Merged
Show file tree
Hide file tree
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
68 changes: 68 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
name: CI

on:
workflow_call:
inputs:
build-target:
required: true
type: string

permissions:
contents: read

jobs:
build:
name: ${{ inputs.build-target }} - ${{ matrix.os }}
runs-on: ${{ matrix.os }}

strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest]

env:
BUILD_TYPE: Release
BUILD_DIR: build
GENERATOR: Ninja
CCACHE_DIR: ~/.ccache

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Restore ccache
uses: actions/cache@v4
with:
path: ~/.ccache
key: ccache-${{ runner.os }}-${{ github.ref_name }}-${{ github.sha }}
restore-keys: |
ccache-${{ runner.os }}-${{ github.ref_name }}-
ccache-${{ runner.os }}-

- name: Setup
run: |
make setup

- name: Configure ccache
shell: bash
run: |
mkdir -p ~/.ccache
ccache --version
ccache -M 1G
ccache -s || true
ccache -z || true

- name: Configure
run: |
make config

- name: Build
run: |
make build

- name: Test
run: |
make test

- name: Show ccache stats (after)
run: ccache -s || true
5 changes: 5 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Suggestions for an organization code-of-conduct:

* https://www.contributor-covenant.org/version/2/1/code_of_conduct/
* https://www.mozilla.org/en-US/about/governance/policies/participation/
* https://www.kernel.org/doc/html/latest/process/code-of-conduct.html
35 changes: 35 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Contributing

Thank you for your interest in contributing.

The notes below describe the general expectations that apply across repositories.

## Getting started
- Check existing issues and pull requests before starting new work.
- For larger or design-affecting changes, it’s usually best to open an issue first to discuss direction.
- If you’re unsure where to start, look for issues labeled as beginner-friendly or ask in an issue.

## Making changes
- Create a branch for your work.
- Keep changes focused and reasonably sized.
- Add tests when introducing new behavior or fixing bugs.
- Update documentation when user-visible behavior changes.

## Pull requests
- Clearly describe what the change does and why it’s needed.
- Include notes on how the change was tested.
- Keep pull requests limited to a single, coherent improvement.

## Code style and quality
- Follow existing conventions in the codebase.
- Aim for clarity and maintainability.
- Avoid unrelated refactors or formatting changes.

## Communication and conduct
- Be respectful and constructive in all discussions.
- Disagreements are normal; focus on the technical merits of proposals.
- For security issues, please follow the instructions in `SECURITY.md`.

## Licensing
By submitting a contribution, you agree that it will be licensed under the same terms as the project, unless stated otherwise in the repository.

15 changes: 15 additions & 0 deletions FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Funding options supported by GitHub Sponsors and external platforms.

github:
- SpeyTech

# patreon: your-patreon-name
# open_collective: your-collective-name
# ko_fi: your-kofi-name
# tidelift: npm/your-package-name
# community_bridge: your-project-name
# liberapay: your-liberapay-name
# issuehunt: your-issuehunt-name
# otechie: your-otechie-name
# custom:
# - https://your-org-domain.example/support
3 changes: 3 additions & 0 deletions GOVERNANCE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Governance

TODO: explain the governance model for the open-source projects.
44 changes: 44 additions & 0 deletions ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: Bug report
description: Report a reproducible problem
labels: [bug]
body:
- type: textarea
id: summary
attributes:
label: Summary
description: What happened, and what did you expect instead?
validations:
required: true

- type: textarea
id: steps
attributes:
label: Steps to reproduce
description: Please include enough detail for someone else to reproduce the issue.
placeholder: |
1.
2.
3.
validations:
required: true

- type: textarea
id: environment
attributes:
label: Environment
description: Relevant versions, OS, compiler/runtime, or configuration.
placeholder: |
OS:
Version:
Toolchain:
validations:
required: false

- type: textarea
id: additional
attributes:
label: Additional context
description: Logs, screenshots, or other useful details.
validations:
required: false

6 changes: 6 additions & 0 deletions ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
blank_issues_enabled: false
contact_links:
- name: Documentation
url: https://github.com/SpeyTech
about: Please check the project documentation and README first.

36 changes: 36 additions & 0 deletions ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: Feature request
description: Propose a new feature or improvement
labels: [enhancement]
body:
- type: textarea
id: problem
attributes:
label: Problem statement
description: What problem are you trying to solve?
validations:
required: true

- type: textarea
id: proposal
attributes:
label: Proposed solution
description: What would you like to see added or changed?
validations:
required: true

- type: textarea
id: alternatives
attributes:
label: Alternatives considered
description: Optional—other approaches you’ve considered.
validations:
required: false

- type: textarea
id: additional
attributes:
label: Additional context
description: Links, prior art, or constraints.
validations:
required: false

14 changes: 14 additions & 0 deletions ISSUE_TEMPLATE/security_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
name: Report a security vulnerability
description: Report a security issue privately
labels: [security]
body:
- type: markdown
attributes:
value: |
⚠️ **Please do not report security vulnerabilities in public issues.**

To report a security issue, follow the instructions in `SECURITY.md`
for this repository or organization.

This helps ensure responsible disclosure and protects users.

Loading