From 57cce6df9e7a0978770cab8b051c764e79a38036 Mon Sep 17 00:00:00 2001 From: James Gebbie-Rayet Date: Fri, 16 Oct 2026 16:02:42 +0100 Subject: [PATCH 1/6] Add web-meta.yaml for GitHub metadata configuration --- .github/web-meta.yaml | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 .github/web-meta.yaml diff --git a/.github/web-meta.yaml b/.github/web-meta.yaml new file mode 100644 index 0000000..9f067f6 --- /dev/null +++ b/.github/web-meta.yaml @@ -0,0 +1,10 @@ +name: "" +shortdesc: "" +longdesc: "" +authors: +category: "data-tools" +image: "" +github: "" +docs: "" +pypi: true +conda: true From c54b553b3c335107fa571a32b77bae4e5a66ecd8 Mon Sep 17 00:00:00 2001 From: James Gebbie-Rayet Date: Fri, 16 Oct 2026 17:16:01 +0100 Subject: [PATCH 2/6] Update web-meta.yaml by removing unnecessary fields Remove authors and image fields from web-meta.yaml --- .github/web-meta.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/web-meta.yaml b/.github/web-meta.yaml index 9f067f6..ebbc32c 100644 --- a/.github/web-meta.yaml +++ b/.github/web-meta.yaml @@ -1,7 +1,5 @@ -name: "" shortdesc: "" longdesc: "" -authors: category: "data-tools" image: "" github: "" From 391362c9a847af7631d7740e35e874d0b5797757 Mon Sep 17 00:00:00 2001 From: James Gebbie-Rayet Date: Fri, 16 Oct 2026 17:35:18 +0100 Subject: [PATCH 3/6] Clean up web-meta.yaml by removing unused fields Remove empty fields for GitHub and docs in web-meta.yaml --- .github/web-meta.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/web-meta.yaml b/.github/web-meta.yaml index ebbc32c..faad550 100644 --- a/.github/web-meta.yaml +++ b/.github/web-meta.yaml @@ -2,7 +2,5 @@ shortdesc: "" longdesc: "" category: "data-tools" image: "" -github: "" -docs: "" pypi: true conda: true From 2bb7f9d4bbe65abe47b056e9988c476960940b51 Mon Sep 17 00:00:00 2001 From: James Gebbie-Rayet Date: Fri, 16 Oct 2026 20:40:38 +0100 Subject: [PATCH 4/6] Add build dispatch payload step to release workflow --- .github/workflows/release.yml | 62 +++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d4dac43..18c4415 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -164,6 +164,68 @@ jobs: --data-urlencode "topic=software releases" \ --data-urlencode "content=${CONTENT}" + - name: checkout + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + + - name: Build dispatch payload + id: payload + shell: bash + env: + NAME: ${{ github.event.repository.name }} + REPO_URL: ${{ github.server_url }}/${{ github.repository }} + VERSION: ${{ github.event.inputs.version }} + META_FILE: .github/web-meta.yaml + CFF_FILE: CITATION.cff + run: | + for f in "$META_FILE" "$CFF_FILE"; do + if [ ! -f "$f" ]; then + echo "::error::$f not found in $(pwd)" + ls -la . .github + exit 1 + fi + done + + # Constructed URLs (Read the Docs slugs are lowercase) + github_url="$REPO_URL" + docs_url="https://${NAME,,}.readthedocs.io/" + + # Metadata from web-meta.yaml + meta=$(yq -o=json '.' "$META_FILE") + + # Authors from CITATION.cff -> { "Full Name": "orcid url" } + authors=$(yq -o=json '.authors' "$CFF_FILE" | jq -c ' + map({ + key: ( + if .name then .name + else ([."given-names", ."family-names"] | map(select(. != null)) | join(" ")) + end + ), + value: (.orcid // "") + }) | from_entries') + + payload=$(jq -nc \ + --arg name "$NAME" \ + --arg github "$github_url" \ + --arg docs "$docs_url" \ + --arg version "$VERSION" \ + --argjson meta "$meta" \ + --argjson authors "$authors" \ + '{ + name: $name, + meta: ({github: $github, docs: $docs} + $meta + {version: $version, authors: $authors}) + }') + + echo "payload: $payload" + echo "json=$payload" >> "$GITHUB_OUTPUT" + + - name: Post version to website metadata repo + uses: peter-evans/repository-dispatch@28959ce8df70de7be546dd1250a005dd32156697 # v4.0.1 + with: + token: ${{ secrets.BUILD_TOKEN }} + repository: ccpbiosim/ccpbiosim.github.io + event-type: workshops + client-payload: ${{ steps.payload.outputs.json }} + conda: name: publish conda to anaconda.org needs: [tag, release] From 522ecef054e0f09e49dfd507e5ef8f189ee75f14 Mon Sep 17 00:00:00 2001 From: James Gebbie-Rayet Date: Fri, 16 Oct 2026 21:23:00 +0100 Subject: [PATCH 5/6] Revise project metadata in web-meta.yaml Updated metadata for the project, including descriptions, category, and image. --- .github/web-meta.yaml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/web-meta.yaml b/.github/web-meta.yaml index faad550..a5cf766 100644 --- a/.github/web-meta.yaml +++ b/.github/web-meta.yaml @@ -1,6 +1,7 @@ -shortdesc: "" -longdesc: "" -category: "data-tools" -image: "" -pypi: true +shortdesc: "Automatically prepare structures from the PDB for molecular dynamics simulation." +longdesc: "A utility to automatically prepare structures from the PDB for molecular dynamics simulation and perform minimisations and simple MD simulations." +category: "scientific" +image: "prepmd-logo.svg" +pypi: false conda: true +ghcr: false From 6c7c770f46c906519bd138d3ad0444d3bd1755b7 Mon Sep 17 00:00:00 2001 From: James Gebbie-Rayet Date: Fri, 16 Oct 2026 21:28:58 +0100 Subject: [PATCH 6/6] Change event type from 'workshops' to 'software' --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 18c4415..2307f83 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -223,7 +223,7 @@ jobs: with: token: ${{ secrets.BUILD_TOKEN }} repository: ccpbiosim/ccpbiosim.github.io - event-type: workshops + event-type: software client-payload: ${{ steps.payload.outputs.json }} conda: