-
Notifications
You must be signed in to change notification settings - Fork 222
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1731 from grafana/automatic-update-of-the-extensi…
…on-list Automatic update of the extension list
- Loading branch information
Showing
3 changed files
with
101 additions
and
1,116 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
# This workflow keeps the list of extensions up to date | ||
# in the docs/sources/next/extensions/explore.md file. | ||
# | ||
# The workflow is activated by a workflow dispatch event | ||
# of the "extension-registry-changed" type. | ||
# This event is triggered by the grafana/k6-extension-registry | ||
# repository when the extension registry changes. | ||
# | ||
# The list of extensions is generated based on https://registry.k6.io/registry.json. | ||
# If the generated list differs from the previous one, | ||
# it is pushed to the "extension-registry-changed" branch and | ||
# a pull request is created with the change (or updated if it already existed). | ||
# | ||
# It is not a problem if the registry changes several times before merging the pull request, | ||
# the pull request will be updated. The "extension-registry-changed" branch can be deleted | ||
# after merging the pull request, it will be created again if necessary. | ||
|
||
name: extension-registry-changed | ||
|
||
on: | ||
workflow_dispatch: | ||
repository_dispatch: | ||
types: [extension-registry-changed] | ||
|
||
jobs: | ||
update: | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v4 | ||
|
||
- name: Generate Files | ||
run: ${{ github.workspace }}/scripts/extension-registry-changed | ||
|
||
- name: Create Pull Request | ||
uses: peter-evans/create-pull-request@v6 | ||
with: | ||
branch: extension-registry-changed | ||
commit-message: | | ||
Keep files generated from the k6 extension registry up to date | ||
title: | | ||
Update files generated from the k6 Extension Registry | ||
body: | | ||
The [k6 Extension Registry](https://registry.k6.io) has changed. | ||
This pull request contains the files generated from the k6 Extension Registry. | ||
add-paths: | | ||
docs/sources/next/extensions/explore.md |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
#!/usr/bin/env bash | ||
|
||
# This script keeps the list of extensions up to date | ||
# in the docs/sources/next/extensions/explore.md file. | ||
# | ||
# The script is run by the extension-registry.changed.yml | ||
# workflow when the extension registry changes. | ||
# | ||
# The list of extensions is generated based on https://registry.k6.io/registry.json. | ||
# | ||
# In the docs/sources/next/extensions/explore.md file | ||
# the content of the <div class="nav-cards"> HTML element | ||
# is replaced with the generated extension list. | ||
|
||
generate_extension_list_partial() { | ||
curl -sL https://registry.k6.io/registry.json | | ||
jq -r ' | ||
map(select(.module != "go.k6.io/k6") | { name:.repo.name, url: .repo.url, description: .description } ) | | ||
sort_by(.name) | map( | ||
" <a href=\"\(.url)\" target=\"_blank\" class=\"nav-cards__item nav-cards__item--guide\"> | ||
<h4>\(.name)</h4> | ||
<p>\(.description)</p> | ||
</a>" | ||
) | .[] | ||
' | ||
} | ||
|
||
replace_extension_list_partial() { | ||
local -r outfile="$1" | ||
local -r infile="$2" | ||
|
||
ed -s "$outfile" <<EOF | ||
/<div class=.nav-cards.>/+,/<.div>/-d | ||
/<div class=.nav-cards.>/ r "$infile" | ||
w | ||
q | ||
EOF | ||
} | ||
|
||
scriptdir="$(dirname "$(readlink -f "$0")")" | ||
docfile="$scriptdir/../docs/sources/next/extensions/explore.md" | ||
|
||
tmpfile="$(mktemp)" | ||
|
||
generate_extension_list_partial > "$tmpfile" | ||
replace_extension_list_partial "$docfile" "$tmpfile" | ||
|
||
rm -f "$tmpfile" |
Oops, something went wrong.