Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
166 commits
Select commit Hold shift + click to select a range
d0af05e
update checkout action version to v6 in CLA workflow
yaswant Dec 8, 2025
fe826dc
refactor: enhance CLA check for contributor status in PR branch
yaswant Dec 8, 2025
e78dd86
refactor: update step name for contributor check in CLA workflow
yaswant Dec 8, 2025
fc10ca3
refactor: update ref input handling for CLA verification
yaswant Dec 8, 2025
2bd6f12
refactor: add functionality to delete old CLA-related comments
yaswant Dec 8, 2025
ff15ce5
refactor: improve filtering of CLA-related comments from GitHub Actio…
yaswant Dec 8, 2025
1181bdb
refactor: remove unused ref input and simplify checkout ref handling
yaswant Dec 8, 2025
e2f37e7
refactor: add error handling for deleting old CLA comments
yaswant Dec 8, 2025
48dd503
refactor: enhance error handling for label creation in CLA workflow
yaswant Dec 8, 2025
4e23060
refactor: update CONTRIBUTORS file references to CONTRIBUTORS.md in C…
yaswant Dec 8, 2025
548cddf
refactor: update CLA comment link to point to the correct repository …
yaswant Dec 9, 2025
dcf2c97
Update post message
yaswant Dec 9, 2025
a455d67
Handle the scenario where a contributor has already signed the CLA in…
yaswant Dec 9, 2025
2415cc9
Merge branch 'main' into develop
yaswant Dec 9, 2025
8e563d5
Empty Commit
yaswant Dec 9, 2025
0eeacb5
Refactor CLA workflow to use base SHA for accurate comparison
yaswant Dec 9, 2025
49f528b
Add copyright notice to CLA Checker workflow file
yaswant Dec 9, 2025
91bf7c5
Merge branch 'main' into develop
yaswant Dec 16, 2025
61639ac
remove labelling when cla already signed on base (#46)
james-bruten-mo Dec 17, 2025
61964fe
Remove label (#47)
james-bruten-mo Dec 17, 2025
dc0cdf9
Remove label (#48)
james-bruten-mo Dec 17, 2025
ba7228b
Remove label (#49)
james-bruten-mo Dec 18, 2025
641b29d
update cla action (#50)
james-bruten-mo Dec 19, 2025
ac9a69a
Project edit action (#53)
james-bruten-mo Jan 7, 2026
322090a
add permissions to develop branch action
james-bruten-mo Jan 7, 2026
b57ad63
update permissions syntax
james-bruten-mo Jan 7, 2026
6132c4b
try read-all
james-bruten-mo Jan 7, 2026
7dcbe75
revert to write
james-bruten-mo Jan 7, 2026
05cadd4
test without assigning
james-bruten-mo Jan 7, 2026
c412c32
update secret
james-bruten-mo Jan 7, 2026
3830a9f
reenable assignee
james-bruten-mo Jan 7, 2026
401087e
update to Yashs version
james-bruten-mo Jan 8, 2026
eccbe42
update secrets
james-bruten-mo Jan 8, 2026
d8ee4bb
update secrets
james-bruten-mo Jan 8, 2026
15227f8
update secrets
james-bruten-mo Jan 8, 2026
53f5f40
debug
james-bruten-mo Jan 8, 2026
84ab60d
debug
james-bruten-mo Jan 8, 2026
7222d47
debug
james-bruten-mo Jan 8, 2026
57146df
add brackets
james-bruten-mo Jan 8, 2026
46931a4
remove debug
james-bruten-mo Jan 8, 2026
d7a9da2
remove debug
james-bruten-mo Jan 8, 2026
f3d6a6e
auto add SR
james-bruten-mo Jan 8, 2026
2b68251
auto add sr
james-bruten-mo Jan 8, 2026
bc0ca12
make case insensitive
james-bruten-mo Jan 8, 2026
95da5ef
testing workflow_run
james-bruten-mo Jan 8, 2026
ef6d34b
update
james-bruten-mo Jan 8, 2026
27e53c2
update
james-bruten-mo Jan 8, 2026
fc4e94f
update
james-bruten-mo Jan 8, 2026
ccbc003
debug
james-bruten-mo Jan 8, 2026
0b2d631
update trigger
james-bruten-mo Jan 8, 2026
abb8dd2
add log
james-bruten-mo Jan 8, 2026
43bc9ea
add log
james-bruten-mo Jan 8, 2026
f7dd63b
switch to artifact
james-bruten-mo Jan 8, 2026
6fce635
add token
james-bruten-mo Jan 8, 2026
c972630
add token
james-bruten-mo Jan 8, 2026
2009ac2
add token
james-bruten-mo Jan 8, 2026
753af3b
add token
james-bruten-mo Jan 8, 2026
7101e2c
permissions
james-bruten-mo Jan 8, 2026
11e55a2
extract location
james-bruten-mo Jan 8, 2026
2f9f83f
extract location
james-bruten-mo Jan 8, 2026
8a3c57c
make trigger reusable
james-bruten-mo Jan 8, 2026
94a1d6d
update permissions
james-bruten-mo Jan 9, 2026
b5c7540
update cla action to allow for conflicts
james-bruten-mo Jan 12, 2026
53a2096
syntax
james-bruten-mo Jan 12, 2026
a93a805
syntax
james-bruten-mo Jan 12, 2026
1af96cc
test exists approach
james-bruten-mo Jan 12, 2026
17efe2d
test exists approach
james-bruten-mo Jan 12, 2026
a1f8cf1
test exists approach
james-bruten-mo Jan 12, 2026
62493c4
test exists approach
james-bruten-mo Jan 12, 2026
53731f9
test exists approach
james-bruten-mo Jan 12, 2026
e3df2d4
test exists approach
james-bruten-mo Jan 12, 2026
cfc5a91
use checking of ref
james-bruten-mo Jan 12, 2026
2b50b4e
syntax
james-bruten-mo Jan 12, 2026
79a1ad6
syntax
james-bruten-mo Jan 12, 2026
066db69
syntax
james-bruten-mo Jan 12, 2026
e13050c
syntax
james-bruten-mo Jan 12, 2026
24d6272
syntax
james-bruten-mo Jan 12, 2026
847707a
syntax
james-bruten-mo Jan 12, 2026
61d2d21
debug
james-bruten-mo Jan 12, 2026
2fe9565
debug
james-bruten-mo Jan 12, 2026
94d5d09
remove debug
james-bruten-mo Jan 12, 2026
ade3f19
Merge branch 'main' into develop
james-bruten-mo Jan 15, 2026
428b9ec
simplify logic
james-bruten-mo Jan 15, 2026
7761d23
Update .github/workflows/cla-check.yaml
james-bruten-mo Jan 15, 2026
8e7dfdc
make lowercase
james-bruten-mo Jan 16, 2026
67832a7
Merge branch 'develop' of github.com:MetOffice/growss into develop
james-bruten-mo Jan 16, 2026
678d62a
update label calls
james-bruten-mo Jan 16, 2026
11be8c2
Merge main
yaswant Feb 11, 2026
54f30f5
Enhance cla-check workflow
yaswant Feb 11, 2026
f4ba020
Refactor CLA label management to remove all related labels when signe…
yaswant Feb 11, 2026
5f89aae
Merge main
yaswant Feb 11, 2026
6e2433f
Tidy up and address reviewer comments
yaswant Feb 12, 2026
fc4a90d
Merge branch 'main' into develop
yaswant Feb 13, 2026
c556df4
Fix fortran linter workflow
yaswant Feb 20, 2026
f82c7e0
use correct flag to install fortitude-lint
yaswant Feb 20, 2026
d72c3d0
Refactor fortran-lint workflow
yaswant Feb 20, 2026
3c23a13
Add link to workflow file from README
yaswant Feb 20, 2026
417f7cc
Explain sections
yaswant Feb 20, 2026
2f74857
Bring develop up-to-date with main (#72)
yaswant Mar 6, 2026
23093d5
Merge main and add sphinx-docs workflow
yaswant Mar 17, 2026
9c332ba
Enhance Sphinx workflow with pyproject.toml support and improved depe…
yaswant Mar 17, 2026
59a3c6f
Fix dependency installation in Sphinx workflow to use Python version …
yaswant Mar 17, 2026
eeee122
Refactor dependency installation in Sphinx workflow to use uv-managed…
yaswant Mar 17, 2026
c354ea8
Fix syntax error in Sphinx workflow by closing print statement
yaswant Mar 17, 2026
e065c0d
Update Sphinx workflow to use virtual environment for linting and bui…
yaswant Mar 17, 2026
9fc5fb2
Refactor Sphinx workflow to streamline dependency installation and us…
yaswant Mar 17, 2026
95eab0b
Enhance Sphinx workflow to create a virtual environment with uv and i…
yaswant Mar 18, 2026
8add976
Refactor Sphinx workflow to streamline dependency installation and im…
yaswant Mar 18, 2026
ee5ceac
Add notices for dependency source detection and resolved uv sync flag…
yaswant Mar 18, 2026
fbf80a4
Add step to create virtual environment and update dependency installa…
yaswant Mar 18, 2026
aaf3cc8
Allow existing virtual environment during creation in Sphinx workflow
yaswant Mar 18, 2026
8290feb
Refactor dependency source detection in Sphinx workflow to improve cl…
yaswant Mar 18, 2026
a66f52c
Add job summary step
yaswant Mar 18, 2026
0fa1787
Text style in log summary
yaswant Mar 18, 2026
d64af41
Set default options for sphinx-build based on review
yaswant Mar 23, 2026
ef6d552
Update README
yaswant Mar 23, 2026
dcb50e9
Ability to show full traceback on exception, when debug logging is on
yaswant Mar 23, 2026
b814690
UPDATE README
yaswant Mar 23, 2026
7ad7214
Fix runner context
yaswant Mar 23, 2026
14c7928
Fix typo
yaswant Mar 23, 2026
df5b0f9
Rename variable for clarity
yaswant Mar 30, 2026
77b0e37
Use yq to parse toml, and make the python package resolution more con…
yaswant Mar 30, 2026
1f5eaff
Refactor yq command to check for optional dependencies and improve wa…
yaswant Mar 30, 2026
93de459
Refactor yq command to improve flag resolution
yaswant Mar 30, 2026
ed6099c
Avoid code injection via template expansion
yaswant May 22, 2026
f239e88
Fix yamllint error
yaswant May 22, 2026
b612d59
Reformat README
yaswant May 22, 2026
bf8c1ad
Fix syntax error in Sphinx Docs workflow table
yaswant May 22, 2026
e7733ce
Refactor environment variable handling in Sphinx Docs workflow Summar…
yaswant May 22, 2026
6192c4c
Add RUNNER environment variable to job summary step in Sphinx Docs wo…
yaswant May 22, 2026
5cbd034
Update deployment environment variable to use inputs in Sphinx Docs w…
yaswant May 22, 2026
86d9b7e
Update job status variable in Sphinx Docs workflow summary
yaswant May 22, 2026
0495c86
Format uv sync flags and deployment variables in Sphinx Docs workflow…
yaswant May 22, 2026
99fc14c
Update Sphinx Docs workflow summary to include property-value table h…
yaswant May 22, 2026
691d45f
Clarify Windows runner support in Sphinx Docs README
yaswant May 22, 2026
b5106d0
Merge branch 'main' into develop
james-bruten-mo Jun 1, 2026
11b4bfc
Pin third party actions
yaswant Jun 5, 2026
3b64e3b
space after comment
yaswant Jun 5, 2026
e5b7a25
merge: sync history with main to fix README diff
yaswant Jun 6, 2026
437d782
Add depandabot and zizmor configuration
yaswant Jun 8, 2026
e05254d
Fix yamllint
yaswant Jun 8, 2026
a9577c5
Fix yamllint config
yaswant Jun 8, 2026
c18be21
Fix yamllint too many blank lines
yaswant Jun 8, 2026
ae02afa
Use gh api to query merge ref metadata
yaswant Jun 8, 2026
fde7019
Call gh files api directly to check modifcation status
yaswant Jun 8, 2026
f30059d
Check CONTRIBUTOR content changes
yaswant Jun 8, 2026
6a419f4
Check CONTRIBUTOR content changes 2
yaswant Jun 8, 2026
e4549de
Check CONTRIBUTOR content changes 3
yaswant Jun 8, 2026
53d3c7e
Revert
yaswant Jun 8, 2026
2e4d833
Update pull request template to standardize checklist headings
yaswant Jun 8, 2026
bfd31d8
Refactor CONTRIBUTORS.md modification check in CLA workflow to improv…
yaswant Jun 8, 2026
ce36a2b
Enhance CONTRIBUTORS.md check in CLA workflow to improve handling of …
yaswant Jun 8, 2026
52765d3
Refactor permissions scope in Sphinx Docs workflow
yaswant Jun 8, 2026
838b2d9
Fix code injection via template expansion
yaswant Jun 9, 2026
ccc1b25
Refactor permissions structure in track-review-project workflow
yaswant Jun 9, 2026
6b34550
Refactor label management
yaswant Jun 9, 2026
2b2a790
zizmor pedantic compliance
yaswant Jun 9, 2026
916299f
Update linked README files
yaswant Jun 9, 2026
acdad39
Fix formatting in README.md for permissions section
yaswant Jun 9, 2026
07d5a66
Enhance workflow permissions
yaswant Jun 9, 2026
3dc3aff
Refactor PR reviewer extraction and project metadata handling for imp…
yaswant Jun 9, 2026
499779a
Update README.md to clarify project entry handling and enhance permis…
yaswant Jun 9, 2026
a1c1b0f
Update workflows and dependencies for improved validation and linting
yaswant Jun 10, 2026
ba8edcb
Enhance shell script detection in validation workflow with improved m…
yaswant Jun 10, 2026
c97548b
Improve shell script detection messaging in validation workflow
yaswant Jun 10, 2026
5749f74
Empty Commit
yaswant Jun 11, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 51 additions & 0 deletions .github/dependabot.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# ------------------------------------------------------------------------------
# (c) Crown copyright Met Office. All rights reserved.
# The file LICENCE, distributed with this code, contains details of the terms
# under which the code may be used.
# ------------------------------------------------------------------------------
#
# ==============================================================================
# Dependabot Configuration
#
# This configuration automates security updates for third-party GitHub Actions.
# To protect our downstream consumers, all actions must be pinned to a
# 40-character commit SHA rather than a mutable version tag.
#
# Custom rulesets in place:
# 1. Monthly Schedule: Checks for updates once a month to minimize noise.
# 2. Major Version Lock: Automated major updates (e.g., v9 to v10) are blocked
# to prevent unexpected breaking code changes.
# 3. PR Grouping: All discovered minor/patch updates are bundled into a single
# monthly Pull Request instead of flooding the repository notifications.
#
# How to manually trigger a Major Update:
# To safely upgrade an action to its next major version baseline:
# 1. Open the workflow file.
# 2. Leave the old SHA exactly as it is, but manually change the trailing
# comment tag to the new target baseline version (e.g., update the text
# from "# v4.0.0" to "# v5.0.0").
# 3. Push your change. Dependabot will instantly recognize the target update
# and generate a new PR containing the correct, matching v5 commit hash.
# ==============================================================================

version: 2
updates:
# Enable automatic tracking for GitHub Actions dependencies
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "monthly"
cooldown:
default-days: 7

# Ignore rules to block major version jumps
ignore:
- dependency-name: "*"
update-types: ["version-update:semver-major"]

groups:
# Group all action updates into a single PR to reduce noise
# Rule applies across every single third-party action used in all workflows
github-actions-dependencies:
patterns:
- "*"
17 changes: 6 additions & 11 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,9 @@ Code Reviewer: <!-- CR id, filled by SSD -->

<!-- To be completed by the developer -->

<!-- Provide a brief description of the changes in this PR, including any notes
useful for reviewers -->
<!-- Provide a brief description of the changes in this PR, including any notes useful for reviewers -->

## Code Quality Checklist
## :white_check_mark: Code Quality Checklist

(_Some checks are automatically carried out via the CI pipeline_)

Expand All @@ -16,16 +15,12 @@ Code Reviewer: <!-- CR id, filled by SSD -->
- [ ] The modified workflow's README has been updated, if required
- [ ] The changes have been sufficiently tested (please describe)

## AI Assistance and Attribution
## :robot: AI Assistance and Attribution

- [ ] Some of the content of this change has been produced with the assistance
of _Generative AI tool name_ (e.g., Met Office Github Copilot Enterprise,
Github Copilot Personal, ChatGPT GPT-4, etc) and I have followed the
[Simulation Systems AI policy](https://metoffice.github.io/simulation-systems/FurtherDetails/ai.html)
(including attribution labels)
- [ ] Some of the content of this change has been produced with the assistance of _Generative AI tool name_ (e.g., Met Office Github Copilot Enterprise, Github Copilot Personal, ChatGPT GPT-4, etc) and I have followed the [Simulation Systems AI policy](https://metoffice.github.io/simulation-systems/FurtherDetails/ai.html) (including attribution labels)

<!-- If AI has been used, please provide more details here -->

# Code Review
## :computer: Code Review

- [ ] The changes are approriate and testing has been sufficient
- [ ] The changes are appropriate and testing has been sufficient
17 changes: 13 additions & 4 deletions .github/workflows/build-sphinx-docs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ on:
default: 'documentation'
requirements:
description: 'Path to the requirements file to install dependencies from'
required: true
required: false
type: string
default: 'requirements.txt'
sphinx-opts:
Expand All @@ -40,22 +40,31 @@ on:
type: number
default: 5

permissions:
contents: read

jobs:
build-sphinx-docs:
name: Build Sphinx Docs
runs-on: ${{ inputs.runner }}
timeout-minutes: ${{ inputs.timeout }}
permissions:
contents: read # Required to read repository file configurations
pages: write # Required to deploy to GitHub Pages

env:
DOCS_DIR: ${{ inputs.docs-directory }}
REQS_FILE: ${{ inputs.requirements }}
SPHINX_OPTS: ${{ inputs.sphinx-opts }}
BUILD_DIR: ${{ inputs.build-directory }}
steps:
- name: Checkout repository
uses: actions/checkout@v6
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false

- name: Set up Python 3.12
uses: actions/setup-python@v6
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
with:
python-version: '3.12'
cache: 'pip'
Expand All @@ -80,7 +89,7 @@ jobs:

- name: Upload artifact to GitHub Pages
if: ${{ (github.event_name == 'push' || github.event_name == 'merge_group') && github.ref_name == 'main'}}
uses: actions/upload-pages-artifact@v4
uses: actions/upload-pages-artifact@fc324d3547104276b827a68afc52ff2a11cc49c9 # v5.0.0
with:
name: github-pages
path: "$BUILD_DIR/html"
Expand Down
23 changes: 22 additions & 1 deletion .github/workflows/call-track-review-project.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
# ------------------------------------------------------------------------------
# (c) Crown copyright Met Office. All rights reserved.
# The file LICENCE, distributed with this code, contains details of the terms
# under which the code may be used.
# ------------------------------------------------------------------------------

name: Track Review Project

on:
Expand All @@ -7,12 +13,27 @@ on:
- completed
workflow_dispatch:

# Best Practice: Explicitly strip all top-level default permissions
permissions: {}

jobs:
track_review_project:
if: >-
github.event_name == 'workflow_dispatch' ||
(
github.event_name == 'workflow_run' &&
github.event.workflow_run.event == 'push' &&
github.event.workflow_run.head_branch == 'main' &&
github.event.workflow_run.conclusion == 'success'
)
# Granular permissions are safely locked directly to this specific execution context
permissions:
actions: read # Required to view the status of the upstream triggered workflow run
repository-projects: write # Required to add or mutate tasks inside GitHub Project 376
uses: MetOffice/growss/.github/workflows/track-review-project.yaml@main
secrets: inherit
# Optional inputs (with default values)
with:
runner: "ubuntu-22.04"
runner: "ubuntu-24.04"
project_org: "MetOffice"
project_number: 376
10 changes: 10 additions & 0 deletions .github/workflows/call-trigger-project-workflow.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
# ------------------------------------------------------------------------------
# (c) Crown copyright Met Office. All rights reserved.
# The file LICENCE, distributed with this code, contains details of the terms
# under which the code may be used.
# ------------------------------------------------------------------------------

name: Trigger Review Project

on:
Expand All @@ -6,7 +12,11 @@ on:
pull_request_review:
pull_request_review_comment:

permissions: {}

jobs:
trigger_project_workflow:
permissions:
contents: read # Required for checking out code or referencing internal workflow actions
uses: MetOffice/growss/.github/workflows/trigger-project-workflow.yaml@main
secrets: inherit
11 changes: 10 additions & 1 deletion .github/workflows/check-cr-approved.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,13 @@ name: Check CR Approval
on:
workflow_call:

permissions: read-all
permissions:
contents: read # Required to evaluate metadata from the triggering GitHub event context
pull-requests: read # Required to check the PR reviews and approval status

jobs:
cr_check:
name: CR Approval
runs-on: ubuntu-24.04
timeout-minutes: 2

Expand All @@ -24,6 +27,12 @@ jobs:
REPO: ${{ github.repository }}
GH_TOKEN: ${{ github.token }}
run: |
# Ensure context variables are present, don't run from a non-PR event
if [[ -z "$PR_NUMBER" ]]; then
echo "::error::This workflow must be triggered by a pull_request event."
exit 1
fi

echo "Running on PR #$PR_NUMBER in Repository $REPO"

# -- 1. Extract the assigned Code Reviewer from the PR body
Expand Down
Loading
Loading