diff --git a/.github/workflows/test-projects.yml b/.github/workflows/test-projects.yml new file mode 100644 index 0000000..2d304f8 --- /dev/null +++ b/.github/workflows/test-projects.yml @@ -0,0 +1,48 @@ +name: Run Unit Tests + +on: + # trigger on pull requests + pull_request: + + # trigger on all commits to main + push: + branches: + - 'main' + + # trigger on request + workflow_dispatch: +concurrency: + group: "${{ github.workflow }}-${{ github.ref }}" + cancel-in-progress: true +jobs: + test: + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest, windows-latest, macos-latest] + config: [ {python: '3.8'}, + {python: '3.9'}, + {python: '3.10'}, + {python: '3.11'}, + {python: '3.12'}] + project: ['flow.minimal', 'flow.hello-world'] + + steps: + - uses: actions/checkout@v3 + with: + submodules: "recursive" + - name: Create Python Environment + uses: conda-incubator/setup-miniconda@v2.2 + with: + python-version: ${{ matrix.config.python }} + environment-file: environment.yml + channels: conda-forge + activate-environment: test + show-channel-urls: true + miniforge-variant: Mambaforge + use-mamba: true + - name: Test project ${{ matrix.project }} + run: | + python flow-test.py ${{ matrix.subproject }} -vv --timeout=600 $@ + - uses: codecov/codecov-action@v3