ni / ni/nimi-python

Add "cancel build" workflow

Open
#1,994 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

build enhancement priority-low
Dominant language
Python
Stars
128
Forks
110
Avg merge
5d 14h
Merged PRs (30d)
10

Description

Description of issue

System Tests and Travis CI take a long time to run (somewhere between 45 minutes and an hour and a half maybe?) and sometimes a contributor will push multiple commits to a PR in a short time, causing additional PR checks to be queued. But PR checks for the previous commits remain in the queue and aren't cancelled. This makes it take longer to get test results for the latest commit.

We should automatically cancel testing for previous commits of a PR when a new commit is pushed.
Luckily, there's an Action to help with that: cancel-workflow.
ni/grpc-device actually uses this action, already.

It may take a bit of research to properly use, but it would likely cut down on test time.
We should probably use a later version than ni/grpc-device currently does, so that we don't get node-js12 warnings.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Inspect the repository's existing CI workflow files and compare them with ni/grpc-device's .github/workflows/cancel_builds.yml and the cancel-workflow-action documentation. Configure cancellation for superseded pull-request commits, using a current action version, and verify that earlier queued checks are cancelled when a new commit is pushed.

Written by the indexing model from the issue text.

Assessment

Tech stack
github-actions
Domain
ci-cd
Issue type
Feature
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.