From f09ddf9c14abd554d81b747d75e61554220f99f1 Mon Sep 17 00:00:00 2001 From: Uniskela <104075208+uniskela@users.noreply.github.com> Date: Thu, 8 Oct 2026 05:56:56 +0000 Subject: [PATCH 1/3] ci: refresh Context7 docs after documentation changes --- .github/workflows/context7-refresh.yml | 35 ++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 .github/workflows/context7-refresh.yml diff --git a/.github/workflows/context7-refresh.yml b/.github/workflows/context7-refresh.yml new file mode 100644 index 0000000..cd649b8 --- /dev/null +++ b/.github/workflows/context7-refresh.yml @@ -0,0 +1,35 @@ +name: Refresh Context7 Documentation + +on: + push: + branches: + - main + paths: + - "docs/**" + - "README.md" + - "CHANGELOG.md" + workflow_dispatch: + +permissions: + contents: read + +jobs: + refresh: + runs-on: ubuntu-latest + steps: + - name: Request Context7 library refresh + env: + CONTEXT7_API_KEY: ${{ secrets.CONTEXT7_API_KEY }} + run: | + set -euo pipefail + if [[ -z "${CONTEXT7_API_KEY}" ]]; then + echo "::error::Set the CONTEXT7_API_KEY repository Actions secret before running this workflow." + exit 1 + fi + + curl --fail-with-body --silent --show-error \ + --retry 2 --connect-timeout 10 --max-time 60 \ + --request POST "https://context7.com/api/v1/refresh" \ + --header "Content-Type: application/json" \ + --header "Authorization: Bearer ${CONTEXT7_API_KEY}" \ + --data "$(printf '{"libraryName":"/%s"}' "${GITHUB_REPOSITORY}")" From 0269668a1eaf817707b7be087a0db81c13c55631 Mon Sep 17 00:00:00 2001 From: Uniskela <104075208+uniskela@users.noreply.github.com> Date: Thu, 8 Oct 2026 06:02:35 +0000 Subject: [PATCH 2/3] ci: make Context7 refresh callable after a release --- .github/workflows/context7-refresh.yml | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/.github/workflows/context7-refresh.yml b/.github/workflows/context7-refresh.yml index cd649b8..0989b0f 100644 --- a/.github/workflows/context7-refresh.yml +++ b/.github/workflows/context7-refresh.yml @@ -1,13 +1,12 @@ name: Refresh Context7 Documentation +# Called by Release Please only when a GitHub release is created. +# workflow_dispatch is retained for manual refreshes between releases. on: - push: - branches: - - main - paths: - - "docs/**" - - "README.md" - - "CHANGELOG.md" + workflow_call: + secrets: + CONTEXT7_API_KEY: + required: true workflow_dispatch: permissions: From ee843fd8e9533dc91fd20585715583ac049244d0 Mon Sep 17 00:00:00 2001 From: Uniskela <104075208+uniskela@users.noreply.github.com> Date: Thu, 8 Oct 2026 06:02:43 +0000 Subject: [PATCH 3/3] ci: trigger Context7 refresh only after Release Please release --- .github/workflows/release-please.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.github/workflows/release-please.yml b/.github/workflows/release-please.yml index 58f8e97..f4dca0d 100644 --- a/.github/workflows/release-please.yml +++ b/.github/workflows/release-please.yml @@ -55,3 +55,13 @@ jobs: contents: read uses: ./.github/workflows/notify-uniskela-docs.yml secrets: inherit + + # Context7 docs indexing follows an actual Release Please release, not every push. + refresh-context7: + needs: release-please + if: needs.release-please.outputs.release_created == 'true' + permissions: + contents: read + uses: ./.github/workflows/context7-refresh.yml + secrets: + CONTEXT7_API_KEY: ${{ secrets.CONTEXT7_API_KEY }}