Coder Social home page Coder Social logo

tox-gh's People

Contributors

dependabot[bot] avatar gaborbernat avatar lengau avatar nedbat avatar pre-commit-ci[bot] avatar sengolda avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

tox-gh's Issues

Support Python < 3.7

I understand that Python 2.7 is dead and Python 3 < 3.7 has been retired.

Tox is for test automation, though, and sometimes developers want to verify that their software continues to work even with outdated versions of Python.

The code base of this plugin is so small that it could do without features that require Python 3.7+ and even support Python 2.7 with rather little effort, no need even for six and friends. This would help!

Would prefer to use toxenv names in strategy matrix

Hello! With other CI providers, I like to define one CI check/job per tox environment, for example one for each of py38, py39, py310-coverage, lint. For github actions, I understand that it’s easy to use python version as an axis, so that the values generate combinations and can be used as parameter for the python install action. But having to run multiple jobs (e.g. py310 and lint / type check / doc check/etc) in one check feels backward to me: it’s driven by what the tool can do rather than what I want to see.
It doesn’t make sense to have one check that runs tests with latest python and lint, these should be separate jobs with separate success status.

Inspired by a comment somewhere, I ditched tox-gh-actions, used tox-env as matrix axis and used an external config file to map tox-env value to python install parameter: https://github.com/caravancoop/configstore/blob/main/.github/workflows/configstore.yml#L11
(I tried to configure all in the yaml file at first with complicated expressions but that was not worth it)

It would be great to have native support for this!

I don’t really have implementation suggestion. If we can add arbitrary config in the actions config file, maybe a mapping could be defined there? If not, it might have to be a job with outputs and that could be heavy (if it needs to call tox or use a shell).

jobs:
  test:
    name: test ${{ matrix.tox-env }}
    strategy:
      fail-fast: false
      matrix:
        tox-env:
          - "3.10"
          - "3.9"
          - "3.8"
          - "lint"
          - "pkg"

    steps:
      - uses: actions/setup-python@v2
        with:
          python-version: ${{ some-expression-to-get-version }}

Add a collapsible group for installation preliminaries

When I look at my Action results now, I open the step and see this:
image

All of the details of the package installations and other preliminaries are visible, but I have one more twisty to click open to see what actually happened with my tests. I almost never want to see the stuff that is first visible, and always want to see the stuff that is hidden until I click.

Can we add another group so that at least the preliminaries are initially hidden? It would reduce the visual clutter, and put them on an even footing with the test running.

Set the tox report as the step summary

It would be nice if we could optionally set the report that tox prints out to be the step summary in GitHub.

It looks like this might require a new API hook in tox to make it happen, but that hook could probably be of general benefit too.

Is this plugin maintained?

I notice the last release is almost a year ago, predated the actual release of tox 4.0, and the only commits to this repository since January appear to be automated or semi-automated dependency bumps.

I also notice that the plugin does not appear to work at the moment -- this GitHub Actions config and this tox config yielded a CI run that appears to have tried to run every environment on every Python version, rather than only the specified environments for each Python version.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.