Skip to content

Add reusable workflow #484

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jan 17, 2022
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
132 changes: 132 additions & 0 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,132 @@
name: Tests

on:
workflow_call:

jobs:
test_python:
name: ${{ matrix.name }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
include:
- os: ubuntu-latest
name: py36-ubuntu
python-version: 3.6

- os: windows-latest
name: py36-windows
python-version: 3.6

- os: macOS-latest
name: py36-mac
python-version: 3.6

- os: ubuntu-latest
name: py37-ubuntu
python-version: 3.7

- os: windows-latest
name: py37-windows
python-version: 3.7

- os: macOS-latest
name: py37-mac
python-version: 3.7

- os: ubuntu-latest
name: py38-ubuntu
python-version: 3.8

- os: windows-latest
name: py38-windows
python-version: 3.8

- os: macOS-latest
name: py38-mac
python-version: 3.8

- os: ubuntu-latest
name: py39-ubuntu
python-version: 3.9

- os: windows-latest
name: py39-windows
python-version: 3.9

- os: macOS-latest
name: py39-mac
python-version: 3.9

- os: ubuntu-latest
name: pypy3-ubuntu
python-version: pypy3

- os: windows-latest
name: pypy3-windows
python-version: pypy3
# https://github.com/pytest-dev/pytest-html/issues/482
# - os: macOS-latest
# name: pypy3-mac
# python-version: pypy3

- os: ubuntu-latest
name: devel-ubuntu
python-version: 3.9

steps:
- name: Set Newline Behavior
run : git config --global core.autocrlf false
- uses: actions/checkout@master
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: ${{ matrix['python-version'] }}
- name: Install tox
run: python -m pip install --upgrade tox
- name: Get Tox Environment Name From Matrix Name
uses: rishabhgupta/split-by@v1
id: split-matrix-name
with:
string: '${{ matrix.name }}'
split-by: '-'
- name: Test with tox
run: python -m tox -e ${{ steps.split-matrix-name.outputs._0}}-cov
# TODO: https://github.com/pytest-dev/pytest-html/issues/481
# - name: Upload coverage to codecov
# if: github.event.schedule == ''
# uses: codecov/codecov-action@v2
# with:
# fail_ci_if_error: true
# file: ./coverage.xml
# flags: tests
# name: ${{ matrix.py }} - ${{ matrix.os }}
# verbose: true

test_javascript:
name: grunt
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: '12.x'
- name: Install Dependencies
run: npm install
- name: QUnit Tests
run: npm test

linting:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

coudl thisone be migrated to precommit.ci?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member

@nicoddemus nicoddemus Jan 17, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

https://pre-commit.ci/

We have been enabling this for many pytest plugins, including pytest itself, and are very happy with the results.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

https://pre-commit.ci/

We have been enabling this for many pytest plugins, including pytest itself, and are very happy with the results.

Oh, nice!

I'll follow up this PR with one to migrate it then. 👍

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

https://pre-commit.ci/

We have been enabling this for many pytest plugins, including pytest itself, and are very happy with the results.

How exactly do I migrate?

According to pre-commit.ci docs - nothing is needed except the config file (which exists) and I couldn't find anything in the pytest repo to hint at how to do it either? @nicoddemus

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

https://pre-commit.ci/

We have been enabling this for many pytest plugins, including pytest itself, and are very happy with the results.

Ah, I think I figured it out.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You don't need to add anything to the repository, we just need to enable it in the project settings. Is that what you did?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes:

image

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You don't need to add anything to the repository, we just need to enable it in the project settings. Is that what you did?

Yep, that's what I did. :)

name: linting
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: 3.9
- name: Install tox
run: python -m pip install --upgrade tox
- name: Lint with tox
run: python -m tox -e linting