sktime: [ENH] ensure `update-contributors` workflow does not run on `main`

(good first issue for contrinbutors with GHA experience)

The update-contributors workflow (which compiles the all-contributorsrc list into the CONTRIBUTORS page) is triggered on any branch, including main.

On main, however, it fails due to credentials, and anyway nothing should directly modify main.

An attempt to change the trigger condition failed: https://github.com/sktime/sktime/pull/6133, this seems due to trying to push to forks, as @yarnabrina has noted and @Xinyu-Wu-0000 explains here: https://github.com/sktime/sktime/pull/6093#issuecomment-2011074209

It would be great if we could modify the workflow so:

  • it does not run on main
  • it does not invalidate results of the normal CI which are no longer displayed in the GitHub UI. Optimally, the “update contributors” worflow (or a job) should run before, not after running normal CI.

About this issue

  • Original URL
  • State: open
  • Created 3 months ago
  • Comments: 17 (3 by maintainers)

Commits related to this issue

Most upvoted comments

I’d wait for other @sktime/core-developers to share their opinion, but I’d prefer myself to run this workflow independently of unit tests in a complete different PR.

@sammychinedu2ky, adding my explanation from #6189 here:

Currently (prior to #6189), update-contributors and test lead to different workflow runs, e.g., here: image

It seems that the test workflow triggers first, so the GitHub UI wil only register the latest workflow run for checking whether tests have passed on the PR, to validate whether required jobs have passed.

That is, while things like test-nosoftdeps run on the test action, the outcome becomes irrelevant for the purpose of informing the Github UI, because it’s looking for the job in the update-contributors workflow.

Consequently, the jobs dashboard on the pull request looks like this: image even if all the jobs are run (but in the second-to-last workflow call form the PR), and no merge button appears.

If the update-contributors workflow were to run first, and then test, this would not be a problem - but it is unclear to me how to ensure that.

@fkiraly

Please, check linked PR, and give feedback

Possible solutions:

it does not run on main

Add

push:
    branches-ignore:
      - main

“update contributors” worflow (or a job) should run before, not after running normal CI.

Add needs: [Update Contributors] at the yml file starting normal CI.

I used sematic-release before and gained some familiarity with GHA. Just commented from vague memory though, not enough time to confirm and make a PR.