diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b7a0121..5afca9f 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -5,13 +5,49 @@ on: pull_request: branches: [ main ] jobs: - tests: + tests-ubuntu: name: tests-python${{ matrix.python-version }}-${{ matrix.os }} runs-on: ${{ matrix.os }} strategy: matrix: - python-version: [3.7, 3.8, 3.9, '3.10'] - os: ["macOS-latest", "ubuntu-latest", "windows-latest"] + python-version: ['3.7', '3.8', '3.9', '3.10'] + os: ["ubuntu-latest"] + steps: + - uses: actions/checkout@v3 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-version }} + - name: Install Deps + run: make install + - name: Install and Run Tests + run: make unit-tests + tests-macOS: + name: tests-python${{ matrix.python-version }}-${{ matrix.os }} + runs-on: ${{ matrix.os }} + strategy: + matrix: + python-version: ['3.7', '3.8', '3.9', '3.10'] + os: ["macOS-latest"] + steps: + - uses: actions/checkout@v3 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-version }} + - name: Install Deps + run: make install + - name: Install and Run Tests + run: make unit-tests + tests-windows: + name: tests-python${{ matrix.python-version }}-${{ matrix.os }} + runs-on: ${{ matrix.os }} + strategy: + matrix: + # We skip Python 3.7 has Windows needs to rebuild it, but its specs are + # too low to do it... + python-version: ['3.8', '3.9', '3.10'] + os: ["windows-latest"] steps: - uses: actions/checkout@v3 - name: Set up Python ${{ matrix.python-version }} @@ -49,7 +85,7 @@ jobs: - name: Set up Python 3.9 uses: actions/setup-python@v4 with: - python-version: 3.9 + python-version: '3.9' - name: Install Deps run: make install - name: Run lint diff --git a/qiskit_alice_bob_provider/remote/job.py b/qiskit_alice_bob_provider/remote/job.py index 7789e2d..2322ca3 100644 --- a/qiskit_alice_bob_provider/remote/job.py +++ b/qiskit_alice_bob_provider/remote/job.py @@ -15,6 +15,7 @@ ############################################################################## import csv +import logging from dataclasses import dataclass from io import StringIO from typing import Callable, Dict, Optional @@ -30,7 +31,6 @@ QobjExperimentHeader, ) -from ..errors import AliceBobException from .api import jobs from .api.client import ApiClient @@ -214,12 +214,17 @@ def _ab_event_to_qiskit_status(event: str) -> JobStatus: 'COMPILATION_FAILED', 'TRANSPILATION_FAILED', 'EXECUTION_FAILED', + 'TIMED_OUT', }: return JobStatus.ERROR elif event == 'SUCCEEDED': return JobStatus.DONE elif event == 'CANCELLED': return JobStatus.CANCELLED - raise AliceBobException( - f'Received unexpected job event "{event}" from Alice & Bob\'s API' + logging.warning( + f'Received unexpected job event {event}. \n' + 'Please ensure you are running the latest version of the Alice & Bob ' + 'Provider .' ) + # An unknown job status will be considered to be an Error by default. + return JobStatus.ERROR