[CQT-316] Add support for power
gate modifier with a fractional exponent
#89
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Test | |
on: | |
push: | |
branches: | |
- develop | |
- master | |
pull_request: | |
jobs: | |
cpp-linux-x64: | |
name: "C++ tests (gcc-clang/Linux/x64)" | |
# Starting with Ubuntu 24.04.1, the compilation of libQASM fails for clang/Linux | |
# So this job cannot be run on ubuntu-latest until the compilation of libQASM is fixed | |
# When moving to Ubuntu 24.04.1, please notice that it may be needed to install libc++-dev and libc++-abi-dev | |
runs-on: ubuntu-22.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
build_type: | |
- Debug | |
- Release | |
compiler: | |
- clang | |
- gcc | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- uses: ./.github/actions/cpp-tests | |
with: | |
build_type: ${{ matrix.build_type }} | |
conan_profile_host: conan/profiles/tests-${{ matrix.build_type }}-${{ matrix.compiler }}-linux-x64 | |
conan_profile_build: conan/profiles/tests-${{ matrix.build_type }}-${{ matrix.compiler }}-linux-x64 | |
shell: bash | |
cpp-linux-arm64: | |
name: "C++ tests (gcc/Linux/ARM64)" | |
# Starting with Ubuntu 24.04.1, the compilation of libQASM fails for clang/Linux | |
# So this job cannot be run on ubuntu-24.04-arm until the compilation of libQASM is fixed | |
# When moving to Ubuntu 24.04.1, please notice that it may be needed to install libc++-dev and libc++-abi-dev | |
runs-on: ubuntu-22.04-arm | |
strategy: | |
fail-fast: false | |
matrix: | |
build_type: | |
- Debug | |
- Release | |
compiler: | |
- clang | |
- gcc | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- uses: ./.github/actions/cpp-tests | |
with: | |
build_type: ${{ matrix.build_type }} | |
conan_profile_host: conan/profiles/tests-${{ matrix.build_type }}-${{ matrix.compiler }}-linux-arm64 | |
conan_profile_build: conan/profiles/tests-${{ matrix.build_type }}-${{ matrix.compiler }}-linux-arm64 | |
shell: bash | |
cpp-macos-x64: | |
name: "C++ tests (clang/MacOS/x64)" | |
runs-on: macos-13 # x64 | |
strategy: | |
fail-fast: false | |
matrix: | |
build_type: | |
- Debug | |
- Release | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- uses: ./.github/actions/cpp-tests | |
with: | |
build_type: ${{ matrix.build_type }} | |
conan_profile_host: conan/profiles/tests-${{ matrix.build_type }}-apple_clang-macos-x64 | |
conan_profile_build: conan/profiles/tests-${{ matrix.build_type }}-apple_clang-macos-x64 | |
shell: bash | |
cpp-macos-arm64: | |
name: "C++ tests (clang/macos/ARM64)" | |
runs-on: macos-14 # ARM64 | |
strategy: | |
fail-fast: false | |
matrix: | |
build_type: | |
- Debug | |
- Release | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- uses: ./.github/actions/cpp-tests | |
with: | |
build_type: ${{ matrix.build_type }} | |
conan_profile_host: conan/profiles/tests-${{ matrix.build_type }}-apple_clang-macos-arm64 | |
conan_profile_build: conan/profiles/tests-${{ matrix.build_type }}-apple_clang-macos-arm64 | |
shell: bash | |
cpp-windows-x64: | |
name: "C++ tests (msvc/Windows/x64)" | |
runs-on: windows-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
build_type: | |
- Debug | |
- Release | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- uses: ./.github/actions/cpp-tests | |
with: | |
build_type: ${{ matrix.build_type }} | |
conan_profile_host: conan/profiles/tests-${{ matrix.build_type }}-msvc-windows-x64 | |
conan_profile_build: conan/profiles/tests-${{ matrix.build_type }}-msvc-windows-x64 | |
shell: bash | |
python-linux-x64: | |
name: "Python tests (Linux/x64)" | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Install SWIG | |
run: | | |
sudo apt-get install -y swig | |
shell: bash | |
- uses: ./.github/actions/python-tests | |
with: | |
shell: bash | |
python-macos-x64: | |
name: "Python tests (macOS/x64)" | |
runs-on: macos-13 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Install SWIG | |
run: | | |
brew install swig | |
shell: bash | |
- uses: ./.github/actions/python-tests | |
with: | |
shell: bash | |
python-macos-arm64: | |
name: "Python tests (macOS/arm64)" | |
runs-on: macos-14 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Install SWIG | |
run: | | |
brew install swig | |
shell: bash | |
- uses: ./.github/actions/python-tests | |
with: | |
shell: bash | |
python-windows-x64: | |
name: "Python tests (Windows/x64)" | |
runs-on: windows-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- uses: ./.github/actions/python-tests | |
with: | |
shell: bash | |
complete: | |
# see https://github.community/t/status-check-for-a-matrix-jobs/127354/7 | |
name: Report status | |
needs: | |
- cpp-linux-x64 | |
- cpp-macos-x64 | |
- cpp-windows-x64 | |
- cpp-linux-arm64 | |
- cpp-macos-arm64 | |
- python-linux-x64 | |
- python-macos-x64 | |
- python-macos-arm64 | |
- python-windows-x64 | |
if: ${{ always() }} | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check all job status | |
# see https://docs.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#needs-context | |
# see https://stackoverflow.com/a/67532120/4907315 | |
if: >- | |
${{ | |
contains(needs.*.result, 'failure') | |
|| contains(needs.*.result, 'cancelled') | |
|| ( | |
github.ref != 'refs/heads/develop' | |
&& contains(needs.*.result, 'skipped') | |
) | |
|| | |
( | |
github.ref == 'refs/heads/develop' | |
&& contains(needs.*.result, 'skipped') | |
) | |
}} | |
run: exit 1 |