Skip to content

Trying to fix python jobs. #445

Trying to fix python jobs.

Trying to fix python jobs. #445

Workflow file for this run

name: Test
on:
push:
branches:
- olafs_git_hub_pipeline
pull_request:
jobs:
cpp-linux-x64:
name: "C++ tests (gcc-clang/Linux/x64)"
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
build_type:
- Debug
- Release
compiler:
- clang++
- g++
steps:
- name: Checkout
uses: actions/checkout@v4
- uses: ./.github/actions/cpp-tests
with:
build_type: ${{ matrix.build_type }}
shell: bash
cpp-macos-x64:
name: "C++ tests (clang/MacOS/x64)"
runs-on: macos-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 }}
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 }}
shell: bash
cpp-linux-arm64:
name: "C++ tests (gcc/Linux/ARM64)"
runs-on: [self-hosted, ARM64, Linux]
container: python:3.11
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Add Python symlink
run: ln -sf /usr/local/bin/python3.11 /usr/bin/python3
shell: bash
# We are having problems when using the m4 and zulu-opendjk Conan packages on an armv8 architecture
# m4 is required by flex/bison and zulu-openjdk provides the Java JRE required by the ANTLR generator
# So, for the time being, we are installing flex/bison and java manually for this platform
- name: Install bison, flex and java
run: |
apt-get update
apt-get install -y bison flex default-jre
- uses: ./.github/actions/cpp-tests
with:
build_type: Release
shell: bash
cpp-macos-arm64:
name: "C++ tests (clang/macos/ARM64)"
runs-on: [self-hosted, ARM64, macOS]
steps:
- name: Checkout
uses: actions/checkout@v4
# We are having problems when using the m4 and zulu-opendjk Conan packages on an armv8 architecture
# m4 is required by flex/bison and zulu-openjdk provides the Java JRE required by the ANTLR generator
# So, for the time being, we are installing flex/bison and java manually for this platform
- name: Install bison, flex and java
run: |
brew install bison flex java
echo "$(brew --prefix bison)/bin" >> $GITHUB_PATH
echo "$(brew --prefix flex)/bin" >> $GITHUB_PATH
echo "$(brew --prefix java)/bin" >> $GITHUB_PATH
shell: bash
- uses: ./.github/actions/cpp-tests
with:
build_type: Release
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
- name: Export LIBQASM_BUILD_TYPE
run: |
echo "LIBQASM_BUILD_TYPE=Debug" >> $GITHUB_ENV
shell: bash
- uses: ./.github/actions/python-tests
with:
shell: bash
python-macos-x64:
name: "Python tests (macOS/x64)"
runs-on: macos-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install SWIG
run: |
brew install swig
shell: bash
- name: Export LIBQASM_BUILD_TYPE
run: |
echo "LIBQASM_BUILD_TYPE=Debug" >> $GITHUB_ENV
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
- name: Export LIBQASM_BUILD_TYPE
run: |
echo "LIBQASM_BUILD_TYPE=Release" >> $env:GITHUB_ENV
shell: powershell
- uses: ./.github/actions/python-tests
with:
shell: bash
docker:
name: Docker
runs-on: ubuntu-latest
steps:
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Build without pushing
uses: docker/build-push-action@v4
with:
push: false
tags: libqasm:latest
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-windows-x64
- docker
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')
|| contains(needs.*.result, 'skipped')
}}
run: exit 1