Skip to content

Less ci computation聽#345

Closed
Closed

Description

@cwmeijer

I propose

  • fewer builds by only running on the first and latest supported python versions (@egpbos ' idea)
  • only run build jobs on several configurations when a single configuration has succeeded already

Pro:

  • less computation 馃崈

Cons:

  • More time needed to finish the build job, as most runs will start only after the first has succeeded
  • We might miss a failing python version sometimes (only in quite special cases I imagine)

I did exactly this change in my own package, created using the python-template (see https://github.com/dianna-ai/distance_explainer/pull/7/files). I propose to do this exact change on the template as well.

Activity

  1. added
    generated-packageRelated to the generated package, i.e. after running cookiecutter
    on Jul 20, 2023
  2. LourensVeen commented on Jul 20, 2023

    @LourensVeen
    Member

    Also con: additional complexity and maintenance burden. Not necessarily a show-stopper, but something to think about: how do you implement these things as simply as possible?

  3. egpbos commented on Jul 20, 2023

    @egpbos
    Collaborator

    I saw that @cwmeijer was already experimenting with this in https://github.com/dianna-ai/distance_explainer/pull/7/files. Reviewing that commit in this thread (just to display some blatant violation of best practices of basic communication, let alone collaborative development :D), I would say it would be very much preferable if there were still only one job definition and the dependencies could be defined on the matrix-element level within that job... Is that an option? Then maintenance burden would be minimal.

    Edit: I see now that Chris already mentioned that PR himself, d'oh. Talk about blatant violations of best practices of basic communication :D

  4. egpbos commented on Jul 27, 2023

    @egpbos
    Collaborator

    Note that https://github.com/NLeSC/GREEN/issues/24 lists another bunch of cool ideas. I'm all for implementing these here as well. The maintainability is a concern, so we should document things well (maybe just in inline comments?).

  5. cwmeijer commented on Aug 3, 2023

    @cwmeijer
    CollaboratorAuthor

    A single job definition would absolutely be favorable. I don't know how to do that though. Suggestions are very welcome.

  6. egpbos commented on Oct 20, 2023

    @egpbos
    Collaborator

    To keep things simple, we could also just set fail-fast to true. This will still start running the other matrix jobs, but will kill them as soon as one fails. It's not perfect, in terms of green-ness, but I think a pretty good compromise with maintainability?

  7. fdiblen commented on Aug 26, 2024

    @fdiblen
    Member

    Solved by #551. Please reopen if needed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    generated-packageRelated to the generated package, i.e. after running cookiecutter

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions