name: Docker

on:
  push:
    # Run post-submit tests when pushing to master.
    branches:
      - master

  # Run tests for any PRs.
  pull_request:

jobs:
  # Run tests.
  # See also https://docs.docker.com/docker-hub/builds/automated-testing/
  test:
    name: Test on ${{ matrix.os }}
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: [ubuntu-latest, windows-latest, macos-latest]

    steps:
      - name: Run tests
        run: |
          docker-compose build
          docker run -ti --rm qsim-cxx-tests:latest
          docker run -ti --rm qsim-py-tests:latest
          docker run -ti --rm qsim:latest -c /qsim/circuits/circuit_q24

Use Github Actions for automated testing
Use Github Actions for automated testing

Exploratory PR testing out Github Actions. If this works as expected, we can drop Travis and have CI available prior to open-source release.