Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v3 without conan #496

Merged
merged 74 commits into from
Aug 16, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
74 commits
Select commit Hold shift + click to select a range
72fab0d
Initial commit.
rturrado Apr 22, 2023
ed69b23
Implemented some parse version tests.
rturrado Apr 23, 2023
b325d80
include/ql/ir/cqasm/read.h:
rturrado Apr 25, 2023
12c7cfd
test/ql/ir/cqasm/read.cc: added several fake structures, the main one…
rturrado Apr 25, 2023
fe9dba9
Fixed some compilation warnings.
rturrado Jun 2, 2023
8897eca
Added libqasm/v3 via FetchContent.
rturrado Jun 2, 2023
6e1df5a
Fixed failing test.
rturrado Jun 2, 2023
f28f517
Fix typo. [skip ci]
rturrado Jun 5, 2023
82980ea
Merge remote-tracking branch 'origin/v3' into v3
rturrado Jun 5, 2023
a65b6b1
Changed OpenQL C++ standard to C++20.
rturrado Jun 6, 2023
38bcebf
Disabled OPENQL_BUILD_TESTS for the time being.
rturrado Jun 6, 2023
b947a75
Amend of last commit.
rturrado Jun 6, 2023
84d01bc
Trying libqasm/v3_distro.
rturrado Jul 7, 2023
493bd28
Merge remote-tracking branch 'origin/v3' into v3
rturrado Jul 7, 2023
9c7e694
CMakeLists.txt: back to libqasm/v3, since OpenQL 1) requires tree-gen…
rturrado Jul 7, 2023
a651e8e
Fixed C++20 Windows compilation.
rturrado Jul 8, 2023
df9d41a
Forgot to add patches/adaptors.h.
rturrado Jul 8, 2023
4d55ae6
Fixed ambiguities in operator== introduced by changes in C++20.
rturrado Jul 9, 2023
73f1365
CMakeLists.txt: reverted last change as it introduces other errors.
rturrado Jul 9, 2023
e80e649
ir_gen_ex.cc: changed free function operator== signature.
rturrado Jul 9, 2023
f5a5d6f
Testing C++23.
rturrado Jul 9, 2023
0d886fe
Testing C++23 Windows compilation.
rturrado Jul 9, 2023
6e92f1f
tst.yml: fixed 'conan build' line.
rturrado Jul 9, 2023
8793683
Files with calls to ambiguous operator== should see free function ope…
rturrado Jul 9, 2023
73b94b1
Files with calls to ambiguous operator== should see free function ope…
rturrado Jul 9, 2023
1ef5fc2
operands.cc: calls to ambiguous operator== should see free function o…
rturrado Jul 9, 2023
876b375
Added free function operator==(const Link<Object>&, const Link<Object…
rturrado Jul 10, 2023
37ee9bf
lemon/lfgw_writer.h: trying to fix macos compilation.
rturrado Jul 10, 2023
bc329e3
conanfile.py: added verbosity to conan build.
rturrado Jul 10, 2023
9aa3638
CMakeLists.txt: changed the copy commands and printed the lfg_writer.…
rturrado Jul 10, 2023
fa3cfc6
Renamed lfg_writer.h to lgf_writer.h.
rturrado Jul 10, 2023
7f07017
Added lgf_reader.h to the list of lemon patches.
rturrado Jul 10, 2023
5367f9d
At this point, the CMake's configure step fails because both eigen an…
rturrado Jul 11, 2023
3be6463
Fixed CMakeLists.txt:
rturrado Jul 21, 2023
9e628da
OpenQL v3 candidate for PR:
rturrado Jul 25, 2023
525fef4
Trying to fix Eigen3 CMake configuration:
rturrado Jul 25, 2023
bfeca82
test/CMakeLists.txt: fixed Windows build.
rturrado Jul 25, 2023
bff091d
test.yml: run './example' for non-Windows systems, and 'example.exe' …
rturrado Jul 25, 2023
56e2ad3
test.yml: run './example' for non-Windows systems, and not './example…
rturrado Jul 25, 2023
d09eacf
Fixed Clang compilation.
rturrado Jul 26, 2023
cc15069
Fixed Visualizer errors (after enabling X11 locally).
rturrado Jul 26, 2023
76df6ea
CMakeLists.txt:
rturrado Jul 26, 2023
a2fab67
CMakeLists.txt: temporarily commented out 'add_subdirectory(test)' to…
rturrado Jul 27, 2023
9467037
Fixed errors of the style 'return "blah" + var;' and 'var += "blah" +…
rturrado Jul 27, 2023
db3b423
CMakeLists.txt:
rturrado Jul 27, 2023
e74d93b
CMakeLists.txt:
rturrado Jul 27, 2023
fd58d98
CMakeLists.txt:
rturrado Jul 27, 2023
edbb216
CMakeLists.txt: moved 'Wno-error=restrict' from Clang to gcc compile …
rturrado Jul 27, 2023
fe1ae38
Propagate ql library compile options to tests.
rturrado Jul 27, 2023
a9c8fae
test.yml: fixed cpp-windows and cpp-arm64 jobs.
rturrado Jul 27, 2023
e6a4cd7
Set the same compile options for the test executables than for the ql…
rturrado Jul 27, 2023
6a364b0
CMakeLists.txt:
rturrado Jul 28, 2023
82c6f3f
Testing a possible fix for memory exhaustion issues.
rturrado Jul 28, 2023
4645aea
Reorganized tests.
rturrado Jul 30, 2023
fe8df0b
Merge remote-tracking branch 'origin/v3_without_conan' into v3_withou…
rturrado Jul 30, 2023
9ae9e44
Fixed cpp tests (over which I had done some wrong search/replace).
rturrado Jul 30, 2023
44cb16d
CMakeLists.txt: updated cqasm to the latest libqasm/develop, which in…
rturrado Aug 1, 2023
d3d06e5
CMakeLists.txt: avoid using FetchContent_Populate.
rturrado Aug 1, 2023
83b6565
test.yml: changed 'on-push-branches' from 'v3_without_coman' to 'deve…
rturrado Aug 1, 2023
17ef9cc
Merge branch 'v3_without_conan' into develop
rturrado Aug 1, 2023
50f529e
Fixed conflicts when merging v3_without_conan to develop.
rturrado Aug 1, 2023
648b00c
.gitignore: updated 'tests' references to point to 'test/v1x/python'.
rturrado Aug 2, 2023
3f118c5
Trying to fix clang and mvsvc bugs.
rturrado Aug 2, 2023
bfa41e0
Fixed some more clang errors.
rturrado Aug 2, 2023
0a15782
Trying parallel build of 10 processors.
rturrado Aug 2, 2023
23f2d1c
Options struct at src/ql/pass/map/qubits/place_mip/detail/impl.h sets…
rturrado Aug 3, 2023
e7bfc20
Changed 'write_model_to_file' member of Options struct to false by de…
rturrado Aug 3, 2023
513c93a
Revert "Options struct at src/ql/pass/map/qubits/place_mip/detail/imp…
rturrado Aug 3, 2023
7a1945d
Minor tidying up of test files.
rturrado Aug 4, 2023
4b7715b
Fixed some Python tests that start failing after renaming some resour…
rturrado Aug 4, 2023
8bea56f
Updated docs.
rturrado Aug 5, 2023
843cc89
Fixed IpGridTest::grid__find_complex_permutation.
rturrado Aug 10, 2023
3233028
Fixed IpStarTest::star_with_2q_gate__no_perfect_solution.
rturrado Aug 10, 2023
a2e0da7
Addressed most of comments from Pablo's code review.
rturrado Aug 10, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
115 changes: 15 additions & 100 deletions .github/workflows/assets.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,16 +20,12 @@ jobs:
fail-fast: false
matrix:
python:
- '3.7'
- '3.8'
- '3.9'
- '3.10'
- '3.11'
steps:
- uses: actions/checkout@v2
with:
submodules: recursive
- uses: actions/setup-python@v2
- uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python }}
- name: Install dependencies
Expand All @@ -38,6 +34,8 @@ jobs:
echo "/usr/local/opt/bison/bin" >> $GITHUB_PATH
echo "/usr/local/opt/flex/bin" >> $GITHUB_PATH
python -m pip install --upgrade pip setuptools wheel
- name: Checkout
uses: actions/checkout@v3
- name: Build wheel
env:
NPROCS: 5
Expand All @@ -46,7 +44,7 @@ jobs:
id: wheel
working-directory: pybuild/dist/
run: echo "##[set-output name=wheel;]$(ls *.whl)"
- uses: actions/upload-artifact@v2
- uses: actions/upload-artifact@v3
with:
name: pypi-macos-py${{ matrix.python }}
path: pybuild/dist/${{ steps.wheel.outputs.wheel }}
Expand Down Expand Up @@ -76,7 +74,6 @@ jobs:
- 2014
- _2_28
cpython_version:
- 'cp37-cp37m'
- 'cp38-cp38'
- 'cp39-cp39'
- 'cp310-cp310'
Expand All @@ -90,9 +87,6 @@ jobs:
swig_version: 'swig-3.0.12-19.module_el8.3.0+6167+838326ab'

steps:
- uses: actions/checkout@v2
with:
submodules: recursive
- name: Install dependencies
run: |
yum install -y $BISON_VERSION $SWIG_VERSION
Expand All @@ -105,19 +99,15 @@ jobs:
./configure
make -j
make install
- name: Install cmake
run: curl -L https://github.com/Kitware/CMake/releases/download/v$CMAKE_VERSION/cmake-$CMAKE_VERSION-Linux-x86_64.tar.gz | tar xz --strip-components=1 -C /usr
- name: Build wheel
env:
NPROCS: 5
run: |
/opt/python/${{ matrix.cpython_version }}/bin/python setup.py bdist_wheel
/opt/python/${{ matrix.cpython_version }}/bin/python -m auditwheel repair pybuild/dist/*.whl
- name: Get latest CMake
uses: lukka/get-cmake@latest
- name: Checkout
uses: actions/checkout@v3
- name: Wheel path
id: wheel
working-directory: wheelhouse
run: echo "##[set-output name=wheel;]$(ls *.whl)"
- uses: actions/upload-artifact@v2
- uses: actions/upload-artifact@v3
with:
name: pypi-linux-${{ matrix.cpython_version }}
path: wheelhouse/${{ steps.wheel.outputs.wheel }}
Expand All @@ -138,19 +128,15 @@ jobs:
fail-fast: false
matrix:
python:
- '3.7'
- '3.8'
- '3.9'
- '3.10'
- '3.11'
steps:
- uses: actions/checkout@v2
with:
submodules: recursive
- uses: actions/setup-python@v2
- uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python }}
- uses: actions/cache@v2
- uses: actions/cache@v3
with:
path: C:\Users\runneradmin\AppData\Local\Temp\chocolatey
key: ${{ runner.os }}-chocolatey-python-1
Expand All @@ -162,6 +148,8 @@ jobs:
python -m pip install --upgrade pip setuptools wheel
choco install winflexbison3 --version 2.5.18.20190508
#choco install swig --version 4.0.1
- name: Checkout
uses: actions/checkout@v3
- name: Build wheel
env:
NPROCS: 5
Expand All @@ -170,7 +158,7 @@ jobs:
id: wheel
working-directory: pybuild/dist/
run: echo "##[set-output name=wheel;]$(Get-ChildItem -name *.whl)"
- uses: actions/upload-artifact@v2
- uses: actions/upload-artifact@v3
with:
name: pypi-windows-py${{ matrix.python }}
path: pybuild/dist/${{ steps.wheel.outputs.wheel }}
Expand All @@ -184,94 +172,21 @@ jobs:
asset_name: ${{ steps.wheel.outputs.wheel }}
asset_content_type: application/zip

# NOTE: disabled conda completely because it is INCREDIBLY slow on CI (multiple
# hours!) and occasionally just breaks the runners entirely after ~6 hours. It
# also doesn't appear like anyone is actually using Conda within the lab
# (anymore), as everything goes through pycQED and it is pip-only.
#
# For a release, if conda is really still necessary, it will just have to be
# done manually.
#
# conda:
# name: Conda wheels
# runs-on: ${{ matrix.os }}
# strategy:
# fail-fast: false
# matrix:
# os:
# - ubuntu-latest
# - macos-latest
# - windows-2016
# python-version:
# - '3.7'
# - '3.8'
# - '3.9'
# - '3.10'
# - '3.11'
# steps:
# - uses: actions/checkout@v2
# with:
# submodules: recursive
# - name: Set up conda
# uses: conda-incubator/setup-miniconda@v2
# with:
# auto-update-conda: true
# miniconda-version: "latest"
# channel-priority: strict
# channels: conda-forge
# show-channel-urls: true
# use-only-tar-bz2: true
# - name: Install Windows dependencies
# if: matrix.os == 'windows-2016'
# run: choco install winflexbison3 --version 2.5.18.20190508
# - name: Install conda dependencies
# run: conda install conda-build conda-verify -y
# - name: Build & test
# env:
# NPROCS: 5
# run: conda build conda-recipe --python=${{ matrix.python-version }}
# - name: Wheel path
# id: wheel
# run: |
# python -c "import sys,os; print('##[set-output name=path;]' + os.path.abspath(sys.argv[1])); print('##[set-output name=wheel;]' + os.path.basename(sys.argv[1]));" "$(conda build conda-recipe --python=${{ matrix.python-version }} --output)"
# python -c "import sys; print('##[set-output name=os;]' + ('linux' if sys.argv[1].startswith('ubuntu') else 'macos' if sys.argv[1].startswith('macos') else 'windows' if sys.argv[1].startswith('windows') else 0/0))" ${{ matrix.os }}
# - uses: actions/upload-artifact@v2
# with:
# name: conda-${{ steps.wheel.outputs.os }}-py${{ matrix.python-version }}
# path: ${{ steps.wheel.outputs.path }}
# - uses: actions/upload-release-asset@v1
# if: ${{ github.event_name == 'release' && github.event.action == 'created' }}
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# with:
# upload_url: ${{ github.event.release.upload_url }}
# asset_path: ${{ steps.wheel.outputs.path }}
# asset_name: ${{ steps.wheel.outputs.wheel }}
# asset_content_type: application/x-bzip2

publish:
name: Publish
if: ${{ github.event_name == 'release' && github.event.action == 'created' }}
needs:
- macos
- manylinux
- windows
#- conda
runs-on: ubuntu-latest
steps:
- name: Download artifacts
uses: actions/download-artifact@v2
uses: actions/download-artifact@v3
id: download
#- name: Publish to Anaconda cloud
# run: |
# conda install -c anaconda anaconda-client -y
# conda run anaconda login --username ${{ secrets.ANACONDA_USER }} --password ${{ secrets.ANACONDA_PASSWORD }}
# conda run anaconda upload ${{ steps.download.outputs.download-path }}/conda-*/*.bz2
# conda run anaconda logout
- name: Publish to PyPI
uses: pypa/[email protected]
with:
user: __token__
password: ${{ secrets.PYPI_TOKEN }}
packages_dir: ${{ steps.download.outputs.download-path }}/pypi-*

Loading