Skip to content

Commit

Permalink
testing multiple versions in pipeline (#67)
Browse files Browse the repository at this point in the history
* added test matrix

* adding changelog entry

* removing python 3.6

* removing python 3.7

* using container matrix

* removing debian images

* removing exclude

* testing

* testing

* testing

* testing

* testing

* testing

* testing

* testing

* testing

* testing

* testing

* testing

* testing

* testing

* testing

* testing

* testing

* testing

* testing

* testing

* testing

* testing

* updating docs

* updating docs

* updating docs

* updating docs

* wip: Updated compatibility table styling

* wip: Updated compatibility table - changed not supported cell colour

* Updated compatibility table content and formatting

* Updated compatibility table formatting

* Removed typo in compatibility table

* Updated semi stable cell colour on compatibility table

* Removed typo in compatibility table

* adding more configs

* fixing links

* enabling tests

* adding slack webhook back

Co-authored-by: Alejandro Esquivel <[email protected]>
  • Loading branch information
wjcunningham7 and AlejandroEsquivel authored Feb 4, 2022
1 parent 9e5bcd5 commit de128fc
Show file tree
Hide file tree
Showing 6 changed files with 144 additions and 9 deletions.
29 changes: 23 additions & 6 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,19 +28,35 @@ on:

jobs:
tests:
runs-on: ubuntu-latest
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: ['ubuntu-latest']
container:
- python:3.8-buster
- python:3.8-bullseye
- python:3.9-buster
- python:3.9-bullseye
- centos/python-38-centos7
experimental: [false]
include:
- os: macos-latest
python-version: '3.8'
experimental: false
container: ${{ matrix.container }}
continue-on-error: ${{ matrix.experimental }}
steps:
- name: Check out head
uses: actions/checkout@v2
with:
persist-credentials: false
- name: Set up Python
if: matrix.os == 'macos-latest'
uses: actions/setup-python@v2
with:
python-version: 3.8
python-version: ${{ matrix.python-version }}
- name: Install Python dependencies
run: |
python -m pip install --upgrade pip
pip install --no-cache-dir -r ./requirements.txt
pip install --no-cache-dir -r ./tests/requirements.txt
- name: Install Covalent
Expand All @@ -52,25 +68,26 @@ jobs:
- name: Generate coverage report
run: coverage xml
- name: Upload report to Codecov
if: matrix.os == 'ubuntu-latest' && matrix.container == 'python:3.8-buster'
uses: codecov/codecov-action@v2
with:
files: ./coverage.xml
- name: Push to master
if: github.ref == 'refs/heads/develop'
if: github.ref == 'refs/heads/develop' && matrix.os == 'ubuntu-latest' && matrix.container == 'python:3.8-buster'
run: |
git config user.name "CovalentOpsBot"
git config user.email "[email protected]"
git remote set-url origin https://${{ secrets.COVALENT_OPS_BOT_TOKEN }}@github.com/AgnostiqHQ/covalent.git
git fetch --unshallow
git push origin HEAD:master
- name: Format Slack message
if: github.ref == 'refs/heads/develop'
if: github.ref == 'refs/heads/develop' && matrix.os == 'ubuntu-latest' && matrix.container == 'python:3.8-buster'
run: |
VERSION="$(cat ./VERSION)"
SLACK_MSG=":rocket: Version $VERSION is now available."
echo "SLACK_MSG=$SLACK_MSG" >> $GITHUB_ENV
- name: Notify Slack
if: github.ref == 'refs/heads/develop'
if: github.ref == 'refs/heads/develop' && matrix.os == 'ubuntu-latest' && matrix.container == 'python:3.8-buster'
uses: rtCamp/action-slack-notify@v2
env:
SLACK_CHANNEL: "covalent-ci"
Expand Down
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,13 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [0.24.4] - 2022-02-04

### Added

- Tests across multiple versions of Python and multiple operating systems
- Documentation reflecting supported configurations

## [0.24.3] - 2022-02-04

### Changed
Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.24.3
0.24.4
111 changes: 111 additions & 0 deletions doc/source/getting_started/compatibility.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
=============
Compatibility
=============

While Covalent is primarily developed using Python 3.8 on MacOS and Linux, it has been tested in a variety of environments. The following table summarizes the compatibility of Covalent with various versions of Python and operating systems.

.. raw:: html

<table style="border-collapse: collapse; width: 100%; border: 1px solid black;">
<tr style="background-color: white;">
<th style="padding: 15px; text-align: center; color: black; font-size: 12px; border: 1px solid #ddd;">OS Version</th>
<th style="padding: 15px; text-align: center; color: black; font-size: 12px; border: 1px solid #ddd;">Python Version</th>
<th style="padding: 15px; text-align: center; color: black; font-size: 12px; border: 1px solid #ddd;">Supported</th>
<th style="padding: 15px; text-align: center; color: black; font-size: 12px; border: 1px solid #ddd;">Notes</th>
</tr>
<tr style="background-color: #f2f2f2;">
<td style="padding: 15px; text-align: center; color: black; font-size: 12px; border: 1px solid #ddd;">macOS 11 (Big Sur)</td>
<td style="padding: 15px; text-align: center; color: black; font-size: 12px; border: 1px solid #ddd;">3.7</td>
<td class="semi-stable" style="padding: 15px; text-align: center; color: black; font-size: 12px; border: 1px solid #ddd; background-color: rgb(255 223 122);">SEMI-STABLE</td>
<td style="padding: 15px; text-align: center; color: black; font-size: 12px; border: 1px solid #ddd;">Source code inspection fails.</td>
</tr>
<tr style="background-color: white;">
<td style="padding: 15px; text-align: center; color: black; font-size: 12px; border: 1px solid #ddd;"></td>
<td style="padding: 15px; text-align: center; color: black; font-size: 12px; border: 1px solid #ddd;">3.8</td>
<td class="stable" style="padding: 15px; text-align: center; color: black; font-size: 12px; border: 1px solid #ddd; background-color: #afddba;">STABLE</td>
<td style="padding: 15px; text-align: center; color: black; font-size: 12px; border: 1px solid #ddd;"></td>
</tr>
<tr style="background-color: #f2f2f2;">
<td style="padding: 15px; text-align: center; color: black; font-size: 12px; border: 1px solid #ddd;"></td>
<td style="padding: 15px; text-align: center; color: black; font-size: 12px; border: 1px solid #ddd;">3.9</td>
<td class="unknown" style="padding: 15px; text-align: center; color: black; font-size: 12px; border: 1px solid #ddd; background-color: #d6d8d9;">UNKNOWN</td>
<td style="padding: 15px; text-align: center; color: black; font-size: 12px; border: 1px solid #ddd;">GitHub runner hangs.</td>
</tr>
<tr style="background-color: white;">
<td style="padding: 15px; text-align: center; color: black; font-size: 12px; border: 1px solid #ddd;">Debian Buster / Ubuntu 18.04</td>
<td style="padding: 15px; text-align: center; color: black; font-size: 12px; border: 1px solid #ddd;">3.6</td>
<td class="not-supported" style="padding: 15px; text-align: center; color: black; font-size: 12px; border: 1px solid #ddd; background-color: #d98a91;">NOT SUPPORTED</td>
<td style="padding: 15px; text-align: center; color: black; font-size: 12px; border: 1px solid #ddd;"></td>
</tr>
<tr style="background-color: #f2f2f2;">
<td style="padding: 15px; text-align: center; color: black; font-size: 12px; border: 1px solid #ddd;"></td>
<td style="padding: 15px; text-align: center; color: black; font-size: 12px; border: 1px solid #ddd;">3.7</td>
<td class="semi-stable" style="padding: 15px; text-align: center; color: black; font-size: 12px; border: 1px solid #ddd; background-color: rgb(255 223 122);">SEMI-STABLE</td>
<td style="padding: 15px; text-align: center; color: black; font-size: 12px; border: 1px solid #ddd;">Source code inspection fails.</td>
</tr>
<tr style="background-color: white;">
<td style="padding: 15px; text-align: center; color: black; font-size: 12px; border: 1px solid #ddd;"></td>
<td style="padding: 15px; text-align: center; color: black; font-size: 12px; border: 1px solid #ddd;">3.8</td>
<td class="stable" style="padding: 15px; text-align: center; color: black; font-size: 12px; border: 1px solid #ddd; background-color: #afddba;">STABLE</td>
<td style="padding: 15px; text-align: center; color: black; font-size: 12px; border: 1px solid #ddd;"></td>
</tr>
<tr style="background-color: #f2f2f2;">
<td style="padding: 15px; text-align: center; color: black; font-size: 12px; border: 1px solid #ddd;"></td>
<td style="padding: 15px; text-align: center; color: black; font-size: 12px; border: 1px solid #ddd;">3.9</td>
<td class="stable" style="padding: 15px; text-align: center; color: black; font-size: 12px; border: 1px solid #ddd; background-color: #afddba;">STABLE</td>
<td style="padding: 15px; text-align: center; color: black; font-size: 12px; border: 1px solid #ddd;"></td>
</tr>
<tr style="background-color: white;">
<td style="padding: 15px; text-align: center; color: black; font-size: 12px; border: 1px solid #ddd;"></td>
<td style="padding: 15px; text-align: center; color: black; font-size: 12px; border: 1px solid #ddd;">3.10</td>
<td class="not-supported" style="padding: 15px; text-align: center; color: black; font-size: 12px; border: 1px solid #ddd; background-color: #d98a91;">NOT SUPPORTED</td>
<td style="padding: 15px; text-align: center; color: black; font-size: 12px; border: 1px solid #ddd;">Compatibility problems with eventlet.</td>
</tr>
<tr style="background-color: #f2f2f2;">
<td style="padding: 15px; text-align: center; color: black; font-size: 12px; border: 1px solid #ddd;">Debian Bullseye / Ubuntu 20.04</td>
<td style="padding: 15px; text-align: center; color: black; font-size: 12px; border: 1px solid #ddd;">3.7</td>
<td class="semi-stable" style="padding: 15px; text-align: center; color: black; font-size: 12px; border: 1px solid #ddd; background-color: rgb(255 223 122);">SEMI-STABLE</td>
<td style="padding: 15px; text-align: center; color: black; font-size: 12px; border: 1px solid #ddd;">Source code inspection fails.</td>
</tr>
<tr style="background-color: white;">
<td style="padding: 15px; text-align: center; color: black; font-size: 12px; border: 1px solid #ddd;"></td>
<td style="padding: 15px; text-align: center; color: black; font-size: 12px; border: 1px solid #ddd;">3.8</td>
<td class="stable" style="padding: 15px; text-align: center; color: black; font-size: 12px; border: 1px solid #ddd; background-color: #afddba;">STABLE</td>
<td style="padding: 15px; text-align: center; color: black; font-size: 12px; border: 1px solid #ddd;"></td>
</tr>
<tr style="background-color: #f2f2f2;">
<td style="padding: 15px; text-align: center; color: black; font-size: 12px; border: 1px solid #ddd;"></td>
<td style="padding: 15px; text-align: center; color: black; font-size: 12px; border: 1px solid #ddd;">3.9</td>
<td class="stable" style="padding: 15px; text-align: center; color: black; font-size: 12px; border: 1px solid #ddd; background-color: #afddba;">STABLE</td>
<td style="padding: 15px; text-align: center; color: black; font-size: 12px; border: 1px solid #ddd;"></td>
</tr>
<tr style="background-color: white;">
<td style="padding: 15px; text-align: center; color: black; font-size: 12px; border: 1px solid #ddd;">CentOS 7</td>
<td style="padding: 15px; text-align: center; color: black; font-size: 12px; border: 1px solid #ddd;">3.6</td>
<td class="not-supported" style="padding: 15px; text-align: center; color: black; font-size: 12px; border: 1px solid #ddd; background-color: #d98a91;">NOT SUPPORTED</td>
<td style="padding: 15px; text-align: center; color: black; font-size: 12px; border: 1px solid #ddd;"></td>
</tr>
<tr style="background-color: #f2f2f2;">
<td style="padding: 15px; text-align: center; color: black; font-size: 12px; border: 1px solid #ddd;"></td>
<td style="padding: 15px; text-align: center; color: black; font-size: 12px; border: 1px solid #ddd;">3.8</td>
<td class="stable" style="padding: 15px; text-align: center; color: black; font-size: 12px; border: 1px solid #ddd; background-color: #afddba;">STABLE</td>
<td style="padding: 15px; text-align: center; color: black; font-size: 12px; border: 1px solid #ddd;"></td>
</tr>
<tr style="background-color: white;">
<td style="padding: 15px; text-align: center; color: black; font-size: 12px; border: 1px solid #ddd;">Gentoo</td>
<td style="padding: 15px; text-align: center; color: black; font-size: 12px; border: 1px solid #ddd;">3.8</td>
<td class="not-supported" style="padding: 15px; text-align: center; color: black; font-size: 12px; border: 1px solid #ddd; background-color: #afddba;">STABLE</td>
<td style="padding: 15px; text-align: center; color: black; font-size: 12px; border: 1px solid #ddd;"></td>
</tr>
<tr style="background-color: #f2f2f2;">
<td style="padding: 15px; text-align: center; color: black; font-size: 12px; border: 1px solid #ddd;"></td>
<td style="padding: 15px; text-align: center; color: black; font-size: 12px; border: 1px solid #ddd;">3.9</td>
<td class="stable" style="padding: 15px; text-align: center; color: black; font-size: 12px; border: 1px solid #ddd; background-color: #afddba;">STABLE</td>
<td style="padding: 15px; text-align: center; color: black; font-size: 12px; border: 1px solid #ddd;"></td>
</tr>
</table>


Is your environment missing from this list? Help us expand it by reporting feedback on `GitHub <https://github.com/AgnostiqHQ/covalent/issues>`_.

Return to :doc:`Getting Started <./index>`.
2 changes: 1 addition & 1 deletion doc/source/getting_started/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
Getting Started
===============

Covalent is developed using Python 3.8 on Linux and macOS. Other versions or operating systems may be supported but have not been rigorously tested. To set up Python on your computer, refer to the official `Python for Beginners <https://www.python.org/about/gettingstarted/>`_ page.
Covalent is developed using Python 3.8 on Linux and macOS. See the :doc:`Compatibility <./compatibility>` page for further details on Python versions and operating systems which support Covalent. To set up Python on your computer, refer to the official `Python for Beginners <https://www.python.org/about/gettingstarted/>`_ page.

Installation
############
Expand Down
2 changes: 1 addition & 1 deletion tests/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@ mock==4.0.3
nbconvert==6.3.0
pennylane==0.16.0
pre-commit==2.13.0
pytest==6.2.2
pytest==6.2.5
pytest-cov==2.12.0
pytest-mock==3.6.1

0 comments on commit de128fc

Please sign in to comment.