NCAS-CMS / NCAS-CMS/cf-python

Actions: opt to run with either cfdm release or master

Open
#114 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

GitHub Actions
Dominant language
Python
Stars
150
Forks
23
Avg merge
1d 11h
Merged PRs (30d)
2

Description

There are times when in context we want to run the cf-python test suite (run-test-suite.yml workflow) under Actions CI where the cfdm dependency has a certain version, and other times when to test appropriately we need to run against the current state of the cfdm master branch.

For the former case, usually the most suitable version would be the latest-release cfdm, but perhaps the ability to run with an arbitrary version could be useful, e.g. to check for compatible versions (perhaps under a job matrix in a new compatibility workflow, or similar).

Therefore it would be good to enable some way to specify which of these cfdm states a PR should run off in the run-test-suite.yml workflow. Ideally we can make that one workflow specification configurable by some trigger to run off another version to the default (see below), rather than having a separate workflow.

In fact, I think in most cases we want to run with the development cfdm, rather than a release one, as quite often we commit changes that would break the end-to-end system if cf and cfdm are not both updated appropriately. So as a starting point, I will change the workflow to run off the master state of cfdm, as currently we run with the latest version available on the conda channels (and that is not even up-to-date so as to be the latest release).

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

Start with .github/workflows/run-test-suite.yml and inspect how the workflow currently obtains cfdm from the conda channels. Define how a run selects the cfdm release or master state, including whether an arbitrary version or matrix is supported. Done means the workflow can exercise both requested dependency states and the test suite completes under Actions.

Written by the indexing model from the issue text.

Assessment

Tech stack
github-actions, python
Domain
ci-cd
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.