diff --git a/.github/linters/.ruff.toml b/.github/linters/.ruff.toml index 6fd57be6..de9a8356 100644 --- a/.github/linters/.ruff.toml +++ b/.github/linters/.ruff.toml @@ -1,13 +1,15 @@ cache-dir = "/tmp/.ruff_cache" -line-length = 80 - +line-length = 88 +[lint] # Allow unused variables when underscore-prefixed. dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$" +# undefined-local-with-import-star-usage +ignore = ["F405"] [format] # Like Black, indent with spaces, rather than tabs. indent-style = "space" - +quote-style = "double" # Like Black, respect magic trailing commas. skip-magic-trailing-comma = false diff --git a/.github/linters/.yaml-lint.yml b/.github/linters/.yaml-lint.yml new file mode 100644 index 00000000..c8188849 --- /dev/null +++ b/.github/linters/.yaml-lint.yml @@ -0,0 +1,15 @@ +extends: default +ignore: | + .venv/ + .svn/ +rules: + comments: + level: warning + require-starting-space: true + min-spaces-from-content: 1 + document-start: disable + indentation: + spaces: 2 + indent-sequences: true + line-length: disable + truthy: disable diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index a1dd74a7..5419cc74 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -11,7 +11,7 @@ on: concurrency: group: ${{ github.ref }} - cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} + cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} permissions: read-all @@ -19,16 +19,16 @@ jobs: check: name: Lint runs-on: ubuntu-latest + timeout-minutes: 10 strategy: max-parallel: 4 fail-fast: false matrix: - python-version: ["3.9", "3.10", "3.11", "3.12"] + python-version: ["3.9", "3.12", "3.14"] permissions: - contents: read - packages: read - statuses: write + contents: read + statuses: write steps: - name: Checkout current @@ -36,24 +36,27 @@ jobs: with: fetch-depth: 0 - - name: Super-Linter - uses: super-linter/super-linter/slim@85f7611e0f7b53c8573cca84aa0ed4344f6f6a4d # v7.2.1 + - name: Super-Lint + uses: super-linter/super-linter/slim@d5b0a2ab116623730dd094f15ddc1b6b25bf7b99 # v8.3.2 env: - FILTER_REGEX_EXCLUDE: (.*[.]conf.py|pull_request_template.md|/linters/) + # Once the codebase is perfectly linted/formatted, switch to validating only changed files + # VALIDATE_ALL_CODEBASE: false # lint and format new or changed files only + FILTER_REGEX_EXCLUDE: (.*[.]conf.py|pull_request_template.md) + FIX_PYTHON_RUFF_FORMAT: true + FIX_PYTHON_RUFF: true IGNORE_GITIGNORED_FILES: true - VALIDATE_BASH_EXEC: false - VALIDATE_JAVASCRIPT_STANDARD: false - VALIDATE_JSCPD: false - VALIDATE_MARKDOWN_PRETTIER: false - VALIDATE_PYTHON_FLAKE8: false - VALIDATE_PYTHON_ISORT: false - VALIDATE_PYTHON_MYPY: false - VALIDATE_PYTHON_PYINK: false - VALIDATE_PYTHON_PYLINT: false - VALIDATE_PYTHON_RUFF: false - VALIDATE_SHELL_SHFMT: false - VALIDATE_YAML_PRETTIER: false - VALIDATE_YAML: false + VALIDATE_BASH: true + VALIDATE_CHECKOV: true + VALIDATE_GITHUB_ACTIONS: true + VALIDATE_GIT_LEAKS: true + VALIDATE_GIT_MERGE_CONFLICT_MARKERS: true + VALIDATE_JSON: true + VALIDATE_MARKDOWN: true + VALIDATE_NATURAL_LANGUAGE: true + VALIDATE_PERL: true + VALIDATE_PYTHON_RUFF_FORMAT: true + VALIDATE_PYTHON_RUFF: true + VALIDATE_YAML: true # To report GitHub Actions status checks GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} ... diff --git a/kgo_updates/kgo_update/kgo_update.py b/kgo_updates/kgo_update/kgo_update.py index 3aed9d08..901d0fe4 100755 --- a/kgo_updates/kgo_update/kgo_update.py +++ b/kgo_updates/kgo_update/kgo_update.py @@ -611,13 +611,13 @@ def _split_lines(self, text, width): "q to print all\n\n" ) with open(script_path, "r") as f: - l = 0 + line_count = 0 print_all = False for line in f: print(line, end="") - l += 1 - if l == 10 and not print_all: - l = 0 + line_count += 1 + if line_count == 10 and not print_all: + line_count = 0 key = input() if key.lower() == "q": print_all = True diff --git a/lfric_macros/tests/test_apply_macros.py b/lfric_macros/tests/test_apply_macros.py index 25855332..e6aeb11d 100644 --- a/lfric_macros/tests/test_apply_macros.py +++ b/lfric_macros/tests/test_apply_macros.py @@ -3,7 +3,7 @@ import pytest -from ..apply_macros import * +from ..apply_macros import * # noqa: F403 # A macro that we want to find for these tests desired_macro = """class vn00_t001(MacroUpgrade): @@ -171,11 +171,11 @@ def test_deduplicate_list(): def test_match_python_imports(): - assert match_python_import("import z") == True - assert match_python_import("from x import y") == True - assert match_python_import("from a import b.c") == True - assert match_python_import("import m as n") == True - assert match_python_import("false") == False + assert match_python_import("import z") + assert match_python_import("from x import y") + assert match_python_import("from a import b.c") + assert match_python_import("import m as n") + assert not match_python_import("false") # Remove appsdir diff --git a/nightly_testing/example_meto_configs.yaml b/nightly_testing/example_meto_configs.yaml index 78d17bdf..1c278933 100644 --- a/nightly_testing/example_meto_configs.yaml +++ b/nightly_testing/example_meto_configs.yaml @@ -1,105 +1,98 @@ base: - cylc_run_path: /path/to/nightly/user/cylc-run - rose_bush_base_url: https://cylchub/services/cylc-review/taskjobs/umtest/?suite= - wiki_url: http://code.metoffice.gov.uk/trac/lfric_apps - logo_file: um_logo.png - families: - lfric_apps: BUILD,RUN,CHECK,PLOT,SCRIPTS, - um: BUILD,RECON,ATMOS,ROSE_ANA_COMPARISON,CREATEBC,SCRIPTS, - jules: FAB,LINUX,METO_EX1A, - ukca: SCRIPTS, + cylc_run_path: /path/to/nightly/user/cylc-run + rose_bush_base_url: https://cylchub/services/cylc-review/taskjobs/umtest/?suite= + wiki_url: http://code.metoffice.gov.uk/trac/lfric_apps + logo_file: um_logo.png + families: + lfric_apps: BUILD,RUN,CHECK,PLOT,SCRIPTS, + um: BUILD,RECON,ATMOS,ROSE_ANA_COMPARISON,CREATEBC,SCRIPTS, + jules: FAB,LINUX,METO_EX1A, + ukca: SCRIPTS, ####################### # Lfric Apps Configs # ####################### lfric_apps_set-revisions_nightly: - repo: lfric_apps - groups: all - revisions: set - vars: - - USE_EXAB=true - - HOUSEKEEPING=false - time_launch: 00:02 - time_clean: 03:05 - period: nightly_all - + repo: lfric_apps + groups: all + revisions: set + vars: + - USE_EXAB=true + - HOUSEKEEPING=false + time_launch: 00:02 + time_clean: 03:05 + period: nightly_all lfric_apps_heads_nightly: - repo: lfric_apps - groups: all - revisions: heads - vars: - - USE_EXAB=true - - HOUSEKEEPING=false - time_launch: 00:30 - time_clean: 03:35 - period: nightly_all - + repo: lfric_apps + groups: all + revisions: heads + vars: + - USE_EXAB=true + - HOUSEKEEPING=false + time_launch: 00:30 + time_clean: 03:35 + period: nightly_all lfric_apps_excd_heads_nightly: - repo: lfric_apps - groups: ex1a - revisions: heads - vars: - - HOUSEKEEPING=false - - USE_EXCD=true - time_launch: 04:30 - time_clean: 04:50 - period: nightly_all - + repo: lfric_apps + groups: ex1a + revisions: heads + vars: + - HOUSEKEEPING=false + - USE_EXCD=true + time_launch: 04:30 + time_clean: 04:50 + period: nightly_all lfric_apps_set-revisions_next-cylc_nightly: - repo: lfric_apps - groups: developer - revisions: set - cylc_version: 8-next - vars: - - USE_EXAB=true - - HOUSEKEEPING=false - time_launch: 02:15 - time_clean: 02:25 - period: nightly_all - + repo: lfric_apps + groups: developer + revisions: set + cylc_version: 8-next + vars: + - USE_EXAB=true + - HOUSEKEEPING=false + time_launch: 02:15 + time_clean: 02:25 + period: nightly_all lfric_apps_heads_weekly: - repo: lfric_apps - groups: lfric_atm_ex1a_weekly - revisions: heads - vars: - - USE_EXAB=true - - HOUSEKEEPING=false - - USE_EXCD=true - time_launch: 02:00 - time_clean: 02:00 - period: weekly - + repo: lfric_apps + groups: lfric_atm_ex1a_weekly + revisions: heads + vars: + - USE_EXAB=true + - HOUSEKEEPING=false + - USE_EXCD=true + time_launch: 02:00 + time_clean: 02:00 + period: weekly ###################### # LFRic Core Configs # ###################### lfric_nightly: - repo: lfric - groups: all - vars: - - USE_EXAB=true - - HOUSEKEEPING=false - time_launch: 04:45 - time_clean: 04:30 - period: nightly_all - + repo: lfric + groups: all + vars: + - USE_EXAB=true + - HOUSEKEEPING=false + time_launch: 04:45 + time_clean: 04:30 + period: nightly_all lfric_excd_nightly: - repo: lfric - groups: ex1a - vars: - - HOUSEKEEPING=false - - USE_EXCD=true - time_launch: 04:40 - time_clean: 04:35 - period: nightly_all - + repo: lfric + groups: ex1a + vars: + - HOUSEKEEPING=false + - USE_EXCD=true + time_launch: 04:40 + time_clean: 04:35 + period: nightly_all ############## # UM Configs # @@ -110,146 +103,137 @@ lfric_excd_nightly: ################## um_heads_all: - repo: um - groups: all - revisions: heads - vars: - - USE_EXAB=true - - HOUSEKEEPING=false - - PREBUILDS=false - time_launch: 00:05 - time_clean: 00:15 - period: weekly - + repo: um + groups: all + revisions: heads + vars: + - USE_EXAB=true + - HOUSEKEEPING=false + - PREBUILDS=false + time_launch: 00:05 + time_clean: 00:15 + period: weekly um_set-revisions_all: - repo: um - groups: all - revisions: set - vars: - - USE_EXAB=true - - HOUSEKEEPING=false - - PREBUILDS=false - time_launch: 00:45 - time_clean: 00:30 - period: weekly - + repo: um + groups: all + revisions: set + vars: + - USE_EXAB=true + - HOUSEKEEPING=false + - PREBUILDS=false + time_launch: 00:45 + time_clean: 00:30 + period: weekly um_excd_heads_all: - repo: um - groups: ex1a - revisions: heads - vars: - - HOUSEKEEPING=false - - PREBUILDS=false - - USE_EXCD=true - time_launch: 04:10 - time_clean: 04:10 - period: weekly - + repo: um + groups: ex1a + revisions: heads + vars: + - HOUSEKEEPING=false + - PREBUILDS=false + - USE_EXCD=true + time_launch: 04:10 + time_clean: 04:10 + period: weekly um_heads_weekly-portio2b: - repo: um - groups: fcm_make_portio2b,compiler_warning_check - revisions: set - vars: - - HOUSEKEEPING=false - - PREBUILDS=false - time_launch: 06:00 - time_clean: 05:45 - period: weekly - + repo: um + groups: fcm_make_portio2b,compiler_warning_check + revisions: set + vars: + - HOUSEKEEPING=false + - PREBUILDS=false + time_launch: 06:00 + time_clean: 05:45 + period: weekly um_exz_heads_weekly: - repo: um - groups: ex1a_cce_n48_ga8_amip_2day - revisions: heads - vars: - - HOUSEKEEPING=false - - PREBUILDS=false - - USE_EXZ=true - time_launch: 03:10 - time_clean: 05:20 - period: weekly + repo: um + groups: ex1a_cce_n48_ga8_amip_2day + revisions: heads + vars: + - HOUSEKEEPING=false + - PREBUILDS=false + - USE_EXZ=true + time_launch: 03:10 + time_clean: 05:20 + period: weekly ################### # Nightly Testing # ################### um_heads_nightly: - repo: um - groups: nightly - revisions: heads - vars: - - USE_EXAB=true - - HOUSEKEEPING=false - - PREBUILDS=false - time_launch: 00:05 - time_clean: 00:15 - period: nightly - + repo: um + groups: nightly + revisions: heads + vars: + - USE_EXAB=true + - HOUSEKEEPING=false + - PREBUILDS=false + time_launch: 00:05 + time_clean: 00:15 + period: nightly um_set-revisions_nightly: - repo: um - groups: nightly - revisions: set - vars: - - USE_EXAB=true - - HOUSEKEEPING=false - - PREBUILDS=false - time_launch: 00:45 - time_clean: 00:30 - period: nightly - + repo: um + groups: nightly + revisions: set + vars: + - USE_EXAB=true + - HOUSEKEEPING=false + - PREBUILDS=false + time_launch: 00:45 + time_clean: 00:30 + period: nightly um_excd_heads_nightly: - repo: um - groups: ex1a_nightly - revisions: heads - vars: - - HOUSEKEEPING=false - - PREBUILDS=false - - USE_EXCD=true - time_launch: 04:10 - time_clean: 04:10 - period: nightly - + repo: um + groups: ex1a_nightly + revisions: heads + vars: + - HOUSEKEEPING=false + - PREBUILDS=false + - USE_EXCD=true + time_launch: 04:10 + time_clean: 04:10 + period: nightly um_set-revisions_next-cylc_nightly: - repo: um - groups: developer - cylc_version: 8-next - revisions: set - vars: - - USE_EXAB=true - - HOUSEKEEPING=false - - PREBUILDS=false - time_launch: 03:30 - time_clean: 04:20 - period: nightly_all - + repo: um + groups: developer + cylc_version: 8-next + revisions: set + vars: + - USE_EXAB=true + - HOUSEKEEPING=false + - PREBUILDS=false + time_launch: 03:30 + time_clean: 04:20 + period: nightly_all ################# # Jules Configs # ################# jules_nightly: - repo: jules - groups: all,fab - vars: - - USE_EXAB=true - - HOUSEKEEPING=false - time_launch: 03:25 - time_clean: 02:25 - period: nightly_all - + repo: jules + groups: all,fab + vars: + - USE_EXAB=true + - HOUSEKEEPING=false + time_launch: 03:25 + time_clean: 02:25 + period: nightly_all jules_excd_nightly: - repo: jules - groups: ex1a - vars: - - HOUSEKEEPING=false - - USE_EXCD=true - time_launch: 06:00 - time_clean: 06:30 - period: nightly_all + repo: jules + groups: ex1a + vars: + - HOUSEKEEPING=false + - USE_EXCD=true + time_launch: 06:00 + time_clean: 06:30 + period: nightly_all diff --git a/nightly_testing/tests/test_generate_test_suite_cron.py b/nightly_testing/tests/test_generate_test_suite_cron.py index 8d7cc1a1..d627c85a 100644 --- a/nightly_testing/tests/test_generate_test_suite_cron.py +++ b/nightly_testing/tests/test_generate_test_suite_cron.py @@ -1,5 +1,5 @@ import pytest -from generate_test_suite_cron import * +from generate_test_suite_cron import * # noqa: F403 PROFILE = ". /etc/profile" diff --git a/umdp3_fixer/ampersands.py b/umdp3_fixer/ampersands.py index 00b931d9..a374c28a 100755 --- a/umdp3_fixer/ampersands.py +++ b/umdp3_fixer/ampersands.py @@ -26,11 +26,11 @@ the ampersand shifting, and will be flagged, optionally with a message in stdout. """ -import sys +# import sys import re -import traceback +# import traceback from optparse import OptionParser -from fstring_parse import * +from fstring_parse import * # noqa: F403 # Default column in which to place ampersands. DEFAULT_COL = 80 diff --git a/umdp3_fixer/fstring_parse.py b/umdp3_fixer/fstring_parse.py index 07338fc6..6b3aa10c 100644 --- a/umdp3_fixer/fstring_parse.py +++ b/umdp3_fixer/fstring_parse.py @@ -10,7 +10,7 @@ repository or they will be lost during the release process when the UM copy is copied over. -This module contains various functions for parsing and manuipulating +This module contains various functions for parsing and manipulating quoted strings in Fortran """ import re @@ -86,8 +86,8 @@ def replace_characters(line, locs, lens, replchar="X"): # Loop through locations and lengths and replace each character with the # replacement character character. for loc, ln in zip(*[locs, lens]): - for l in range(ln): - newline[loc + l] = replchar + for i in range(ln): + newline[loc + i] = replchar # Return the newline, joined back together as a string. return "".join(newline) diff --git a/umdp3_fixer/indentation.py b/umdp3_fixer/indentation.py index 1c1ca524..5ef6085a 100755 --- a/umdp3_fixer/indentation.py +++ b/umdp3_fixer/indentation.py @@ -17,7 +17,7 @@ """ import re import sys -from fstring_parse import * +from fstring_parse import * # noqa: F403 # Number of spaces of indent to apply per indentation level INDENT = 2 diff --git a/umdp3_fixer/styling.py b/umdp3_fixer/styling.py index 789c1b27..21d50066 100755 --- a/umdp3_fixer/styling.py +++ b/umdp3_fixer/styling.py @@ -16,7 +16,7 @@ """ import re import sys -from fstring_parse import * +from fstring_parse import * # noqa: F403 CODE_REPLACEMENTS = [ # Replace Fortran 77 style conditional keywords diff --git a/umdp3_fixer/whitespace.py b/umdp3_fixer/whitespace.py index 7297be1d..50d3e632 100755 --- a/umdp3_fixer/whitespace.py +++ b/umdp3_fixer/whitespace.py @@ -6,10 +6,10 @@ # repository or they will be lost during the release process when the UM copy # is copied over. -import sys +# import sys import re import argparse -from fstring_parse import * +from fstring_parse import * # noqa: F403 # These 4 are defined globally for visibility. They are actually only used in # main or a single subroutine but actual text is not yet defined in stone... @@ -257,14 +257,14 @@ def main(): filename = args.filename try: - with open(filename) as fortran_file: - raw_code = fortran_file.readlines() - except EnvironmentError: + with open(filename): + pass + except OSError: print( - 'Error opening file. :\n "{0:s}"\n'.format(filename) - + "I need a valid filename on which to work...." + f'Error opening file:\n "{filename}"\n' + "I need a valid filename on which to work...." ) - raise SystemExit + raise SystemExit(1) print("\nLooking at file :\n {0:s}".format(filename)) # re-open the fortran file, this time to write to it. diff --git a/workload/test/test.json b/workload/test/test.json index b19cc660..e9025d61 100644 --- a/workload/test/test.json +++ b/workload/test/test.json @@ -22,7 +22,7 @@ { "assignees": ["yaswant", "james-bruten-mo", "cameronbateman-mo"], "content": { - "body": "# Description\r\n\r\nGithub workflow using python script to auto assign reviewers parsed from the pull request body.\r\n\r\nSci Tech Reviewer: @james-bruten-mo \r\nCode Reviewer: @yaswant \r\nThis PR:\r\n\r\n- is blocked-by #pr-number\r\n- blocks #pr-number\r\n- closes #issue-number\r\n- fixes #issue-number\r\n- is related to #issue-number ", + "body": "# Description\r\n\r\nGithub workflow using python script to auto assign reviewers parsed from the pull request body.\r\n\r\nSci Tech Reviewer: @james-bruten-mo \r\nCode Reviewer: @yaswant \r\nThis PR:\r\n\r\n- is blocked-by #pr-number\r\n- blocks #pr-number\r\n- closes #issue-number\r\n- fixes #issue-number\r\n- is related to #issue-number ", "number": 72, "repository": "MetOffice/git_playground", "title": "added python script and github workflow for auto assigning pr reviewers", @@ -660,7 +660,7 @@ { "assignees": ["cameronbateman-mo"], "content": { - "body": "# Description\r\n---\r\nAdds two labeler.yml files one being the config with glob patterns and the other being the github action itself in the workflow dir. \r\n\r\nAuto label any changes to kgo files matching the glob pattern `**/rose-stem/**/kgos/**/checksum_*.txt`, and any changes to `versions.py` files.\r\n\r\n---\r\nThis PR:\r\n\r\n- is blocked-by #pr-number\r\n- blocks #pr-number\r\n- closes #issue-number\r\n- fixes #issue-number\r\n- is related to #issue-number \r\n\r\n## Type of Change\r\n\r\n\r\n\r\n- [ ] Bug fix (non-breaking change which fixes an issue)\r\n- [ ] New feature (non-breaking change which adds functionality)\r\n- [ ] Breaking change (fix or feature that would cause existing functionality to\r\n not work as expected)\r\n- [ ] Documentation update\r\n- [ ] Code refactoring\r\n- [ ] Performance improvement\r\n- [ ] Test coverage improvement\r\n- [ ] Other (please describe):\r\n\r\n## Testing\r\n\r\n\r\n\r\n- [ ] I have tested this change locally\r\n- [ ] I have added new tests to cover the changes\r\n- [ ] All existing tests pass\r\n- [ ] I have tested edge cases and error conditions\r\n- [ ] Describe other testing performed (if applicable)\r\n\r\n### Test Evidence\r\n\r\n\r\n\r\n(Provide screenshots, logs, or other evidence of testing)\r\n\r\n## Code Quality Checklist\r\n\r\n(_Some checks are automatically carried out via CI pipeline_)\r\n\r\n- [ ] My code follows the project's style guidelines\r\n- [ ] I have performed a self-review of my own code\r\n- [ ] I have commented my code, particularly in hard-to-understand areas\r\n- [ ] I have made corresponding changes to the documentation\r\n- [ ] My changes generate no new warnings\r\n- [ ] If adding a new feature, I have included tests its functionality\r\n- [ ] New and existing unit tests pass locally with my changes\r\n\r\n## Security Considerations\r\n\r\n- [ ] This change does not introduce security vulnerabilities\r\n- [ ] I have reviewed the code for potential security issues\r\n- [ ] Sensitive data is properly handled (if applicable)\r\n- [ ] Authentication and authorization are properly implemented (if applicable)\r\n\r\n## Performance Impact\r\n\r\n- [ ] Performance of the code has been considered and suitable performance\r\n measurements have been conducted, if applicable.\r\n\r\n## Contributor License Agreement (CLA)\r\n\r\n**Required:** Please confirm your compliance with the project's licensing\r\nrequirements.\r\n\r\n- [ ] I confirm that I have read and agree to the project's Contributor License\r\n Agreement\r\n- [ ] I understand that my contributions will be licensed under the project's\r\n licence\r\n- [ ] I confirm that I have the right to submit this code under the project's\r\n licence\r\n- [ ] I understand that my contribution may be redistributed under the project's\r\n licence terms\r\n- [ ] If this contribution includes third-party code, I have properly attributed\r\n it and ensured licence compatibility\r\n\r\n## AI Assistance and Attribution\r\n\r\n_Please ensure that when using Generative AI tools, appropriate guardrails are\r\nin place and contributions have correct attribution. For Met Office\r\ncontributors, this includes adhering to the ​Use of Generative AI policy.\r\nContributors from other institutions should check if their institution has\r\nsimilar policies, and follow the local policy._\r\n\r\n- [ ] Some of the content of this change has been produced with the assistance\r\n of _Generative AI tool name_ (e.g., Met Office Github Copilot Enterprise,\r\n Github Copilot Personal, ChatGPT GPT-4, etc)\r\n- [ ] I have included attribution in the ​commit message and in each modified\r\n file\r\n\r\n## Documentation\r\n\r\n- [ ] Documentation is not required for this change\r\n- [ ] I have updated the relevant documentation and ensured they build correctly\r\n where required:\r\n - [ ] README.md\r\n - [ ] API documentation\r\n - [ ] Code comments\r\n - [ ] User guides\r\n - [ ] Other: **\\*\\***\\_\\_\\_**\\*\\***\r\n\r\n## Deployment Notes\r\n\r\n\r\n\r\n- [ ] No special deployment steps required\r\n- [ ] Configuration changes required (please describe):\r\n- [ ] KGO update required (please describe):\r\n- [ ] Environment variables need to be updated (please list):\r\n- [ ] Updated software stack required (please describe):\r\n\r\n## Additional Context\r\n\r\n\r\n\r\n## Reviewer Guidelines\r\n\r\n\r\n\r\n**Before approving this PR, please verify:**\r\n\r\n- [ ] All dependencies have been resolved\r\n- [ ] Related issues are properly linked and addressed\r\n- [ ] CLA compliance is confirmed\r\n- [ ] Code quality standards are met\r\n- [ ] Tests are adequate and passing\r\n- [ ] Documentation is complete and accurate\r\n- [ ] Security considerations have been addressed\r\n- [ ] Performance impact is acceptable\r\n\r\n---\r\n\r\n**Note to Reviewers:** Please ensure all checkboxes in the **Dependencies**,\r\n**Related Issues**, and **Contributor License Agreement** sections are properly\r\ncompleted before approving this PR.\r\n", + "body": "# Description\r\n---\r\nAdds two labeler.yml files one being the config with glob patterns and the other being the github action itself in the workflow dir. \r\n\r\nAuto label any changes to kgo files matching the glob pattern `**/rose-stem/**/kgos/**/checksum_*.txt`, and any changes to `versions.py` files.\r\n\r\n---\r\nThis PR:\r\n\r\n- is blocked-by #pr-number\r\n- blocks #pr-number\r\n- closes #issue-number\r\n- fixes #issue-number\r\n- is related to #issue-number \r\n\r\n## Type of Change\r\n\r\n\r\n\r\n- [ ] Bug fix (non-breaking change which fixes an issue)\r\n- [ ] New feature (non-breaking change which adds functionality)\r\n- [ ] Breaking change (fix or feature that would cause existing functionality to\r\n not work as expected)\r\n- [ ] Documentation update\r\n- [ ] Code refactoring\r\n- [ ] Performance improvement\r\n- [ ] Test coverage improvement\r\n- [ ] Other (please describe):\r\n\r\n## Testing\r\n\r\n\r\n\r\n- [ ] I have tested this change locally\r\n- [ ] I have added new tests to cover the changes\r\n- [ ] All existing tests pass\r\n- [ ] I have tested edge cases and error conditions\r\n- [ ] Describe other testing performed (if applicable)\r\n\r\n### Test Evidence\r\n\r\n\r\n\r\n(Provide screenshots, logs, or other evidence of testing)\r\n\r\n## Code Quality Checklist\r\n\r\n(_Some checks are automatically carried out via CI pipeline_)\r\n\r\n- [ ] My code follows the project's style guidelines\r\n- [ ] I have performed a self-review of my own code\r\n- [ ] I have commented my code, particularly in hard-to-understand areas\r\n- [ ] I have made corresponding changes to the documentation\r\n- [ ] My changes generate no new warnings\r\n- [ ] If adding a new feature, I have included tests its functionality\r\n- [ ] New and existing unit tests pass locally with my changes\r\n\r\n## Security Considerations\r\n\r\n- [ ] This change does not introduce security vulnerabilities\r\n- [ ] I have reviewed the code for potential security issues\r\n- [ ] Sensitive data is properly handled (if applicable)\r\n- [ ] Authentication and authorization are properly implemented (if applicable)\r\n\r\n## Performance Impact\r\n\r\n- [ ] Performance of the code has been considered and suitable performance\r\n measurements have been conducted, if applicable.\r\n\r\n## Contributor License Agreement (CLA)\r\n\r\n**Required:** Please confirm your compliance with the project's licensing\r\nrequirements.\r\n\r\n- [ ] I confirm that I have read and agree to the project's Contributor License\r\n Agreement\r\n- [ ] I understand that my contributions will be licensed under the project's\r\n licence\r\n- [ ] I confirm that I have the right to submit this code under the project's\r\n licence\r\n- [ ] I understand that my contribution may be redistributed under the project's\r\n licence terms\r\n- [ ] If this contribution includes third-party code, I have properly attributed\r\n it and ensured licence compatibility\r\n\r\n## AI Assistance and Attribution\r\n\r\n_Please ensure that when using Generative AI tools, appropriate guardrails are\r\nin place and contributions have correct attribution. For Met Office\r\ncontributors, this includes adhering to the Use of Generative AI policy.\r\nContributors from other institutions should check if their institution has\r\nsimilar policies, and follow the local policy._\r\n\r\n- [ ] Some of the content of this change has been produced with the assistance\r\n of _Generative AI tool name_ (e.g., Met Office Github Copilot Enterprise,\r\n Github Copilot Personal, ChatGPT GPT-4, etc)\r\n- [ ] I have included attribution in the commit message and in each modified\r\n file\r\n\r\n## Documentation\r\n\r\n- [ ] Documentation is not required for this change\r\n- [ ] I have updated the relevant documentation and ensured they build correctly\r\n where required:\r\n - [ ] README.md\r\n - [ ] API documentation\r\n - [ ] Code comments\r\n - [ ] User guides\r\n - [ ] Other: **\\*\\***\\_\\_\\_**\\*\\***\r\n\r\n## Deployment Notes\r\n\r\n\r\n\r\n- [ ] No special deployment steps required\r\n- [ ] Configuration changes required (please describe):\r\n- [ ] KGO update required (please describe):\r\n- [ ] Environment variables need to be updated (please list):\r\n- [ ] Updated software stack required (please describe):\r\n\r\n## Additional Context\r\n\r\n\r\n\r\n## Reviewer Guidelines\r\n\r\n\r\n\r\n**Before approving this PR, please verify:**\r\n\r\n- [ ] All dependencies have been resolved\r\n- [ ] Related issues are properly linked and addressed\r\n- [ ] CLA compliance is confirmed\r\n- [ ] Code quality standards are met\r\n- [ ] Tests are adequate and passing\r\n- [ ] Documentation is complete and accurate\r\n- [ ] Security considerations have been addressed\r\n- [ ] Performance impact is acceptable\r\n\r\n---\r\n\r\n**Note to Reviewers:** Please ensure all checkboxes in the **Dependencies**,\r\n**Related Issues**, and **Contributor License Agreement** sections are properly\r\ncompleted before approving this PR.\r\n", "number": 67, "repository": "MetOffice/git_playground", "title": "Auto labeler action for kgo and macro changes", @@ -724,7 +724,7 @@ { "assignees": ["Pierre-siddall"], "content": { - "body": "# Description\r\n\r\n(Provide a brief description of the changes in this PR, including any notes useful for reviewers)\r\n\r\nThis PR:\r\n\r\n- is blocked-by https://github.com/MetOffice/reusable-workflows/pull/10\r\n- blocks #pr-number\r\n- closes #69\r\n- fixes #issue-number\r\n- is related to #issue-number \r\n\r\n## Type of Change\r\n\r\n\r\n\r\n- [ ] Bug fix (non-breaking change which fixes an issue)\r\n- [x] New feature (non-breaking change which adds functionality)\r\n- [ ] Breaking change (fix or feature that would cause existing functionality to\r\n not work as expected)\r\n- [ ] Documentation update\r\n- [ ] Code refactoring\r\n- [ ] Performance improvement\r\n- [ ] Test coverage improvement\r\n- [ ] Other (please describe):\r\n\r\n## Testing\r\n\r\n\r\n\r\n- [ ] I have tested this change locally\r\n- [ ] I have added new tests to cover the changes\r\n- [ ] All existing tests pass\r\n- [ ] I have tested edge cases and error conditions\r\n- [ ] Describe other testing performed (if applicable)\r\n\r\n### Test Evidence\r\n\r\n\r\n\r\n(Provide screenshots, logs, or other evidence of testing)\r\n\r\n## Code Quality Checklist\r\n\r\n(_Some checks are automatically carried out via CI pipeline_)\r\n\r\n- [ ] My code follows the project's style guidelines\r\n- [ ] I have performed a self-review of my own code\r\n- [ ] I have commented my code, particularly in hard-to-understand areas\r\n- [ ] I have made corresponding changes to the documentation\r\n- [ ] My changes generate no new warnings\r\n- [ ] If adding a new feature, I have included tests its functionality\r\n- [ ] New and existing unit tests pass locally with my changes\r\n\r\n## Security Considerations\r\n\r\n- [ ] This change does not introduce security vulnerabilities\r\n- [ ] I have reviewed the code for potential security issues\r\n- [ ] Sensitive data is properly handled (if applicable)\r\n- [ ] Authentication and authorization are properly implemented (if applicable)\r\n\r\n## Performance Impact\r\n\r\n- [ ] Performance of the code has been considered and suitable performance\r\n measurements have been conducted, if applicable.\r\n\r\n## Contributor License Agreement (CLA)\r\n\r\n**Required:** Please confirm your compliance with the project's licensing\r\nrequirements.\r\n\r\n- [x] I confirm that I have read and agree to the project's Contributor License\r\n Agreement\r\n- [x] I understand that my contributions will be licensed under the project's\r\n licence\r\n- [x] I confirm that I have the right to submit this code under the project's\r\n licence\r\n- [x] I understand that my contribution may be redistributed under the project's\r\n licence terms\r\n- [x] If this contribution includes third-party code, I have properly attributed\r\n it and ensured licence compatibility\r\n\r\n## AI Assistance and Attribution\r\n\r\n_Please ensure that when using Generative AI tools, appropriate guardrails are\r\nin place and contributions have correct attribution. For Met Office\r\ncontributors, this includes adhering to the ​Use of Generative AI policy.\r\nContributors from other institutions should check if their institution has\r\nsimilar policies, and follow the local policy._\r\n\r\n- [ ] Some of the content of this change has been produced with the assistance\r\n of _Generative AI tool name_ (e.g., Met Office Github Copilot Enterprise,\r\n Github Copilot Personal, ChatGPT GPT-4, etc)\r\n- [ ] I have included attribution in the ​commit message and in each modified\r\n file\r\n\r\n## Documentation\r\n\r\n- [ ] Documentation is not required for this change\r\n- [ ] I have updated the relevant documentation and ensured they build correctly\r\n where required:\r\n - [ ] README.md\r\n - [ ] API documentation\r\n - [ ] Code comments\r\n - [ ] User guides\r\n - [ ] Other: **\\*\\***\\_\\_\\_**\\*\\***\r\n\r\n## Deployment Notes\r\n\r\n\r\n\r\n- [ ] No special deployment steps required\r\n- [ ] Configuration changes required (please describe):\r\n- [ ] KGO update required (please describe):\r\n- [ ] Environment variables need to be updated (please list):\r\n- [ ] Updated software stack required (please describe):\r\n\r\n## Additional Context\r\n\r\n\r\n\r\n## Reviewer Guidelines\r\n\r\n\r\n\r\n**Before approving this PR, please verify:**\r\n\r\n- [ ] All dependencies have been resolved\r\n- [ ] Related issues are properly linked and addressed\r\n- [ ] CLA compliance is confirmed\r\n- [ ] Code quality standards are met\r\n- [ ] Tests are adequate and passing\r\n- [ ] Documentation is complete and accurate\r\n- [ ] Security considerations have been addressed\r\n- [ ] Performance impact is acceptable\r\n\r\n---\r\n\r\n**Note to Reviewers:** Please ensure all checkboxes in the **Dependencies**,\r\n**Related Issues**, and **Contributor License Agreement** sections are properly\r\ncompleted before approving this PR.\r\n", + "body": "# Description\r\n\r\n(Provide a brief description of the changes in this PR, including any notes useful for reviewers)\r\n\r\nThis PR:\r\n\r\n- is blocked-by https://github.com/MetOffice/reusable-workflows/pull/10\r\n- blocks #pr-number\r\n- closes #69\r\n- fixes #issue-number\r\n- is related to #issue-number \r\n\r\n## Type of Change\r\n\r\n\r\n\r\n- [ ] Bug fix (non-breaking change which fixes an issue)\r\n- [x] New feature (non-breaking change which adds functionality)\r\n- [ ] Breaking change (fix or feature that would cause existing functionality to\r\n not work as expected)\r\n- [ ] Documentation update\r\n- [ ] Code refactoring\r\n- [ ] Performance improvement\r\n- [ ] Test coverage improvement\r\n- [ ] Other (please describe):\r\n\r\n## Testing\r\n\r\n\r\n\r\n- [ ] I have tested this change locally\r\n- [ ] I have added new tests to cover the changes\r\n- [ ] All existing tests pass\r\n- [ ] I have tested edge cases and error conditions\r\n- [ ] Describe other testing performed (if applicable)\r\n\r\n### Test Evidence\r\n\r\n\r\n\r\n(Provide screenshots, logs, or other evidence of testing)\r\n\r\n## Code Quality Checklist\r\n\r\n(_Some checks are automatically carried out via CI pipeline_)\r\n\r\n- [ ] My code follows the project's style guidelines\r\n- [ ] I have performed a self-review of my own code\r\n- [ ] I have commented my code, particularly in hard-to-understand areas\r\n- [ ] I have made corresponding changes to the documentation\r\n- [ ] My changes generate no new warnings\r\n- [ ] If adding a new feature, I have included tests its functionality\r\n- [ ] New and existing unit tests pass locally with my changes\r\n\r\n## Security Considerations\r\n\r\n- [ ] This change does not introduce security vulnerabilities\r\n- [ ] I have reviewed the code for potential security issues\r\n- [ ] Sensitive data is properly handled (if applicable)\r\n- [ ] Authentication and authorization are properly implemented (if applicable)\r\n\r\n## Performance Impact\r\n\r\n- [ ] Performance of the code has been considered and suitable performance\r\n measurements have been conducted, if applicable.\r\n\r\n## Contributor License Agreement (CLA)\r\n\r\n**Required:** Please confirm your compliance with the project's licensing\r\nrequirements.\r\n\r\n- [x] I confirm that I have read and agree to the project's Contributor License\r\n Agreement\r\n- [x] I understand that my contributions will be licensed under the project's\r\n licence\r\n- [x] I confirm that I have the right to submit this code under the project's\r\n licence\r\n- [x] I understand that my contribution may be redistributed under the project's\r\n licence terms\r\n- [x] If this contribution includes third-party code, I have properly attributed\r\n it and ensured licence compatibility\r\n\r\n## AI Assistance and Attribution\r\n\r\n_Please ensure that when using Generative AI tools, appropriate guardrails are\r\nin place and contributions have correct attribution. For Met Office\r\ncontributors, this includes adhering to the Use of Generative AI policy.\r\nContributors from other institutions should check if their institution has\r\nsimilar policies, and follow the local policy._\r\n\r\n- [ ] Some of the content of this change has been produced with the assistance\r\n of _Generative AI tool name_ (e.g., Met Office Github Copilot Enterprise,\r\n Github Copilot Personal, ChatGPT GPT-4, etc)\r\n- [ ] I have included attribution in the commit message and in each modified\r\n file\r\n\r\n## Documentation\r\n\r\n- [ ] Documentation is not required for this change\r\n- [ ] I have updated the relevant documentation and ensured they build correctly\r\n where required:\r\n - [ ] README.md\r\n - [ ] API documentation\r\n - [ ] Code comments\r\n - [ ] User guides\r\n - [ ] Other: **\\*\\***\\_\\_\\_**\\*\\***\r\n\r\n## Deployment Notes\r\n\r\n\r\n\r\n- [ ] No special deployment steps required\r\n- [ ] Configuration changes required (please describe):\r\n- [ ] KGO update required (please describe):\r\n- [ ] Environment variables need to be updated (please list):\r\n- [ ] Updated software stack required (please describe):\r\n\r\n## Additional Context\r\n\r\n\r\n\r\n## Reviewer Guidelines\r\n\r\n\r\n\r\n**Before approving this PR, please verify:**\r\n\r\n- [ ] All dependencies have been resolved\r\n- [ ] Related issues are properly linked and addressed\r\n- [ ] CLA compliance is confirmed\r\n- [ ] Code quality standards are met\r\n- [ ] Tests are adequate and passing\r\n- [ ] Documentation is complete and accurate\r\n- [ ] Security considerations have been addressed\r\n- [ ] Performance impact is acceptable\r\n\r\n---\r\n\r\n**Note to Reviewers:** Please ensure all checkboxes in the **Dependencies**,\r\n**Related Issues**, and **Contributor License Agreement** sections are properly\r\ncompleted before approving this PR.\r\n", "number": 70, "repository": "MetOffice/git_playground", "title": "Implement caller workflow", @@ -1101,7 +1101,7 @@ { "assignees": ["james-bruten-mo"], "content": { - "body": "# Description\r\nAdding our usual blank release curation template as an issue template here so that we can make the issue easily each release. \r\n\r\n\r\n## Type of Change\r\n\r\n\r\n\r\n- [ ] Bug fix (non-breaking change which fixes an issue)\r\n- [x] New feature (non-breaking change which adds functionality)\r\n- [ ] Breaking change (fix or feature that would cause existing functionality to\r\n not work as expected)\r\n- [ ] Documentation update\r\n- [ ] Code refactoring\r\n- [ ] Performance improvement\r\n- [ ] Test coverage improvement\r\n- [ ] Other (please describe):\r\n\r\n## Testing\r\n\r\n\r\n\r\n- [ ] I have tested this change locally\r\n- [ ] I have added new tests to cover the changes\r\n- [ ] All existing tests pass\r\n- [ ] I have tested edge cases and error conditions\r\n- [ ] Describe other testing performed (if applicable)\r\n\r\n### Test Evidence\r\n\r\n\r\n\r\n(Provide screenshots, logs, or other evidence of testing)\r\n\r\n## Code Quality Checklist\r\n\r\n(_Some checks are automatically carried out via CI pipeline_)\r\n\r\n- [ ] My code follows the project's style guidelines\r\n- [ ] I have performed a self-review of my own code\r\n- [ ] I have commented my code, particularly in hard-to-understand areas\r\n- [ ] I have made corresponding changes to the documentation\r\n- [ ] My changes generate no new warnings\r\n- [ ] If adding a new feature, I have included tests its functionality\r\n- [ ] New and existing unit tests pass locally with my changes\r\n\r\n## Security Considerations\r\n\r\n- [x] This change does not introduce security vulnerabilities\r\n- [x] I have reviewed the code for potential security issues\r\n- [x] Sensitive data is properly handled (if applicable)\r\n- [ ] Authentication and authorization are properly implemented (if applicable)\r\n\r\n## Performance Impact\r\n\r\n- [ ] Performance of the code has been considered and suitable performance\r\n measurements have been conducted, if applicable.\r\n\r\n## Contributor License Agreement (CLA)\r\n\r\n**Required:** Please confirm your compliance with the project's licensing\r\nrequirements.\r\n\r\n- [ ] I confirm that I have read and agree to the project's Contributor License\r\n Agreement\r\n- [ ] I understand that my contributions will be licensed under the project's\r\n licence\r\n- [ ] I confirm that I have the right to submit this code under the project's\r\n licence\r\n- [ ] I understand that my contribution may be redistributed under the project's\r\n licence terms\r\n- [ ] If this contribution includes third-party code, I have properly attributed\r\n it and ensured licence compatibility\r\n\r\n## AI Assistance and Attribution\r\n\r\n_Please ensure that when using Generative AI tools, appropriate guardrails are\r\nin place and contributions have correct attribution. For Met Office\r\ncontributors, this includes adhering to the ​Use of Generative AI policy.\r\nContributors from other institutions should check if their institution has\r\nsimilar policies, and follow the local policy._\r\n\r\n- [ ] Some of the content of this change has been produced with the assistance\r\n of _Generative AI tool name_ (e.g., Met Office Github Copilot Enterprise,\r\n Github Copilot Personal, ChatGPT GPT-4, etc)\r\n- [ ] I have included attribution in the ​commit message and in each modified\r\n file\r\n\r\n## Documentation\r\n\r\n- [ ] Documentation is not required for this change\r\n- [ ] I have updated the relevant documentation and ensured they build correctly\r\n where required:\r\n - [ ] README.md\r\n - [ ] API documentation\r\n - [ ] Code comments\r\n - [ ] User guides\r\n - [ ] Other: **\\*\\***\\_\\_\\_**\\*\\***\r\n\r\n## Deployment Notes\r\n\r\n\r\n\r\n- [ ] No special deployment steps required\r\n- [ ] Configuration changes required (please describe):\r\n- [ ] KGO update required (please describe):\r\n- [ ] Environment variables need to be updated (please list):\r\n- [ ] Updated software stack required (please describe):\r\n\r\n## Additional Context\r\n\r\n\r\n\r\n## Reviewer Guidelines\r\n\r\n\r\n\r\n**Before approving this PR, please verify:**\r\n\r\n- [ ] All dependencies have been resolved\r\n- [ ] Related issues are properly linked and addressed\r\n- [ ] CLA compliance is confirmed\r\n- [ ] Code quality standards are met\r\n- [ ] Tests are adequate and passing\r\n- [ ] Documentation is complete and accurate\r\n- [ ] Security considerations have been addressed\r\n- [ ] Performance impact is acceptable\r\n\r\n---\r\n\r\n**Note to Reviewers:** Please ensure all checkboxes in the **Dependencies**,\r\n**Related Issues**, and **Contributor License Agreement** sections are properly\r\ncompleted before approving this PR.\r\n", + "body": "# Description\r\nAdding our usual blank release curation template as an issue template here so that we can make the issue easily each release. \r\n\r\n\r\n## Type of Change\r\n\r\n\r\n\r\n- [ ] Bug fix (non-breaking change which fixes an issue)\r\n- [x] New feature (non-breaking change which adds functionality)\r\n- [ ] Breaking change (fix or feature that would cause existing functionality to\r\n not work as expected)\r\n- [ ] Documentation update\r\n- [ ] Code refactoring\r\n- [ ] Performance improvement\r\n- [ ] Test coverage improvement\r\n- [ ] Other (please describe):\r\n\r\n## Testing\r\n\r\n\r\n\r\n- [ ] I have tested this change locally\r\n- [ ] I have added new tests to cover the changes\r\n- [ ] All existing tests pass\r\n- [ ] I have tested edge cases and error conditions\r\n- [ ] Describe other testing performed (if applicable)\r\n\r\n### Test Evidence\r\n\r\n\r\n\r\n(Provide screenshots, logs, or other evidence of testing)\r\n\r\n## Code Quality Checklist\r\n\r\n(_Some checks are automatically carried out via CI pipeline_)\r\n\r\n- [ ] My code follows the project's style guidelines\r\n- [ ] I have performed a self-review of my own code\r\n- [ ] I have commented my code, particularly in hard-to-understand areas\r\n- [ ] I have made corresponding changes to the documentation\r\n- [ ] My changes generate no new warnings\r\n- [ ] If adding a new feature, I have included tests its functionality\r\n- [ ] New and existing unit tests pass locally with my changes\r\n\r\n## Security Considerations\r\n\r\n- [x] This change does not introduce security vulnerabilities\r\n- [x] I have reviewed the code for potential security issues\r\n- [x] Sensitive data is properly handled (if applicable)\r\n- [ ] Authentication and authorization are properly implemented (if applicable)\r\n\r\n## Performance Impact\r\n\r\n- [ ] Performance of the code has been considered and suitable performance\r\n measurements have been conducted, if applicable.\r\n\r\n## Contributor License Agreement (CLA)\r\n\r\n**Required:** Please confirm your compliance with the project's licensing\r\nrequirements.\r\n\r\n- [ ] I confirm that I have read and agree to the project's Contributor License\r\n Agreement\r\n- [ ] I understand that my contributions will be licensed under the project's\r\n licence\r\n- [ ] I confirm that I have the right to submit this code under the project's\r\n licence\r\n- [ ] I understand that my contribution may be redistributed under the project's\r\n licence terms\r\n- [ ] If this contribution includes third-party code, I have properly attributed\r\n it and ensured licence compatibility\r\n\r\n## AI Assistance and Attribution\r\n\r\n_Please ensure that when using Generative AI tools, appropriate guardrails are\r\nin place and contributions have correct attribution. For Met Office\r\ncontributors, this includes adhering to the Use of Generative AI policy.\r\nContributors from other institutions should check if their institution has\r\nsimilar policies, and follow the local policy._\r\n\r\n- [ ] Some of the content of this change has been produced with the assistance\r\n of _Generative AI tool name_ (e.g., Met Office Github Copilot Enterprise,\r\n Github Copilot Personal, ChatGPT GPT-4, etc)\r\n- [ ] I have included attribution in the commit message and in each modified\r\n file\r\n\r\n## Documentation\r\n\r\n- [ ] Documentation is not required for this change\r\n- [ ] I have updated the relevant documentation and ensured they build correctly\r\n where required:\r\n - [ ] README.md\r\n - [ ] API documentation\r\n - [ ] Code comments\r\n - [ ] User guides\r\n - [ ] Other: **\\*\\***\\_\\_\\_**\\*\\***\r\n\r\n## Deployment Notes\r\n\r\n\r\n\r\n- [ ] No special deployment steps required\r\n- [ ] Configuration changes required (please describe):\r\n- [ ] KGO update required (please describe):\r\n- [ ] Environment variables need to be updated (please list):\r\n- [ ] Updated software stack required (please describe):\r\n\r\n## Additional Context\r\n\r\n\r\n\r\n## Reviewer Guidelines\r\n\r\n\r\n\r\n**Before approving this PR, please verify:**\r\n\r\n- [ ] All dependencies have been resolved\r\n- [ ] Related issues are properly linked and addressed\r\n- [ ] CLA compliance is confirmed\r\n- [ ] Code quality standards are met\r\n- [ ] Tests are adequate and passing\r\n- [ ] Documentation is complete and accurate\r\n- [ ] Security considerations have been addressed\r\n- [ ] Performance impact is acceptable\r\n\r\n---\r\n\r\n**Note to Reviewers:** Please ensure all checkboxes in the **Dependencies**,\r\n**Related Issues**, and **Contributor License Agreement** sections are properly\r\ncompleted before approving this PR.\r\n", "number": 74, "repository": "MetOffice/git_playground", "title": "Add a release issue template", @@ -1117,7 +1117,7 @@ { "assignees": ["Pierre-siddall"], "content": { - "body": "# Description\r\n\r\nThe formatting of the link in the release issue template was still trac-style, this updates it to markdown. \r\n\r\nThis PR:\r\n\r\n- is blocked-by #pr-number\r\n- blocks #pr-number\r\n- closes #issue-number\r\n- fixes #issue-number\r\n- is related to #issue-number \r\n\r\n## Type of Change\r\n\r\n\r\n\r\n- [x] Bug fix (non-breaking change which fixes an issue)\r\n- [ ] New feature (non-breaking change which adds functionality)\r\n- [ ] Breaking change (fix or feature that would cause existing functionality to\r\n not work as expected)\r\n- [ ] Documentation update\r\n- [ ] Code refactoring\r\n- [ ] Performance improvement\r\n- [ ] Test coverage improvement\r\n- [ ] Other (please describe):\r\n\r\n## Testing\r\n\r\n\r\n\r\n- [x] I have tested this change locally\r\n- [ ] I have added new tests to cover the changes\r\n- [ ] All existing tests pass\r\n- [ ] I have tested edge cases and error conditions\r\n- [ ] Describe other testing performed (if applicable)\r\n\r\n### Test Evidence\r\n\r\nRich diff shows this now renders correctly. \r\n\r\n(Provide screenshots, logs, or other evidence of testing)\r\n\r\n## Code Quality Checklist\r\n\r\n(_Some checks are automatically carried out via CI pipeline_)\r\n\r\n- [x] My code follows the project's style guidelines\r\n- [x] I have performed a self-review of my own code\r\n- [ ] I have commented my code, particularly in hard-to-understand areas\r\n- [ ] I have made corresponding changes to the documentation\r\n- [ ] My changes generate no new warnings\r\n- [ ] If adding a new feature, I have included tests its functionality\r\n- [ ] New and existing unit tests pass locally with my changes\r\n\r\n## Security Considerations\r\n\r\n- [x] This change does not introduce security vulnerabilities\r\n- [ ] I have reviewed the code for potential security issues\r\n- [ ] Sensitive data is properly handled (if applicable)\r\n- [ ] Authentication and authorization are properly implemented (if applicable)\r\n\r\n## Performance Impact\r\n\r\n- [ ] Performance of the code has been considered and suitable performance\r\n measurements have been conducted, if applicable.\r\n\r\n## Contributor License Agreement (CLA)\r\n\r\n**Required:** Please confirm your compliance with the project's licensing\r\nrequirements.\r\n\r\n- [x] I confirm that I have read and agree to the project's Contributor License\r\n Agreement\r\n- [x] I understand that my contributions will be licensed under the project's\r\n licence\r\n- [x] I confirm that I have the right to submit this code under the project's\r\n licence\r\n- [x] I understand that my contribution may be redistributed under the project's\r\n licence terms\r\n- [x] If this contribution includes third-party code, I have properly attributed\r\n it and ensured licence compatibility\r\n\r\n## AI Assistance and Attribution\r\n\r\n_Please ensure that when using Generative AI tools, appropriate guardrails are\r\nin place and contributions have correct attribution. For Met Office\r\ncontributors, this includes adhering to the ​Use of Generative AI policy.\r\nContributors from other institutions should check if their institution has\r\nsimilar policies, and follow the local policy._\r\n\r\n- [ ] Some of the content of this change has been produced with the assistance\r\n of _Generative AI tool name_ (e.g., Met Office Github Copilot Enterprise,\r\n Github Copilot Personal, ChatGPT GPT-4, etc)\r\n- [ ] I have included attribution in the ​commit message and in each modified\r\n file\r\n\r\n## Documentation\r\n\r\n- [x] Documentation is not required for this change\r\n- [ ] I have updated the relevant documentation and ensured they build correctly\r\n where required:\r\n - [ ] README.md\r\n - [ ] API documentation\r\n - [ ] Code comments\r\n - [ ] User guides\r\n - [ ] Other: **\\*\\***\\_\\_\\_**\\*\\***\r\n\r\n## Deployment Notes\r\n\r\n\r\n\r\n- [ ] No special deployment steps required\r\n- [ ] Configuration changes required (please describe):\r\n- [ ] KGO update required (please describe):\r\n- [ ] Environment variables need to be updated (please list):\r\n- [ ] Updated software stack required (please describe):\r\n\r\n## Additional Context\r\n\r\n\r\n\r\n## Reviewer Guidelines\r\n\r\n\r\n\r\n**Before approving this PR, please verify:**\r\n\r\n- [ ] All dependencies have been resolved\r\n- [ ] Related issues are properly linked and addressed\r\n- [ ] CLA compliance is confirmed\r\n- [ ] Code quality standards are met\r\n- [ ] Tests are adequate and passing\r\n- [ ] Documentation is complete and accurate\r\n- [ ] Security considerations have been addressed\r\n- [ ] Performance impact is acceptable\r\n\r\n---\r\n\r\n**Note to Reviewers:** Please ensure all checkboxes in the **Dependencies**,\r\n**Related Issues**, and **Contributor License Agreement** sections are properly\r\ncompleted before approving this PR.\r\n", + "body": "# Description\r\n\r\nThe formatting of the link in the release issue template was still trac-style, this updates it to markdown. \r\n\r\nThis PR:\r\n\r\n- is blocked-by #pr-number\r\n- blocks #pr-number\r\n- closes #issue-number\r\n- fixes #issue-number\r\n- is related to #issue-number \r\n\r\n## Type of Change\r\n\r\n\r\n\r\n- [x] Bug fix (non-breaking change which fixes an issue)\r\n- [ ] New feature (non-breaking change which adds functionality)\r\n- [ ] Breaking change (fix or feature that would cause existing functionality to\r\n not work as expected)\r\n- [ ] Documentation update\r\n- [ ] Code refactoring\r\n- [ ] Performance improvement\r\n- [ ] Test coverage improvement\r\n- [ ] Other (please describe):\r\n\r\n## Testing\r\n\r\n\r\n\r\n- [x] I have tested this change locally\r\n- [ ] I have added new tests to cover the changes\r\n- [ ] All existing tests pass\r\n- [ ] I have tested edge cases and error conditions\r\n- [ ] Describe other testing performed (if applicable)\r\n\r\n### Test Evidence\r\n\r\nRich diff shows this now renders correctly. \r\n\r\n(Provide screenshots, logs, or other evidence of testing)\r\n\r\n## Code Quality Checklist\r\n\r\n(_Some checks are automatically carried out via CI pipeline_)\r\n\r\n- [x] My code follows the project's style guidelines\r\n- [x] I have performed a self-review of my own code\r\n- [ ] I have commented my code, particularly in hard-to-understand areas\r\n- [ ] I have made corresponding changes to the documentation\r\n- [ ] My changes generate no new warnings\r\n- [ ] If adding a new feature, I have included tests its functionality\r\n- [ ] New and existing unit tests pass locally with my changes\r\n\r\n## Security Considerations\r\n\r\n- [x] This change does not introduce security vulnerabilities\r\n- [ ] I have reviewed the code for potential security issues\r\n- [ ] Sensitive data is properly handled (if applicable)\r\n- [ ] Authentication and authorization are properly implemented (if applicable)\r\n\r\n## Performance Impact\r\n\r\n- [ ] Performance of the code has been considered and suitable performance\r\n measurements have been conducted, if applicable.\r\n\r\n## Contributor License Agreement (CLA)\r\n\r\n**Required:** Please confirm your compliance with the project's licensing\r\nrequirements.\r\n\r\n- [x] I confirm that I have read and agree to the project's Contributor License\r\n Agreement\r\n- [x] I understand that my contributions will be licensed under the project's\r\n licence\r\n- [x] I confirm that I have the right to submit this code under the project's\r\n licence\r\n- [x] I understand that my contribution may be redistributed under the project's\r\n licence terms\r\n- [x] If this contribution includes third-party code, I have properly attributed\r\n it and ensured licence compatibility\r\n\r\n## AI Assistance and Attribution\r\n\r\n_Please ensure that when using Generative AI tools, appropriate guardrails are\r\nin place and contributions have correct attribution. For Met Office\r\ncontributors, this includes adhering to the Use of Generative AI policy.\r\nContributors from other institutions should check if their institution has\r\nsimilar policies, and follow the local policy._\r\n\r\n- [ ] Some of the content of this change has been produced with the assistance\r\n of _Generative AI tool name_ (e.g., Met Office Github Copilot Enterprise,\r\n Github Copilot Personal, ChatGPT GPT-4, etc)\r\n- [ ] I have included attribution in the commit message and in each modified\r\n file\r\n\r\n## Documentation\r\n\r\n- [x] Documentation is not required for this change\r\n- [ ] I have updated the relevant documentation and ensured they build correctly\r\n where required:\r\n - [ ] README.md\r\n - [ ] API documentation\r\n - [ ] Code comments\r\n - [ ] User guides\r\n - [ ] Other: **\\*\\***\\_\\_\\_**\\*\\***\r\n\r\n## Deployment Notes\r\n\r\n\r\n\r\n- [ ] No special deployment steps required\r\n- [ ] Configuration changes required (please describe):\r\n- [ ] KGO update required (please describe):\r\n- [ ] Environment variables need to be updated (please list):\r\n- [ ] Updated software stack required (please describe):\r\n\r\n## Additional Context\r\n\r\n\r\n\r\n## Reviewer Guidelines\r\n\r\n\r\n\r\n**Before approving this PR, please verify:**\r\n\r\n- [ ] All dependencies have been resolved\r\n- [ ] Related issues are properly linked and addressed\r\n- [ ] CLA compliance is confirmed\r\n- [ ] Code quality standards are met\r\n- [ ] Tests are adequate and passing\r\n- [ ] Documentation is complete and accurate\r\n- [ ] Security considerations have been addressed\r\n- [ ] Performance impact is acceptable\r\n\r\n---\r\n\r\n**Note to Reviewers:** Please ensure all checkboxes in the **Dependencies**,\r\n**Related Issues**, and **Contributor License Agreement** sections are properly\r\ncompleted before approving this PR.\r\n", "number": 76, "repository": "MetOffice/git_playground", "title": "Reformat link in release template",