Skip to content

Commit 8b0c5bf

Browse files
committed
Implement CI/CD improvements
1 parent 8afff81 commit 8b0c5bf

8 files changed

Lines changed: 44 additions & 47 deletions

File tree

.github/workflows/docs.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,9 @@ jobs:
4040
environment:
4141
name: github-pages
4242
url: ${{ steps.deployment.outputs.page_url }}
43+
permissions:
44+
pages: write
45+
id-token: write
4346
steps:
4447
- name: Deploy to GitHub Pages
4548
id: deployment

CHANGELOG.md

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,16 @@ CHANGELOG
33

44
For more details refer to the [documentation](https://softwarequtech.github.io/SimulaQron/html/index.html).
55

6-
Upcoming
7-
--------
8-
2026-03-13 (v4.0.1)
6+
7+
2026-04-23 (v4.1.1)
8+
-------------------
9+
- Update README file.
10+
- Added `install-development` target in the Makefile to ease the process of installing development dependencies.
11+
- Remove old "nativeMode" files after rename of the folder.
12+
- Adjusted Dockerfile to use the lates PyPI deployed version of SimulaQron.
13+
- Fixed GitHub workflow to automatically deploy documentation.
14+
15+
2026-04-16 (v4.1)
916
-------------------
1017
- Migrated project specification to use modern TOML approach.
1118
- Tested working with Python versions 3.10, 3.11 and 3.12.
@@ -19,7 +26,7 @@ Upcoming
1926
-------------------
2027
- Major breaking change! Using `cqc` is now deprecated and replaced with `netqasm`.
2128
`netqasm` improves on `cqc` on many levels, for more details.
22-
As with `cqc`, `netqasm` also has a SDK in python for writing applications, which is very similar to the SDK for `cqc`.
29+
As with `cqc`, `netqasm` also has an SDK in python for writing applications, which is very similar to the SDK for `cqc`.
2330
However, there are some differences, for details see [the netqasm repo](https://github.com/QuTech-Delft/netqasm) and [its documentation](https://netqasm.readthedocs.io/en/latest/).
2431

2532
2020-08-24 (v3.0.16)

Dockerfile

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -52,19 +52,25 @@ RUN python3.12 -m venv simulaqron-venv
5252
ENV PATH="${UHOME}/simulaqron-venv/bin:$PATH"
5353

5454
# Install SimulaQron
55-
# Option 1: Install from the wheel file
55+
# Option 1: Install from PyPI
56+
RUN pip install "simulaqron[opt]"
57+
58+
# Option 2: Install from the wheel file - for testing purposes
59+
# Using this option requires that you build SimulaQron locally before you build the docker image.
60+
# Before building the docker image, make sure you have installed simulaqron "development" dependencies:
61+
# `make install-development`.
62+
# Then, you can build SimulaQron using the makefile: `make build`.
63+
5664
# Copy the simulaqron wheel into the container
57-
COPY dist/*.whl ${UHOME}
58-
RUN pip install *.whl
59-
RUN rm *.whl
65+
#COPY dist/*.whl ${UHOME}
66+
#RUN pip install *.whl
67+
#RUN rm *.whl
6068

61-
# Install extra packages that need build-essential
62-
RUN pip install "qutip<5.0.0"
63-
RUN pip install "setuptools<81" pybind11
64-
RUN pip install "git+https://github.com/ProjectQ-Framework/ProjectQ.git@v0.8.0" --no-build-isolation
69+
## Install extra packages that need build-essential
70+
#RUN pip install "qutip<5.0.0"
71+
#RUN pip install "setuptools<81" pybind11
72+
#RUN pip install "git+https://github.com/ProjectQ-Framework/ProjectQ.git@v0.8.0" --no-build-isolation
6573

66-
# Option 2: (Recommended for release) Install from PyPI
67-
#RUN pip install "simulaqron[opt]>=4.0.1"
6874

6975
FROM base-image AS run-image
7076

Makefile

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,11 @@ test-deps:
2424
requirements python-deps:
2525
@${PYTHON} -m pip install .
2626

27+
dev-deps:
28+
@${PYTHON} -m pip install .\[dev\]
29+
30+
install-development: dev-deps
31+
2732
install-optional: install
2833
# Python setuptools 81 removed "dry_run" option when compiling C++ code
2934
# this breaks the build of projectq
@@ -79,7 +84,7 @@ _remove_egg_info:
7984
_clear_build: _remove_build _remove_dist _remove_egg_info
8085

8186
_build:
82-
@${PYTHON} setup.py sdist bdist_wheel
87+
@${PYTHON} -m build --sdist --wheel --outdir dist/ .
8388

8489
build: _clear_build _build
8590

README.md

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# SimulaQron - simple quantum network simulator (4.0.0)
1+
# SimulaQron - simple quantum network simulator (4.1.1)
22

33
The purpose of this simulator of quantum network nodes is to allow you to develop new applications for
44
a future quantum internet, while we do not yet have real quantum network nodes available for testing.
@@ -23,7 +23,7 @@ Then you can install Python 3.12 and the Python development package:
2323
sudo apt-get install python3.12-full python3.12-dev
2424
```
2525

26-
Additionally, you will need the `build-essential` package, to install tools used when building some SimulaQron dependencies::
26+
Additionally, you will need the `build-essential` package, to install tools used when building some SimulaQron dependencies:
2727

2828
```shell
2929
sudo apt-get install build-essential cmake vim linux-headers-generic
@@ -40,6 +40,12 @@ Additionally, you can install SimulaQron with extra dependencies:
4040
make install-optional
4141
```
4242

43+
44+
Finally, if you would like to contribute to the development of SimulaQron, please install the development dependencies:
45+
```shell
46+
make install-development
47+
```
48+
4349
### Windows
4450

4551
In Windows, SimulaQron can be installed in two similar ways:

examples/nativeMode/corrRNG/classicalNet.json

Lines changed: 0 additions & 17 deletions
This file was deleted.

examples/nativeMode/corrRNG/terminate.sh

Lines changed: 0 additions & 12 deletions
This file was deleted.

pyproject.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ description = "A simulator for developing Quantum Internet software"
3232
readme = "README.md"
3333
keywords = ["egg", "bacon", "sausage", "tomatoes", "Lobster Thermidor"]
3434
classifiers = [
35-
"Programming Language :: Python :: 3.8",
3635
"Programming Language :: Python :: 3.10",
3736
"Programming Language :: Python :: 3.11",
3837
"Programming Language :: Python :: 3.12",

0 commit comments

Comments
 (0)