Skip to content

Commit 36638fd

Browse files
authored
chore: provide warnings about newer versions; also fix typo in parfuemerie-douglas package URL (#657)
Signed-off-by: Nick Boldt <[email protected]>
1 parent 22fac83 commit 36638fd

File tree

3 files changed

+48
-20
lines changed

3 files changed

+48
-20
lines changed

modules/dynamic-plugins/rhdh-supported-plugins.adoc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ a|
3131

3232
|Disabled
3333

34-
|AAP |@janus-idp/backstage-plugin-aap-backend |Backend |1.6.15 |Red Hat Tech Preview
34+
|Ansible Automation Platform (AAP) |@janus-idp/backstage-plugin-aap-backend |Backend |1.6.15 |Red Hat Tech Preview
3535
|./dynamic-plugins/dist/janus-idp-backstage-plugin-aap-backend-dynamic
3636
a|
3737
`AAP_BASE_URL`
@@ -117,7 +117,7 @@ a|
117117

118118
|Disabled
119119

120-
|Azure Repositories |@parfuemerie/douglas-scaffolder-backend-module-azure-repositories |Backend |0.2.7 |Community Support
120+
|Azure Repositories |@parfuemerie-douglas/scaffolder-backend-module-azure-repositories |Backend |0.2.7 |Community Support
121121
|./dynamic-plugins/dist/parfuemerie-douglas-scaffolder-backend-module-azure-repositories
122122
a|
123123
|Disabled
@@ -308,7 +308,7 @@ a|
308308
a|
309309
|Disabled
310310

311-
|OCM |@janus-idp/backstage-plugin-ocm-backend |Backend |4.0.8 |Production
311+
|OCM |@janus-idp/backstage-plugin-ocm-backend |Backend |4.0.9 |Production
312312
|./dynamic-plugins/dist/janus-idp-backstage-plugin-ocm-backend-dynamic
313313
a|
314314
`OCM_HUB_NAME`

modules/dynamic-plugins/rhdh-supported-plugins.csv

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
"Name","Plugin","Role","Version","Support Level","Path","Required Variables","Default"
22
"3scale ","@janus-idp/backstage-plugin-3scale-backend","Backend","1.5.15","Red Hat Tech Preview","./dynamic-plugins/dist/janus-idp-backstage-plugin-3scale-backend-dynamic","`THREESCALE_BASE_URL`;`THREESCALE_ACCESS_TOKEN`;","Disabled"
3-
"AAP ","@janus-idp/backstage-plugin-aap-backend","Backend","1.6.15","Red Hat Tech Preview","./dynamic-plugins/dist/janus-idp-backstage-plugin-aap-backend-dynamic","`AAP_BASE_URL`;`AAP_AUTH_TOKEN`;","Disabled"
3+
"Ansible Automation Platform (AAP) ","@janus-idp/backstage-plugin-aap-backend","Backend","1.6.15","Red Hat Tech Preview","./dynamic-plugins/dist/janus-idp-backstage-plugin-aap-backend-dynamic","`AAP_BASE_URL`;`AAP_AUTH_TOKEN`;","Disabled"
44
"ACR ","@janus-idp/backstage-plugin-acr","Frontend","1.4.13","Red Hat Tech Preview","./dynamic-plugins/dist/janus-idp-backstage-plugin-acr",";","Disabled"
55
"Analytics Provider Segment ","@janus-idp/backstage-plugin-analytics-provider-segment","Frontend","1.4.9","Production","./dynamic-plugins/dist/janus-idp-backstage-plugin-analytics-provider-segment","`SEGMENT_WRITE_KEY`;`SEGMENT_TEST_MODE`;","Enabled"
66
"Argo CD ","@janus-idp/backstage-plugin-argocd","Frontend","1.2.3","Production","./dynamic-plugins/dist/janus-idp-backstage-plugin-argocd",";","Disabled"
@@ -10,7 +10,7 @@
1010
"Azure ","@backstage/plugin-scaffolder-backend-module-azure","Backend","0.1.9","Community Support","./dynamic-plugins/dist/backstage-plugin-scaffolder-backend-module-azure-dynamic",";","Enabled"
1111
"Azure Devops ","@backstage/plugin-azure-devops","Frontend","0.4.4","Community Support","./dynamic-plugins/dist/backstage-plugin-azure-devops",";","Disabled"
1212
"Azure Devops ","@backstage/plugin-azure-devops-backend","Backend","0.6.5","Community Support","./dynamic-plugins/dist/backstage-plugin-azure-devops-backend-dynamic","`AZURE_TOKEN`;`AZURE_ORG`;","Disabled"
13-
"Azure Repositories ","@parfuemerie/douglas-scaffolder-backend-module-azure-repositories","Backend","0.2.7","Community Support","./dynamic-plugins/dist/parfuemerie-douglas-scaffolder-backend-module-azure-repositories",";","Disabled"
13+
"Azure Repositories ","@parfuemerie-douglas/scaffolder-backend-module-azure-repositories","Backend","0.2.7","Community Support","./dynamic-plugins/dist/parfuemerie-douglas-scaffolder-backend-module-azure-repositories",";","Disabled"
1414
"Bitbucket Cloud ","@backstage/plugin-catalog-backend-module-bitbucket-cloud","Backend","0.2.4","Community Support","./dynamic-plugins/dist/backstage-plugin-catalog-backend-module-bitbucket-cloud-dynamic","`BITBUCKET_WORKSPACE`;","Disabled"
1515
"Bitbucket Cloud ","@backstage/plugin-scaffolder-backend-module-bitbucket-cloud","Backend","0.1.7","Community Support","./dynamic-plugins/dist/backstage-plugin-scaffolder-backend-module-bitbucket-cloud-dynamic",";","Enabled"
1616
"Bitbucket Server ","@backstage/plugin-catalog-backend-module-bitbucket-server","Backend","0.1.31","Community Support","./dynamic-plugins/dist/backstage-plugin-catalog-backend-module-bitbucket-server-dynamic","`BITBUCKET_HOST`;","Disabled"
@@ -41,7 +41,7 @@
4141
"Lighthouse ","@backstage/plugin-lighthouse","Frontend","0.4.20","Community Support","./dynamic-plugins/dist/backstage-plugin-lighthouse",";","Disabled"
4242
"Nexus Repository Manager ","@janus-idp/backstage-plugin-nexus-repository-manager","Frontend","1.6.10","Red Hat Tech Preview","./dynamic-plugins/dist/janus-idp-backstage-plugin-nexus-repository-manager",";","Disabled"
4343
"OCM ","@janus-idp/backstage-plugin-ocm","Frontend","4.1.8","Production","./dynamic-plugins/dist/janus-idp-backstage-plugin-ocm",";","Disabled"
44-
"OCM ","@janus-idp/backstage-plugin-ocm-backend","Backend","4.0.8","Production","./dynamic-plugins/dist/janus-idp-backstage-plugin-ocm-backend-dynamic","`OCM_HUB_NAME`;`OCM_HUB_URL`;`moc_infra_token`;","Disabled"
44+
"OCM ","@janus-idp/backstage-plugin-ocm-backend","Backend","4.0.9","Production","./dynamic-plugins/dist/janus-idp-backstage-plugin-ocm-backend-dynamic","`OCM_HUB_NAME`;`OCM_HUB_URL`;`moc_infra_token`;","Disabled"
4545
"PagerDuty ","@pagerduty/backstage-plugin","Frontend","0.12.0","Community Support","./dynamic-plugins/dist/pagerduty-backstage-plugin",";","Disabled"
4646
"Quay ","@janus-idp/backstage-plugin-quay","Frontend","1.7.8","Production","./dynamic-plugins/dist/janus-idp-backstage-plugin-quay",";","Disabled"
4747
"Quay ","@janus-idp/backstage-scaffolder-backend-module-quay","Backend","1.4.12","Production","./dynamic-plugins/dist/janus-idp-backstage-scaffolder-backend-module-quay-dynamic",";","Enabled"

modules/dynamic-plugins/rhdh-supported-plugins.sh

Lines changed: 42 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/bin/bash
22

3-
# script to generate rhdh-supported-plugins.adoc from content in
3+
# script to generate rhdh-supported-plugins.adoc from content in
44
# https://github.com/janus-idp/backstage-plugins/tree/main/plugins/ */package.json
55
# https://github.com/janus-idp/backstage-showcase/tree/main/dynamic-plugins/wrappers/ */json
66

@@ -61,13 +61,15 @@ fi
6161
titlecase() {
6262
for f in ${*} ; do \
6363
case $f in
64+
aap) echo -n "Ansible Automation Platform (AAP) ";;
6465
# UPPERCASE these exceptions
65-
aap|acr|cd|ocm|rbac) echo -n "${f^^} ";;
66+
acr|cd|ocm|rbac) echo -n "${f^^} ";;
6667
# MixedCase exceptions
6768
argocd) echo -n "Argo CD ";;
6869
github) echo -n "GitHub ";;
6970
gitlab) echo -n "GitLab ";;
7071
jfrog) echo -n "JFrog ";;
72+
msgraph) echo -n "MS Graph ";;
7173
pagerduty) echo -n "PagerDuty ";;
7274
servicenow) echo -n "ServiceNow ";;
7375
sonarqube) echo -n "SonarQube ";;
@@ -79,13 +81,15 @@ titlecase() {
7981
}
8082

8183
# generate a list of plugin:version mapping from the following files
82-
# * dynamic-plugins/imports/package.json#.peerDependencies or .dependencies
83-
# * packages/app/package.json#.dependencies
84-
# * packages/backend/package.json#.dependencies
85-
pluginVersFile=/tmp/plugin-versions.txt
86-
jq -r '.peerDependencies' /tmp/backstage-showcase/dynamic-plugins/imports/package.json | grep -E -v "\"\*\"|\{|\}" | grep "@" | tr -d "," > $pluginVersFile
87-
jq -r '.dependencies' /tmp/backstage-showcase/packages/{app,backend}/package.json | grep -E -v "\"\*\"|\{|\}" | grep "@" | tr -d "," >> $pluginVersFile
88-
cat $pluginVersFile | sort -uV > $pluginVersFile.out; mv -f $pluginVersFile.out $pluginVersFile
84+
# * dynamic-plugins/imports/package.json#.peerDependencies or .dependencies
85+
# * packages/app/package.json#.dependencies
86+
# * packages/backend/package.json#.dependencies
87+
pluginVersFile=/tmp/plugin-versions.txt
88+
jq -r '.peerDependencies' /tmp/backstage-showcase/dynamic-plugins/imports/package.json | grep -E -v "\"\*\"|\{|\}" | grep "@" | tr -d "," > $pluginVersFile
89+
jq -r '.dependencies' /tmp/backstage-showcase/packages/{app,backend}/package.json | grep -E -v "\"\*\"|\{|\}" | grep "@" | tr -d "," >> $pluginVersFile
90+
cat $pluginVersFile | sort -uV > $pluginVersFile.out; mv -f $pluginVersFile.out $pluginVersFile
91+
92+
rm -fr /tmp/warnings.txt
8993

9094
# create arrays of adoc and csv content
9195
declare -A adoc
@@ -110,7 +114,9 @@ for j in $jsons; do
110114
# backstage-plugin-catalog-backend-module-bitbucket-cloud => @backstage/plugin-catalog-backend-module-bitbucket-cloud
111115
Plugin="${Name}"
112116
if [[ $Plugin != "@"* ]]; then # don't update janus-idp/backstage-plugins plugin names
113-
Plugin="$(echo "${Plugin}" | sed -r -e 's/([^-]+)-(.+)/\@\1\/\2/')"
117+
Plugin="$(echo "${Plugin}" | sed -r -e 's/([^-]+)-(.+)/\@\1\/\2/' \
118+
-e 's|backstage/community-|backstage-community/|' \
119+
-e 's|parfuemerie/douglas-|parfuemerie-douglas/|')"
114120
fi
115121

116122
# "dynamic-plugins/wrappers/backstage-plugin-catalog-backend-module-bitbucket-cloud" ==> ./dynamic-plugins/dist/backstage-plugin-catalog-backend-module-bitbucket-cloud-dynamic
@@ -132,17 +138,32 @@ for j in $jsons; do
132138
if [[ $found_in_default_config1 ]] || [[ $found_in_default_config2 ]] || [[ "$j" == *"/wrappers/"* ]]; then
133139

134140
Role=$(jq -r '.backstage.role' "$j")
135-
136-
Version=$(jq -r '.version' "$j")
141+
VersionJQ=$(jq -r '.version' "$j")
137142
# check this version against other references to the plugin in
138143
# * dynamic-plugins/imports/package.json#.peerDependencies or .dependencies
139144
# * packages/app/package.json#.dependencies
140145
# * packages/backend/package.json#.dependencies
141-
echo "[DEBUG] Check version of $Name is really $Version ..."
146+
echo "[DEBUG] Check version of $Name is really $VersionJQ (from Path = $Path)..."
142147
match=$(grep "\"$Name\": \"" $pluginVersFile || true)
148+
Version=$VersionJQ
143149
if [[ $match ]]; then
144150
Version=$(echo "${match}" | sed -r -e "s/.+\": \"([0-9.]+)\"/\1/")
145-
echo "[DEBUG] Updated version = $Version"
151+
echo "[WARN] !! Using $pluginVersFile version = $Version, not $VersionJQ from $Path" | tee -a /tmp/warnings.txt
152+
fi
153+
154+
# check if there's a newer version at npmjs.com and warn if so
155+
# for tags and associated repo digests (git head)
156+
# curl -sSLko- https://registry.npmjs.org/@janus-idp%2fcli | jq -r '.versions[]|(.version+", "+.gitHead)' | sort -uV
157+
# for timestamp when tag is created
158+
# curl -sSLko- https://registry.npmjs.org/@janus-idp%2fcli | jq -r '.time' | grep -v -E "created|modified|{|}" | sort -uV
159+
allVersionsPublished="$(curl -sSLko- "https://registry.npmjs.org/${Plugin/\//%2f}" | jq -r '.versions[].version')"
160+
# echo $allVersionsPublished
161+
# clean out any pre-release versions
162+
latestXYRelease="$(echo "$allVersionsPublished" | grep -v -E -- "next|alpha|-" | grep -E "^${Version%.*}" | sort -uV | tail -1)"
163+
echo "[DEBUG] Latest x.y version at https://registry.npmjs.org/${Plugin/\//%2f} : $latestXYRelease"
164+
if [[ "$latestXYRelease" != "$Version" ]]; then
165+
echo "[WARN] !! Newer $latestXYRelease > $Version - should upgrade to https://www.npmjs.com/package/$Plugin/v/$latestXYRelease !!" | tee -a /tmp/warnings.txt
166+
echo | tee -a /tmp/warnings.txt
146167
fi
147168

148169
# default to community unless it's a RH-authored plugin
@@ -184,10 +205,12 @@ for j in $jsons; do
184205

185206
# echo -n "Converting $Name"
186207
Name="$(echo "${Name}" | sed -r \
208+
-e "s@(pagerduty)-.+@\1@g" \
187209
-e "s@.+(-plugin-scaffolder-backend-module|backstage-scaffolder-backend-module)-(.+)@\2@g" \
188210
-e "s@.+(-plugin-catalog-module|-plugin-catalog-backend-module)-(.+)@\2@g" \
189211
-e "s@.+(-scaffolder-backend-module|-plugin-catalog-backend-module)-(.+)@\2@g" \
190212
-e "s@.+(-scaffolder-backend-module|-scaffolder-backend|backstage-plugin)-(.+)@\2@g" \
213+
-e "s@(backstage-community-plugin-)@@g" \
191214
-e "s@(backstage-plugin)-(.+)@\2@g" \
192215
-e "s@(.+)(-backstage-plugin)@\1@g" \
193216
-e "s@-backend@@g" \
@@ -293,3 +316,8 @@ popd >/dev/null || exit
293316

294317
# cleanup
295318
# rm -fr /tmp/backstage-plugins /tmp/backstage-showcase
319+
320+
warnings=$(grep -c "WARN" "/tmp/warnings.txt")
321+
if [[ $warnings -gt 0 ]]; then
322+
echo; echo "[WARN] $warnings warnings collected in /tmp/warnings.txt ! Consider upgrading upstream project to newer plugin versions !"
323+
fi

0 commit comments

Comments
 (0)