You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+1-7Lines changed: 1 addition & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ Thank you for your interest in contributing! We welcome contributions from the c
4
4
5
5
## Getting Started
6
6
7
-
See the [Development section](README.md#development) in the README for setup instructions, testing, and build processes.
7
+
See [DEVELOPMENT.md](DEVELOPMENT.md)for setup instructions, test commands, build processes, and LLVM maintenance guidance. For release notes, see [CHANGELOG.md](CHANGELOG.md).
8
8
9
9
## How to Contribute
10
10
@@ -70,12 +70,6 @@ type(scope): brief description
70
70
71
71
## Testing
72
72
73
-
See [README Testing section](README.md#testing) for details on:
74
-
75
-
- Running the test suite
76
-
- Testing individual files
77
-
- Simulation testing with Selene
78
-
79
73
Always add tests for new features and ensure all tests pass before submitting a PR.
The default development toolchain is tracked in `rust-toolchain.toml` and follows the latest stable Rust release. The minimum supported Rust version (MSRV) is tracked separately in `Cargo.toml` and wheel-build settings.
Test the compiled QIS using [Selene quantum simulator](https://docs.quantinuum.com/selene/).
66
+
67
+
```sh
68
+
# Simulate a single file (runs 5 shots by default)
69
+
make sim FILE=tests/data/adaptive.ll
70
+
71
+
# Simulate all test files
72
+
make allsim
73
+
```
74
+
75
+
### Code Quality
76
+
77
+
```sh
78
+
# Run linters
79
+
make lint
80
+
```
81
+
82
+
`make lint` runs:
83
+
84
+
-`prek` pre-commit checks
85
+
-`typos`
86
+
-`cargo clippy`
87
+
88
+
### Python Stubs
89
+
90
+
After modifying the Python API:
91
+
92
+
```sh
93
+
make stubs
94
+
```
95
+
96
+
This updates `qir_qis.pyi` with the latest type signatures.
97
+
98
+
## Updating LLVM
99
+
100
+
For an LLVM bump, update:
101
+
102
+
1.`LLVM_VERSION` in `.github/workflows/CI.yml`, `.github/workflows/rust-release.yml`, and `.github/workflows/wheels-release.yml` to the new full release, for example `22.1.0`.
103
+
2. The versioned `llvm-sys` env var name everywhere it appears, for example `LLVM_SYS_211_PREFIX` to `LLVM_SYS_220_PREFIX`.
104
+
3.`Cargo.toml`:
105
+
-`inkwell` feature, for example `llvm21-1` to `llvm22-1`
106
+
-`llvm-sys` crate version, for example `211.0.0` to `220.0.0`
107
+
4.`pyproject.toml` and `README.md` for any remaining version-specific install examples, especially `llvm@21` and `LLVM_SYS_*`.
108
+
109
+
The manylinux images already install to `/opt/llvm`, so they should not need path changes for a version bump.
|`make test`| Run all unit and integration tests |
227
-
|`make compile FILE=<path>`| Compile a single QIR file |
228
-
|`make sim FILE=<path>`| Compile and simulate a QIR file |
229
-
|`make lint`| Run code quality checks |
230
-
|`make stubs`| Regenerate Python type stubs |
231
-
|`make allcompile`| Compile all test files |
232
-
|`make allsim`| Simulate all test files |
233
-
234
98
## Contributing
235
99
236
100
Contributions are welcome! Please read [CONTRIBUTING.md](https://github.com/quantinuum/qir-qis/blob/main/CONTRIBUTING.md) for:
@@ -239,11 +103,7 @@ Contributions are welcome! Please read [CONTRIBUTING.md](https://github.com/quan
239
103
- Coding standards and commit message format
240
104
- Development workflow and testing requirements
241
105
242
-
**Quick checklist before submitting:**
243
-
244
-
-[ ] Tests pass: `make test`
245
-
-[ ] Linters pass: `make lint`
246
-
-[ ] Documentation updated
106
+
Development setup, test commands, and LLVM upgrade guidance live in [DEVELOPMENT.md](https://github.com/quantinuum/qir-qis/blob/main/DEVELOPMENT.md). Release notes are available in [CHANGELOG.md](https://github.com/quantinuum/qir-qis/blob/main/CHANGELOG.md).
0 commit comments