Skip to content

Add Continuous Software Delivery guideline (contractor deliveries)#64

Open
JamesVarndell wants to merge 16 commits into
mainfrom
app-delivery
Open

Add Continuous Software Delivery guideline (contractor deliveries)#64
JamesVarndell wants to merge 16 commits into
mainfrom
app-delivery

Conversation

@JamesVarndell

@JamesVarndell JamesVarndell commented Jun 22, 2026

Copy link
Copy Markdown

Description

Adds documentation for continuous software delivery to ECMWF from an external contractor.

Contributor Declaration

By opening this pull request, I affirm the following:

  • All authors agree to the Contributor License Agreement.
  • The code follows the project's coding standards.
  • I have performed self-review and added comments where needed.
  • I have added or updated tests to verify that my changes are effective and functional.
  • I have run all existing tests and confirmed they pass.

@JamesVarndell JamesVarndell requested a review from EddyCMWF June 22, 2026 08:24
@mattofficeuk

Copy link
Copy Markdown

Can we add something like "AI tools may be used to assist in writing this documentation, but the contractor is responsible for, and must ensure, the final completeness and correctness".

Otherwise I am concerned we will just get the output of "Check these requirements, fill in this document" with no further verification. We all know AI would do a great and vague job of filling this in

Comment thread Software Delivery/Technical-Handover.md Outdated
Comment thread Software Delivery/Technical-Handover.md Outdated
Comment thread Software Delivery/Technical-Handover.md Outdated
Comment thread Software Delivery/Technical-Handover.md Outdated
Comment thread Guidelines/Continuous-Software-Delivery.md
Clarify AI tools responsibility in documentation
Removed duplicate paragraph about documentation requirements.
JamesVarndell and others added 4 commits July 6, 2026 17:26
… cross-links

- Move 'Software Delivery/Technical-Handover.md' -> 'Guidelines/Continuous-
  Software-Delivery.md'; retitle 'Continuous Software Delivery to ECMWF' (scope
  is software, not only web apps). Index in Guidelines/README.md and root README.
- Apply reviewer suggestions: emphasis-flipped intro (EddyCMWF); deployment
  architecture must be agreed with the Technical Officer (Docker/Helm/K8s are the
  default, not a hard requirement, so data-production workflows fit); recommend
  multi-container deployment config in a separate repository.
- Convert absolute GitHub URLs to relative links.
- Align with current Codex: licensing (Apache-2.0 + SPDX/REUSE per ADR-010),
  Repository Structure conventions (incl. SECURITY.md), never-commit-secrets
  (history scanned before publication), AI-Contributions link, and a
  Publication/open-sourcing paragraph (repos start private; publication via
  Open-Sourcing-Software + audit gates).
- Bidirectional linkage with External-Contributions (which governs *how* code
  flows; PR-into-main is the contractual acceptance point) + reverse pointer.
@tlmquintino

Copy link
Copy Markdown
Member

I pushed a revision (1db7415) that moves this to Guidelines/Continuous-Software-Delivery.md, broadens the scope from "web application" to "software", indexes it (Guidelines + root README), applies @EddyCMWF's open review points (Technical-Officer-agreed deployment architecture; multi-container config in a separate repo; emphasis-flipped intro), converts the absolute links to relative, and wires in the parts of the Codex that landed after this PR was opened — licensing (Apache-2.0 + SPDX/REUSE per ADR-010), Repository Structure conventions, a never commit secret values rule (history is scanned before publication), an AI-Contributions link, a short Publication/open-sourcing paragraph, and bidirectional links with External Contributions (which governs how code flows — PR-into-main being the contractual acceptance point).

A few optional content additions I did not make, left for @JamesVarndell / reviewers to consider — happy to draft any of them:

  1. Testing & CI. Require delivered repos to carry tests and CI that ECMWF can run, and state that "the software builds and its tests pass from a fresh clone following only the README" — it's the single best proxy for deliverability.
  2. Releases & image provenance. Require tagged releases (SemVer, per External-Contributions) so rollbacks reference identifiable versions, and state where container images are published — images living only in a contractor's registry are the same "bound to the contractor's accounts" problem §6/§7 already flag.
  3. Operations runbook. §2 covers deploy/rollback; consider also logs, health checks, monitoring/alerting config, and backup & restore for stateful services (databases especially).
  4. Continuous verification. A line that ECMWF periodically verifies deliverability by deploying from scratch on its own infrastructure using only the repository docs — giving the "continuous delivery" principle teeth.

@tlmquintino tlmquintino changed the title Adds draft software delivery documentation Add Continuous Software Delivery guideline (contractor deliveries) Jul 8, 2026
@tlmquintino tlmquintino requested a review from Copilot July 8, 2026 20:32

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new guideline describing what external contractors must deliver so ECMWF can assume ownership and operate delivered software/services, and links it into the existing documentation navigation.

Changes:

  • Added a new “Continuous Software Delivery” guideline detailing continuous delivery expectations, deployment reproducibility, data/service dependencies, and credential handling.
  • Linked the new guideline from the root README and the Guidelines index.
  • Cross-referenced the new guideline from the existing “External Contributions” guidance for contractor deliveries.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.

File Description
README.md Adds the new guideline to the main documentation contents list.
Guidelines/README.md Adds the new guideline to the Guidelines index.
Guidelines/External-Contributions.md Points contractor “full service/product” deliveries to the new continuous delivery guideline.
Guidelines/Continuous-Software-Delivery.md Introduces the new contractor delivery requirements document.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread Guidelines/Continuous-Software-Delivery.md Outdated
Comment thread Guidelines/Continuous-Software-Delivery.md Outdated
- Number the closing section '## 8. Publication and Open-Sourcing' to match the
  document's numbered structure (1-7).
- Use 'Dockerfiles' consistently (was 'Docker files') in the deployment section.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.

Comment thread Guidelines/External-Contributions.md Outdated
Reword the External-Contributions pointer: contractors deliver credential
*configuration and regeneration procedures*, never secret values themselves —
consistent with Continuous Software Delivery Section 7.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.

Comment thread Guidelines/Continuous-Software-Delivery.md Outdated
… Structure

Match the 'cookiecutter template' term used in Repository Structure/README.md
(the doc this bullet links to).

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.

Comment thread Guidelines/Continuous-Software-Delivery.md Outdated
Comment thread Guidelines/Continuous-Software-Delivery.md Outdated
- Make the ADR-010 reference a clickable link (matches other ADR references).
- Retitle section 3 'Source Code' -> 'Repository Documentation' to match its
  content (cross-repo README/branch documentation).

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated no new comments.

@tlmquintino tlmquintino left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ive made my reviews and pushed some commits. Its back to you @JamesVarndell and possibly @EddyCMWF

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants