Skip to content

Commit

Permalink
Syncing master with V0.36.0 branch (#715)
Browse files Browse the repository at this point in the history
* Update Changelog

* update release candidate version

* run agains pennylane rc

* update relese cadidate version

* Increase tolerance for a flaky test (test_single_return_value)

* Update `LightningBaseFallBack` to raise an error instead of falling back to default.qubit (#689)

* Initial commit.

* Update changelog

* Auto update version

* trigger ci

* Unused import.

* Auto update version

* trigger ci

* Fix imports.

* Auto update version

* Fix LightningException

* make format

* Auto update version from '0.36.0-dev34' to '0.36.0-dev35'

* Auto update version from '0.36.0-dev35' to '0.36.0-dev36'

* Auto update version from '0.36.0-dev36' to '0.36.0-dev37'

* Make python -m pip install consistent.

* Fix ImportError

* Auto update version from '0.36.0-dev37' to '0.36.0-dev38'

* --force-reinstall

* Auto update version from '0.36.0-dev38' to '0.36.0-dev39'

* Remove --force-reinstall

* Auto update version from '0.36.0-dev39' to '0.36.0-dev40'

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Auto update version from '0.36.0-dev43' to '0.36.0-dev44'

* Spec CMAKE_CXX_COMPILER

* Fix quotes.

* Remove quotes

* Hardcode g++-11

* use env.COMPILER

* which g++

* Revert

* Downgrade pip

* Pin libomp.

* Revert wheel_linux

* Upload artifacts.

* Comment upload trigger

* Install pip==23

* Revert libomp

* try testing outside cibuildwheel

* yum install devtools

* yum install devtools

* Do not install python

* Revert changes

* Don't editable install.

* Not edit install

* Not edit install

* Fix cov path

* Explicit mcm tests path

* Fix qml.QuantumFunctionError error messages.

---------

Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: ringo-but-quantum <github-ringo-but-quantum@xanadu.ai>
Co-authored-by: AmintorDusko <amintor_dusko@hotmail.com>

* trigger CIs

* Introduce pytest-splits (#696)

* Try update lightning CI paths

* Auto update version

* Update kokkos tests to trigger on changes to pl core

* Auto update version

* Split tests_linux.yml into cpp/python.

* Auto update version from '0.36.0-dev36' to '0.36.0-dev38'

* Split GPU tests into cpp/python.

* Split MPI-GPU tests into cpp/python.

* Fix LGPU triggers.

* Remove python tests from LGPU-C++.

* Remove upload-to-codecov-linux-cpp from LGPUMPI tests.

* Rename test workflows.

* Update changelog.

* Change group names.

* Use paths-ignore to simplify workflow paths

* Auto update version from '0.36.0-dev38' to '0.36.0-dev39'

* Fix test names.

* you may only define one of `paths` and `paths-ignore` for a single event

* Fix formatting

* Auto update version from '0.36.0-dev39' to '0.36.0-dev40'

* Change to paths-ignore in no-bin tests.

* Auto update version from '0.36.0-dev40' to '0.36.0-dev41'

* trigger ci

* Change error message.

* Split build/test jobs.

* Revert pennylane_lightning/lightning_kokkos/lightning_kokkos.py

* Fix setup.py command

* Comment workflows

* Comment pull_request:

* Copy wheels to github.workspace /wheels

* SKIP_COMPILATION=True

* Revert SKIP_COMPILATION=True

* Remove duplicate python actions.

* Split LQ-test into 5 groups.

* Update requirements-dev.txt

* 2 groups

* 1 group

* 7 groups

* Refactor LKokos tests

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Fix cache id

* Fix needs

* Remove all builds

* put back CMAKE_PREFIX_PATH

* install fake lightning

* Fix compat paths

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Revert changes.

* Update changelog

* trigger ci

* build_and_cache_Kokkos_linux.yml not concurrent.

* Remove C++ tests from compat tests (skipped anyways).

* Use ${{ github.ref }}-${{ github.event }}-${{ inputs.lightning-version }}-${{ inputs.pennylane-version }} for concurrency groups.

* PL_BACKEND: ${{ matrix.pl_backend }}

* Update changelog

* Install wheel package.

* Auto update version from '0.36.0-dev43' to '0.36.0-dev44'

* Install scipy wheel in one place.

* Comment job triggers.

* Add LK[cpu] est durations.

* trigger ci

* Use sha independent keys.

* trigger ci

* build_and_cache_Kokkos

* Change LK keys

* ls -l

* Install version nonce

* Do not skip comp.

* Trade ref for sha in key

* Install after PL

* ref ==> sha

* Reorder

* Try LQ workflows.

* Use actions/setup-python

* Revert triggers.

* Provide correct cov path.

* Revert pennylane_lightning/core/src/utils/config.h

* LK uses 5 groups.

* Restore wheels to main

* main/wheels

* Revert cache paths

* Fix ls -l

* fail-on-cache-miss: true

* Introduce env.GITHUB_WORKSPACE

* Use artifacts

* Fix paths

* No ls -l

* Download to github.workspace

* fix wheel name

* WHEEL_NAME

* Add blas.

* Use outputs.

* Send wheel name

* Fix artifact name

* Fix name

* Use WHEEL_NAME var

* artifacts kokkos

* fix wheel name

* Restore bins.

* Clean up

* Split Linux CPU python tests into 2.

* Fix compat workflows.

* Split format and tidy workflows.

* fix lkcpu

* fix concurrency group

* Do not use editable installs.

* Split full kokkos tests except unitary_correct

* Upload LK test durations.

* duration-paths

* Unique test_durations

* Unique test_durations

* Unique test_durations

* Fix path

* Update python_lightning_kokkos_test_durations

* Remove obsolete all and SERIAL tests.

* Update changelog

* Creating the `LightningTensor` device class based on the new API (#671)

* empty commit (triggering CI)

* Auto update version

* Definition of the two front-end classes

* adding the `lightning_tensor` string to the supported backends in `setup.py`

* adding `__init__.py` file to directly import the `lightning_tensor` device class

* re-naming file

* Auto update version

* Creating the first prototype of initial MPS state tensor using `quimb`

* providing the `backend`, `method` parameters and making `wires` optional

* Changing names and structure

* Auto update version

* adding method required by the new device API design

* Auto update version

* using the `kwargs` parameter in `LightningTensor` and `CircuitMPS` in `quimb`

* taking some further inputs from the new device API

* Perhaps decided the overall structure of `LIghtningTensor`

* Auto update version

* adding docs to methods

* temporary changes so that `pylint` does not complain at this stage

* running `isort`

* re-running formatter after `isort`

* re-running formatter after `isort`

* Applying suggested formatting change from CI

* adding tmp unit tests

* Adding `quimb` in `requirements.txt`

* runing `isort` on mps test

* removing `quimb` from requirement and deleting unit tests for `lightning.tensor`

* Auto update version

* re-inserting unit tests with an additional `yml` file

* running isort on quimb test

* changing name of yml file

* preventing error in import

* updating yml file

* inserting `quimb` package in requirements-dev

* strange error with `quimb`

* strange error with `quimb`

* specifying scipy version

* removing installation of scipy from yml file

* removing the new `yml` file

* testing if tests are tested

* Covering all lines in tests

* forgot final line for formatter

* Python formatter on CI complaints

* covering missing lines

* formatter on CI complaints

* Trying not to skip test if Cpp is enabled

* skipping tests if Cpp is enabled

* removing the only line not covered by tests so far

* Auto update version

* Applying suggestions from code review and making the `state` attribute private (new API design)

* Python formatter

* removing params from `QuimbMPS`

* Auto update version

* removing `**kwargs` from `QuimbMPS`

* removing unnecessary param at this stage

* covering test line

* formatter...

* removing param description

* Making `pylint` happy

* forgot new arg in test

* Updating base class and `preprocess` function

* Updating `LightningTensor` class with new names from more advanced PR

* Auto update version

* Auto update version

* Triggering CI

* Auto update version

* Trying to remove pin from `quimb` in `requirements.dev`

* Auto update version

* Auto update version

* Removing infos on derivatives and using config options to pass parameters to interface

* Usual `pylint` failures

* Trying to solve formatting errors

* typo in docstring

* Sunday update: improved docstrings and structure

* Removing method that was supposed to be in next PR

* removing old TODO comment

* Removing changes from the `setup.py` file

* restoring previous format to `setup.py`

* Auto update version from '0.36.0-dev34' to '0.36.0-dev41'

* Auto update version from '0.36.0-dev40' to '0.36.0-dev41'

* Removing kwargs as suggested from code review

* Addressing comments from CR

* Skipping tests if CPP binary is available

* Auto update version from '0.36.0-dev42' to '0.36.0-dev43'

* Auto update version from '0.36.0-dev43' to '0.36.0-dev44'

* Restoring name in changelog (?)

* Increasing time limit for Python tests

* Applying suggestions from code review

---------

Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: ringo-but-quantum <github-ringo-but-quantum@xanadu.ai>

* Increase tolerance for a flaky test (test_single_return_value) (#703)

* update dev version

* increase tolerance

* update changelog

* trigger CIs

* Auto update version from '0.36.0-dev44' to '0.36.0-dev45'

---------

Co-authored-by: ringo-but-quantum <github-ringo-but-quantum@xanadu.ai>

* Auto update version from '0.36.0-dev45' to '0.36.0-dev46'

* Remove LTensor stuff

* Update changelog

* Revert requirements-dev.txt

* trigger ci

* Update python_lightning_kokkos_test_durations

* Restore 'all' tests in tests_lkcuda_python.yml

* Fix durations paths.

* Try --splitting-algorithm=least_duration

* Try no -n auto lkcpu tests

* One last test.

---------

Co-authored-by: Rashid N H M <95639609+rashidnhm@users.noreply.github.com>
Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: ringo-but-quantum <github-ringo-but-quantum@xanadu.ai>
Co-authored-by: Pietropaolo Frisoni <pietropaolo.frisoni@xanadu.ai>
Co-authored-by: Amintor Dusko <87949283+AmintorDusko@users.noreply.github.com>

* Update changelog (#706)

* Use wire order specified on instantiation (#705)

* use map wires instead of map_to_standard_wires

* oops

* Update .github/CHANGELOG.md

* black

* Trigger CIs

* add test

* black on tests

* Update .github/CHANGELOG.md

---------

Co-authored-by: AmintorDusko <amintor_dusko@hotmail.com>
Co-authored-by: Ali Asadi <10773383+maliasadi@users.noreply.github.com>

* Update wire order support for probabilities (#707)

* Begin expansion of probs tests

* Update tests to exhaustively compute probs with wires

* Update all tests in LQ Meas to use CHECK instead of REQUIRES for better signal of failures

* Add Jet Permuter

* Add noisy functionality

* Fix permutation ordering

* Update changelog

* Fix wrong ordering in probs tests

* Add recommendation from apache flink to purge azure dirs

* Forbid out of order indices for probs with LK and LG in CPP layer

* Remove MSFT tools from GH Actions

* Just try to remove dotnet

* List opt hostedtoolcache

* Remove packages from /opt/hostedtoolcache

* Fix missing test hit

* Forbid and remove broken tests from LK probs ordering

* Fix clang-tidy isms

* Ensure libopenblas is not broken from failed apt pull with dev

* Appease GH Action

* Full remove GH action modifier step due to unexplained failures

* Add bidreictional wire validation for LGPU CPP layer

* Clang-tidy warning fix

* Appease CT

* Update JET license agreement

* Sync version

* pacify CodeFactor

* make CodeFactor ignore all JET code

* trigger ci

* trigger ci

* build wheels for test

* remove Win LKokkos upload-pypi [skip-ci]

* [skip ci]

* trigger wheels CIs with Release event

* update version

* fix upload wheels artifact for release

* target pennylane master

* Version bump CHANGELOG

* Auto update version from '' to '0.36.0-dev48'

* version bump to dev0

* Auto update version from '0.37.0-dev0' to '0.36.0-dev48'

* Update version

* Auto update version from '0.37.0-dev0' to '0.36.0-dev48'

* Update pennylane_lightning/core/_version.py

---------

Co-authored-by: Vincent Michaud-Rioux <vincentm@nanoacademic.com>
Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: ringo-but-quantum <github-ringo-but-quantum@xanadu.ai>
Co-authored-by: Rashid N H M <95639609+rashidnhm@users.noreply.github.com>
Co-authored-by: Pietropaolo Frisoni <pietropaolo.frisoni@xanadu.ai>
Co-authored-by: Ali Asadi <10773383+maliasadi@users.noreply.github.com>
Co-authored-by: Christina Lee <chrissie.c.l@gmail.com>
Co-authored-by: Lee James O'Riordan <mlxd@users.noreply.github.com>
Co-authored-by: Vincent Michaud-Rioux <vincent.michaud-rioux@xanadu.ai>
  • Loading branch information
10 people committed May 7, 2024
1 parent cde3016 commit db01c15
Show file tree
Hide file tree
Showing 58 changed files with 16,167 additions and 1,867 deletions.
46 changes: 35 additions & 11 deletions .github/CHANGELOG.md
@@ -1,4 +1,22 @@
# Release 0.36.0-dev
# Release 0.37.0-dev

### New features since last release

### Breaking changes

### Improvements

### Documentation

### Bug fixes

### Contributors

This release contains contributions from (in alphabetical order):

---

# Release 0.36.0

### New features since last release

Expand All @@ -11,7 +29,7 @@
* `lightning.kokkos` supports mid-circuit measurements.
[(#672)](https://github.com/PennyLaneAI/pennylane-lightning/pull/672)

* Add dynamic linking to LAPACK/OpenBlas shared objects in scipy.libs for both C++ and Python layer.
* Add dynamic linking to LAPACK/OpenBlas shared objects in `scipy.libs` for both C++ and Python layer.
[(#653)](https://github.com/PennyLaneAI/pennylane-lightning/pull/653)

* `lightning.qubit` supports mid-circuit measurements.
Expand All @@ -29,7 +47,7 @@
* Add analytic-mode `qml.probs` and `qml.var` support in `lightning.qubit2`.
[(#627)](https://github.com/PennyLaneAI/pennylane-lightning/pull/627)

* Add LightningAdjointJacobian to support `lightning.qubit2`.
* Add `LightningAdjointJacobian` to support `lightning.qubit2`.
[(#631)](https://github.com/PennyLaneAI/pennylane-lightning/pull/631)

* Add `lightning.qubit2` device which uses the new device API.
Expand All @@ -44,6 +62,12 @@

### Breaking changes

* Split Lightning-Qubit and Lightning-Kokkos CPU Python tests with `pytest-split`. Remove `SERIAL` from Kokkos' `exec_model` matrix. Remove `all` from Lightning-Kokkos' `pl_backend` matrix. Move `clang-tidy` checks to `tidy.yml`. Avoid editable `pip` installations.
[(#696)](https://github.com/PennyLaneAI/pennylane-lightning/pull/696)

* Update `lightning.gpu` and `lightning.kokkos` to raise an error instead of falling back to `default.qubit`.
[(#689)](https://github.com/PennyLaneAI/pennylane-lightning/pull/689)

* Add `paths` directives to test workflows to avoid running tests that cannot be impacted by changes.
[(#699)](https://github.com/PennyLaneAI/pennylane-lightning/pull/699)
[(#695)](https://github.com/PennyLaneAI/pennylane-lightning/pull/695)
Expand All @@ -65,7 +89,7 @@

### Improvements

* Add tests for Windows Wheels, fix ill-defined caching, and set the proper backend for LKokkos wheels.
* Add tests for Windows Wheels, fix ill-defined caching, and set the proper backend for `lightning.kokkos` wheels.
[(#693)](https://github.com/PennyLaneAI/pennylane-lightning/pull/693)

* Replace string comparisons by `isinstance` checks where possible.
Expand Down Expand Up @@ -105,17 +129,20 @@

### Bug fixes

* Fix wire order permutations when using `qml.probs` with out-of-order wires.
[(#707)](https://github.com/PennyLaneAI/pennylane-lightning/pull/707)

* Lightning Qubit once again respects the wire order specified on device instantiation.
[(#705)](https://github.com/PennyLaneAI/pennylane-lightning/pull/705)

* `dynamic_one_shot` was refactored to use `SampleMP` measurements as a way to return the mid-circuit measurement samples. `LightningQubit`'s `simulate` is modified accordingly.
[(#694)](https://github.com/PennyLaneAI/pennylane/pull/694)
[(#694)](https://github.com/PennyLaneAI/pennylane-lightning/pull/694)

* `LightningQubit` correctly decomposes state prep operations when used in the middle of a circuit.
[(#687)](https://github.com/PennyLaneAI/pennylane/pull/687)
[(#687)](https://github.com/PennyLaneAI/pennylane-lightning/pull/687)

* `LightningQubit` correctly decomposes `qml.QFT` and `qml.GroverOperator` if `len(wires)` is greater than 9 and 12 respectively.
[(#687)](https://github.com/PennyLaneAI/pennylane/pull/687)
[(#687)](https://github.com/PennyLaneAI/pennylane-lightning/pull/687)

* Specify `isort` `--py` (Python version) and `-l` (max line length) to stabilize `isort` across Python versions and environments.
[(#647)](https://github.com/PennyLaneAI/pennylane-lightning/pull/647)
Expand All @@ -135,14 +162,11 @@
* Update the version of `codecov-action` to v4 and fix the CodeCov issue with the PL-Lightning check-compatibility actions.
[(#682)](https://github.com/PennyLaneAI/pennylane-lightning/pull/682)

* Increase tolerance for a flaky test.
[(#703)](https://github.com/PennyLaneAI/pennylane-lightning/pull/703)

### Contributors

This release contains contributions from (in alphabetical order):

Ali Asadi, Amintor Dusko, Pietropaolo Frisoni, Christina Lee, Vincent Michaud-Rioux, Lee James O'Riordan, Mudit Pandey, Shuli Shu
Ali Asadi, Amintor Dusko, Christina Lee, Vincent Michaud-Rioux, Lee James O'Riordan, Mudit Pandey, Shuli Shu

---

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build_and_cache_Kokkos_linux.yml
Expand Up @@ -33,7 +33,7 @@ jobs:
steps:
- name: Kokkos execution strategy
id: exec_model
run: echo "exec_model=[\"SERIAL\", \"OPENMP\"]" >> $GITHUB_OUTPUT
run: echo "exec_model=[\"OPENMP\"]" >> $GITHUB_OUTPUT

- name: Kokkos version
id: kokkos_version
Expand Down
13 changes: 10 additions & 3 deletions .github/workflows/compat-check-latest-latest.yml
Expand Up @@ -20,9 +20,16 @@ jobs:
lightning-version: latest
pennylane-version: latest
secrets: inherit
tests_linux_python:
name: Lightning Compatibility test (tests_linux_python) - latest/latest
uses: ./.github/workflows/tests_linux_python.yml
tests_lqcpu_python:
name: Lightning Compatibility test (tests_lqcpu_python) - latest/latest
uses: ./.github/workflows/tests_lqcpu_python.yml
with:
lightning-version: latest
pennylane-version: latest
secrets: inherit
tests_lkcpu_python:
name: Lightning Compatibility test (tests_lkcpu_python) - latest/latest
uses: ./.github/workflows/tests_lkcpu_python.yml
with:
lightning-version: latest
pennylane-version: latest
Expand Down
13 changes: 10 additions & 3 deletions .github/workflows/compat-check-latest-stable.yml
Expand Up @@ -20,9 +20,16 @@ jobs:
lightning-version: latest
pennylane-version: stable
secrets: inherit
tests_linux_python:
name: Lightning Compatibility test (tests_linux_python) - latest/stable
uses: ./.github/workflows/tests_linux_python.yml
tests_lqcpu_python:
name: Lightning Compatibility test (tests_lqcpu_python) - latest/stable
uses: ./.github/workflows/tests_lqcpu_python.yml
with:
lightning-version: latest
pennylane-version: stable
secrets: inherit
tests_lkcpu_python:
name: Lightning Compatibility test (tests_lkcpu_python) - latest/stable
uses: ./.github/workflows/tests_lkcpu_python.yml
with:
lightning-version: latest
pennylane-version: stable
Expand Down
13 changes: 10 additions & 3 deletions .github/workflows/compat-check-release-release.yml
Expand Up @@ -20,9 +20,16 @@ jobs:
lightning-version: release
pennylane-version: release
secrets: inherit
tests_linux_python:
name: Lightning Compatibility test (tests_linux_python) - release/release
uses: ./.github/workflows/tests_linux_python.yml
tests_lqcpu_python:
name: Lightning Compatibility test (tests_lqcpu_python) - release/release
uses: ./.github/workflows/tests_lqcpu_python.yml
with:
lightning-version: release
pennylane-version: release
secrets: inherit
tests_lkcpu_python:
name: Lightning Compatibility test (tests_lkcpu_python) - release/release
uses: ./.github/workflows/tests_lkcpu_python.yml
with:
lightning-version: release
pennylane-version: release
Expand Down
13 changes: 10 additions & 3 deletions .github/workflows/compat-check-stable-latest.yml
Expand Up @@ -20,9 +20,16 @@ jobs:
lightning-version: stable
pennylane-version: latest
secrets: inherit
tests_linux_python:
name: Lightning Compatibility test (tests_linux_python) - stable/latest
uses: ./.github/workflows/tests_linux_python.yml
tests_lqcpu_python:
name: Lightning Compatibility test (tests_lqcpu_python) - stable/latest
uses: ./.github/workflows/tests_lqcpu_python.yml
with:
lightning-version: stable
pennylane-version: latest
secrets: inherit
tests_lkcpu_python:
name: Lightning Compatibility test (tests_lkcpu_python) - stable/latest
uses: ./.github/workflows/tests_lkcpu_python.yml
with:
lightning-version: stable
pennylane-version: latest
Expand Down
13 changes: 10 additions & 3 deletions .github/workflows/compat-check-stable-stable.yml
Expand Up @@ -20,9 +20,16 @@ jobs:
lightning-version: stable
pennylane-version: stable
secrets: inherit
tests_linux_python:
name: Lightning Compatibility test (tests_linux_python) - stable/stable
uses: ./.github/workflows/tests_linux_python.yml
tests_lqcpu_python:
name: Lightning Compatibility test (tests_lqcpu_python) - stable/stable
uses: ./.github/workflows/tests_lqcpu_python.yml
with:
lightning-version: stable
pennylane-version: stable
secrets: inherit
tests_lkcpu_python:
name: Lightning Compatibility test (tests_lkcpu_python) - stable/stable
uses: ./.github/workflows/tests_lkcpu_python.yml
with:
lightning-version: stable
pennylane-version: stable
Expand Down
21 changes: 13 additions & 8 deletions .github/workflows/dev_version_script.py
Expand Up @@ -107,13 +107,18 @@ def update_prerelease_version(repo_root_path: Path, version: Version):
if not master_version.prerelease or master_version.prerelease == DEV_PRERELEASE_TAG_PREFIX:
next_prerelease_version = DEV_PRERELEASE_TAG_START
else:
# Generate the next prerelease version (eg: dev1 -> dev2). Sourcing from master version.
next_prerelease_version = master_version.next_version("prerelease").prerelease
new_version = master_version.replace(prerelease=next_prerelease_version)
if pr_version != new_version:
print(f"Updating PR package version from -> '{pr_version}', to -> {new_version}")
update_prerelease_version(args.pr, new_version)
else:
print(f"PR is on the expected version '{new_version}' ... Nothing to do!")
# If master branch does not have a prerelease (for any reason) OR does not have an ending number
# Then default to the starting tag
if not master_version.prerelease or master_version.prerelease == DEV_PRERELEASE_TAG_PREFIX:
next_prerelease_version = DEV_PRERELEASE_TAG_START
else:
# Generate the next prerelease version (eg: dev1 -> dev2). Sourcing from master version.
next_prerelease_version = master_version.next_version("prerelease").prerelease
new_version = master_version.replace(prerelease=next_prerelease_version)
if pr_version != new_version:
print(f"Updating PR package version from -> '{pr_version}', to -> {new_version}")
update_prerelease_version(args.pr, new_version)
else:
print(f"PR is on the expected version '{new_version}' ... Nothing to do!")
else:
print("PR is not a dev prerelease ... Nothing to do!")
37 changes: 1 addition & 36 deletions .github/workflows/format.yml
Expand Up @@ -10,7 +10,7 @@ concurrency:
cancel-in-progress: true

jobs:
black:
format-python:
name: Format (Python)
runs-on: ubuntu-22.04
steps:
Expand Down Expand Up @@ -42,38 +42,3 @@ jobs:

- name: Run formatter
run: PATH=$PATH:/home/ubuntu/.local/bin/:$(dirname $(which python3))/ ./bin/format --check ./pennylane_lightning/core/src

tidy-cpp:
strategy:
matrix:
os: [ubuntu-22.04]
pl_backend: ["lightning_qubit"]

name: Tidy (C++)
runs-on: ${{ matrix.os }}

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

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.11'

- name: Install dependencies
run: sudo apt update && sudo apt -y install cmake gcc-11 g++-11 ninja-build libomp-14-dev && python -m pip install -r requirements-dev.txt
env:
DEBIAN_FRONTEND: noninteractive

- name: Run clang-tidy compilation
run: |
cmake -BBuild -G Ninja . \
-DENABLE_CLANG_TIDY=ON \
-DCLANG_TIDY_BINARY=$(dirname $(which python))/clang-tidy \
-DBUILD_TESTS=ON \
-DENABLE_WARNINGS=ON \
-DPL_BACKEND=${{ matrix.pl_backend }} \
-DCMAKE_CXX_COMPILER="$(which g++-11)" \
-DCMAKE_C_COMPILER="$(which gcc-11)"
cmake --build ./Build

0 comments on commit db01c15

Please sign in to comment.