Skip to content

Commit 5a25f7b

Browse files
danwosPhilipPartsch
authored andcommitted
chore(deps): update sphinx-needs to version 6.3 in pyproject.toml
1 parent be42724 commit 5a25f7b

15 files changed

Lines changed: 506 additions & 288 deletions

File tree

.github/workflows/ci.yml

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,9 @@ jobs:
2929
name: Check (Lint) Commit Messages and Files
3030
runs-on: ubuntu-latest
3131
steps:
32-
- uses: actions/checkout@v4
32+
- uses: actions/checkout@v6
3333
with:
3434
fetch-depth: 0
35-
ref: ${{ github.event.inputs.target_branch || github.head_ref || github.ref_name }}
3635

3736
- uses: actions/setup-python@v5
3837
with:
@@ -51,10 +50,9 @@ jobs:
5150
- lint
5251
timeout-minutes: 15
5352
steps:
54-
- uses: actions/checkout@v4
53+
- uses: actions/checkout@v6
5554
with:
5655
fetch-depth: 0
57-
ref: ${{ github.event.inputs.target_branch || github.head_ref || github.ref_name }}
5856

5957
- name: install tools, build and test
6058
env:
@@ -73,40 +71,42 @@ jobs:
7371
7472
test-on-linux:
7573
name: Build and Test on Linux
76-
runs-on: ubuntu-22.04
74+
runs-on: ubuntu-24.04
7775
needs:
7876
- lint
7977
timeout-minutes: 15
8078
steps:
81-
- uses: actions/checkout@v4
79+
- uses: actions/checkout@v6
8280
with:
8381
fetch-depth: 0
84-
ref: ${{ github.event.inputs.target_branch || github.head_ref || github.ref_name }}
85-
86-
- name: Install build system
87-
run: sudo apt-get update && sudo apt-get install cmake ninja-build
8882

8983
- name: Install latest release of llvm (includes clang)
84+
if: False
9085
run: wget https://apt.llvm.org/llvm.sh && chmod +x llvm.sh && sudo ./llvm.sh 20 all && sudo ln -s /usr/bin/llvm-nm-20 /usr/bin/llvm-nm && sudo apt list --installed | grep llvm
9186

9287
- name: Setup Python
93-
uses: actions/setup-python@v2
88+
uses: actions/setup-python@v5
9489
with:
95-
python-version: "3.x"
90+
python-version: "3.13"
9691

9792
- name: Install poetry
9893
run: |
9994
python -m pip install --upgrade poetry
10095
101-
- name: Install dependencies
96+
- name: install tools, build and test
10297
run: |
103-
poetry install
98+
./build.sh
10499
105-
- name: Run test suite
106-
run: |
107-
poetry run python -m pytest --verbose --capture=tee-sys
100+
- name: Publish Test Results
101+
uses: actions/upload-artifact@v6
102+
if: always()
103+
with:
104+
name: test-results-linux
105+
path: |
106+
./out/
108107
109108
release:
109+
if: ${{ github.repository == 'avengineers/hammocking' }}
110110
needs:
111111
- lint
112112
- test-on-windows

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
# Output directory of tests
22
/out
33

4+
# Apple
5+
.DS_Store
6+
47
# Any log directory
58
**/[Ll][Oo][Gg]/*
69

.readthedocs.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ version: 2
66

77
# Set the version of Python and other tools you might need
88
build:
9-
os: ubuntu-20.04
9+
os: ubuntu-22.04
1010
tools:
11-
python: "3.10"
11+
python: "3.13"
1212
jobs:
1313
post_create_environment:
1414
# Install poetry

.vscode/settings.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
{
22
"files.insertFinalNewline": true,
3+
"files.trimTrailingWhitespace": true,
34
"python.testing.unittestEnabled": false,
45
"python.testing.pytestEnabled": true,
56
"python.formatting.provider": "black",

LINUX_QUICKSTART.md

Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
# Linux Quickstart Guide
2+
3+
This guide helps you get started with **hammocking** on Linux.
4+
5+
## Prerequisites
6+
7+
### Required
8+
- Python 3.10 or higher (3.13 recommended)
9+
- Git
10+
11+
### Optional (for integration tests)
12+
- clang/llvm
13+
- ninja-build
14+
15+
### Installing Prerequisites on Ubuntu/Debian
16+
17+
```bash
18+
# Install Python 3.13
19+
sudo apt update
20+
sudo apt install python3.13 python3.13-venv python3-pip
21+
22+
# Optional: Install build tools for integration tests
23+
sudo apt install clang ninja-build llvm
24+
```
25+
26+
## Installation
27+
28+
### Using the build script
29+
30+
```bash
31+
# Clone the repository
32+
git clone https://github.com/avengineers/hammocking
33+
cd hammocking
34+
35+
# Install dependencies
36+
./build.sh --install
37+
38+
# Run full build (includes lint, test, docs)
39+
./build.sh
40+
```
41+
42+
## Common Tasks
43+
44+
The common tasks are separated as functions within `./build.sh`.
45+
46+
## Setup Development Environment
47+
48+
```bash
49+
# Complete setup with pre-commit hooks
50+
./build.sh --setup
51+
52+
# Or manually
53+
poetry install
54+
poetry run pre-commit install
55+
```
56+
57+
## build.sh Targets Reference
58+
59+
Run `./build.sh --help` to see all available targets.
60+
61+
## Troubleshooting
62+
63+
### Poetry Not Found
64+
If `poetry` command is not found after installation:
65+
```bash
66+
export PATH="$HOME/.local/bin:$PATH"
67+
```
68+
69+
Add this to your `~/.bashrc` or `~/.zshrc` to make it permanent.
70+
71+
### Python Version Issues
72+
Check your Python version:
73+
```bash
74+
python3 --version
75+
```
76+
77+
If you need to use a specific Python version with poetry:
78+
```bash
79+
poetry env use python3.13
80+
```
81+
82+
### Integration Test Failures
83+
If integration tests fail due to missing clang:
84+
```bash
85+
# Skip integration tests
86+
poetry run pytest -v -m "not integration"
87+
88+
# Or install clang
89+
sudo apt install clang
90+
```
91+
92+
### Lock File Issues
93+
If you see "poetry.lock changed" errors:
94+
```bash
95+
poetry lock
96+
poetry install
97+
```
98+
99+
## Getting Help
100+
101+
- Documentation: Built docs at `out/docs/html/index.html` after running `./build.sh`
102+
- Issues: https://github.com/avengineers/hammocking/issues
103+
- Main command help: `poetry run python -m hammocking --help`
104+
105+
## Next Steps
106+
107+
1. Read the full documentation: `./build.sh && firefox out/docs/html/index.html`
108+
2. Explore the examples in `docs/usage/examples/`
109+
3. Check out the test files in `tests/` to see how to use the API

README.md

Lines changed: 25 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,18 +32,37 @@
3232

3333
Automatic mocking tool for C
3434

35-
## Installation of Dependencies
35+
## Installation and Building
3636

37+
### On Windows
38+
39+
#### Install Dependencies
3740
```powershell
3841
.\build.ps1 -install
3942
```
4043

41-
## Building
44+
#### Build
45+
```powershell
46+
.\build.ps1
47+
```
4248

49+
### On Linux/macOS
50+
51+
#### Quick Start
52+
```bash
53+
54+
# Using build script
55+
./build.sh # Normal build
56+
./build.sh --clean # Clean build
57+
./build.sh --install # Install only
58+
```
59+
60+
#### Prerequisites
61+
- Python 3.10+ (Python 3.13 recommended)
62+
- Poetry (will be auto-installed)
63+
- For running integration tests: clang/llvm, cmake, ninja-build
64+
65+
#### What the Build Does
4366
- Pre-Commit checks and linting
4467
- Execution of all tests
4568
- Building documentation
46-
47-
```powershell
48-
.\build.ps1
49-
```

0 commit comments

Comments
 (0)