Build ibm-platform-services
with known-good setuptools
#160
Workflow file for this run
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: Tests | |
on: | |
push: | |
branches: [ main, 'stable/*' ] | |
pull_request: | |
branches: [ main, 'stable/*' ] | |
concurrency: | |
group: ${{ github.repository }}-${{ github.ref }}-${{ github.head_ref }} | |
cancel-in-progress: true | |
jobs: | |
tests: | |
if: github.repository_owner == 'Qiskit' | |
name: tests-python${{ matrix.python-version }}-${{ matrix.os }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
python-version: [3.8, 3.11] | |
os: ["ubuntu-latest", "macOS-latest", "windows-latest"] | |
steps: | |
- name: Print Concurrency Group | |
env: | |
CONCURRENCY_GROUP: ${{ github.repository }}-${{ github.ref }}-${{ github.head_ref }} | |
run: | | |
echo -e "\033[31;1;4mConcurrency Group\033[0m" | |
echo -e "$CONCURRENCY_GROUP\n" | |
shell: bash | |
- uses: actions/checkout@v2 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v2 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Pip cache | |
uses: actions/cache@v2 | |
with: | |
path: ~/.cache/pip | |
key: ${{ runner.os }}-${{ matrix.python-version }}-pip-tests-${{ hashFiles('setup.py','requirements-dev.txt','constraints.txt') }} | |
restore-keys: | | |
${{ runner.os }}-${{ matrix.python-version }}-pip-tests- | |
${{ runner.os }}-${{ matrix.python-version }}-pip- | |
${{ runner.os }}-${{ matrix.python-version }} | |
# This can be removed when `ibm-platform-services` can build/install with the most recent of | |
# `setuptools`. `setuptools==72.0.0` and `ibm-platform-services==0.55.1` are a known-bad combo. | |
- name: Prebuild old-setuptools dependencies | |
shell: bash | |
run: | | |
set -e | |
python -m venv .build-deps | |
if [[ ${{ runner.os }} =~ [wW]indows ]]; then | |
.build-deps/Scripts/python -m pip install 'setuptools<72.0' wheel | |
.build-deps/Scripts/python -m pip wheel --no-build-isolation ibm-platform-services | |
else | |
.build-deps/bin/python -m pip install 'setuptools<72.0' wheel | |
.build-deps/bin/python -m pip wheel --no-build-isolation ibm-platform-services | |
fi | |
rm -rf .build-deps | |
- name: Install Deps | |
run: python -m pip install -U tox setuptools virtualenv wheel | |
- name: Install and Run Tests | |
run: tox -e py | |
neko: | |
if: github.repository_owner == 'Qiskit' | |
name: neko | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up Python 3.8 | |
uses: actions/setup-python@v2 | |
with: | |
python-version: 3.8 | |
- name: Pip cache | |
uses: actions/cache@v2 | |
with: | |
path: ~/.cache/pip | |
key: ${{ runner.os }}-${{ matrix.python-version }}-pip-neko-${{ hashFiles('setup.py','requirements-dev.txt','constraints.txt') }} | |
restore-keys: | | |
${{ runner.os }}-${{ matrix.python-version }}-pip-neko- | |
${{ runner.os }}-${{ matrix.python-version }}-pip- | |
${{ runner.os }}-${{ matrix.python-version }}- | |
# This can be removed when `ibm-platform-services` can build/install with the most recent of | |
# `setuptools`. `setuptools==72.0.0` and `ibm-platform-services==0.55.1` are a known-bad combo. | |
- name: Prebuild old-setuptools dependencies | |
shell: bash | |
run: | | |
set -e | |
python -m venv .build-deps | |
if [[ ${{ runner.os }} =~ [wW]indows ]]; then | |
.build-deps/Scripts/python -m pip install 'setuptools<72.0' wheel | |
.build-deps/Scripts/python -m pip wheel --no-build-isolation ibm-platform-services | |
else | |
.build-deps/bin/python -m pip install 'setuptools<72.0' wheel | |
.build-deps/bin/python -m pip wheel --no-build-isolation ibm-platform-services | |
fi | |
rm -rf .build-deps | |
- name: Install Deps | |
run: python -m pip install -U tox | |
- name: Run neko | |
run: tox -eneko | |
env: | |
NEKO_TEST_TIMEOUT: 120 | |
lint: | |
if: github.repository_owner == 'Qiskit' | |
name: lint | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up Python 3.8 | |
uses: actions/setup-python@v2 | |
with: | |
python-version: 3.8 | |
- name: Pip cache | |
uses: actions/cache@v2 | |
with: | |
path: ~/.cache/pip | |
key: ${{ runner.os }}-${{ matrix.python-version }}-pip-lint-${{ hashFiles('setup.py','requirements-dev.txt','constraints.txt') }} | |
restore-keys: | | |
${{ runner.os }}-${{ matrix.python-version }}-pip-lint- | |
${{ runner.os }}-${{ matrix.python-version }}-pip- | |
${{ runner.os }}-${{ matrix.python-version }}- | |
# This can be removed when `ibm-platform-services` can build/install with the most recent of | |
# `setuptools`. `setuptools==72.0.0` and `ibm-platform-services==0.55.1` are a known-bad combo. | |
- name: Prebuild old-setuptools dependencies | |
shell: bash | |
run: | | |
set -e | |
python -m venv .build-deps | |
if [[ ${{ runner.os }} =~ [wW]indows ]]; then | |
.build-deps/Scripts/python -m pip install 'setuptools<72.0' wheel | |
.build-deps/Scripts/python -m pip wheel --no-build-isolation ibm-platform-services | |
else | |
.build-deps/bin/python -m pip install 'setuptools<72.0' wheel | |
.build-deps/bin/python -m pip wheel --no-build-isolation ibm-platform-services | |
fi | |
rm -rf .build-deps | |
- name: Install Deps | |
run: python -m pip install -U tox | |
- name: Run lint | |
run: tox -elint | |
docs: | |
if: github.repository_owner == 'Qiskit' | |
name: docs | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
fetch-depth: 0 | |
- name: Set up Python 3.8 | |
uses: actions/setup-python@v2 | |
with: | |
python-version: 3.8 | |
- name: Pip cache | |
uses: actions/cache@v2 | |
with: | |
path: ~/.cache/pip | |
key: ${{ runner.os }}-${{ matrix.python-version }}-pip-docs-${{ hashFiles('setup.py','requirements-dev.txt','constraints.txt') }} | |
restore-keys: | | |
${{ runner.os }}-pip-docs- | |
${{ runner.os }}-pip- | |
${{ runner.os }}- | |
# This can be removed when `ibm-platform-services` can build/install with the most recent of | |
# `setuptools`. `setuptools==72.0.0` and `ibm-platform-services==0.55.1` are a known-bad combo. | |
- name: Prebuild old-setuptools dependencies | |
shell: bash | |
run: | | |
set -e | |
python -m venv .build-deps | |
if [[ ${{ runner.os }} =~ [wW]indows ]]; then | |
.build-deps/Scripts/python -m pip install 'setuptools<72.0' wheel | |
.build-deps/Scripts/python -m pip wheel --no-build-isolation ibm-platform-services | |
else | |
.build-deps/bin/python -m pip install 'setuptools<72.0' wheel | |
.build-deps/bin/python -m pip wheel --no-build-isolation ibm-platform-services | |
fi | |
rm -rf .build-deps | |
- name: Install Deps | |
run: | | |
python -m pip install -U tox | |
sudo apt-get install -y pandoc graphviz | |
- name: Build Docs | |
run: tox -edocs | |
- uses: actions/upload-artifact@v2 | |
with: | |
name: html_docs | |
path: docs/_build/html |