@@ -3,7 +3,7 @@ name: Release
3
3
on :
4
4
push :
5
5
tags :
6
- - ' v*'
6
+ - ' v*' # Run workflow on version tags, e.g. v1.0.0.
7
7
8
8
jobs :
9
9
release :
@@ -26,19 +26,22 @@ jobs:
26
26
- name : Sign plugin
27
27
run : npx @grafana/toolkit@canary plugin:sign
28
28
env :
29
- GRAFANA_API_KEY : ${{ secrets.GRAFANA_API_KEY }}
29
+ GRAFANA_API_KEY : ${{ secrets.GRAFANA_API_KEY }} # Requires a Grafana API key from Grafana.com.
30
30
31
31
- name : Get plugin information
32
32
run : |
33
33
sudo apt-get install jq
34
34
35
35
export GRAFANA_PLUGIN_ID=$(cat dist/plugin.json | jq -r .id)
36
36
export GRAFANA_PLUGIN_VERSION=$(cat dist/plugin.json | jq -r .info.version)
37
+ export GRAFANA_PLUGIN_TYPE=$(cat dist/plugin.json | jq -r .type)
37
38
export GRAFANA_PLUGIN_ARTIFACT=${GRAFANA_PLUGIN_ID}-${GRAFANA_PLUGIN_VERSION}.zip
38
39
export GRAFANA_PLUGIN_ARTIFACT_CHECKSUM=${GRAFANA_PLUGIN_ARTIFACT}.md5
39
40
41
+ # Output to $GITHUB_ENV to be able to use the variables in next steps.
40
42
echo "GRAFANA_PLUGIN_ID=${GRAFANA_PLUGIN_ID}" >> $GITHUB_ENV
41
43
echo "GRAFANA_PLUGIN_VERSION=${GRAFANA_PLUGIN_VERSION}" >> $GITHUB_ENV
44
+ echo "GRAFANA_PLUGIN_TYPE=${GRAFANA_PLUGIN_TYPE}" >> $GITHUB_ENV
42
45
echo "GRAFANA_PLUGIN_ARTIFACT=${GRAFANA_PLUGIN_ARTIFACT}" >> $GITHUB_ENV
43
46
echo "GRAFANA_PLUGIN_ARTIFACT_CHECKSUM=${GRAFANA_PLUGIN_ARTIFACT_CHECKSUM}" >> $GITHUB_ENV
44
47
47
50
mv dist $GRAFANA_PLUGIN_ID
48
51
zip $GRAFANA_PLUGIN_ARTIFACT $GRAFANA_PLUGIN_ID -r
49
52
md5sum $GRAFANA_PLUGIN_ARTIFACT > $GRAFANA_PLUGIN_ARTIFACT_CHECKSUM
50
- ls
51
53
52
54
- name : Create release
53
55
id : create_release
60
62
draft : false
61
63
prerelease : false
62
64
63
- - name : Upload plugin
65
+ - name : Add plugin to release
66
+ id : upload-plugin-asset
64
67
uses : actions/upload-release-asset@v1
65
68
env :
66
69
GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
70
73
asset_name : ${{ env.GRAFANA_PLUGIN_ARTIFACT }}
71
74
asset_content_type : application/zip
72
75
73
- - name : Upload plugin checksum
76
+ - name : Add checksum to release
77
+ id : upload-checksum-asset
74
78
uses : actions/upload-release-asset@v1
75
79
env :
76
80
GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
79
83
asset_path : ./${{ env.GRAFANA_PLUGIN_ARTIFACT_CHECKSUM }}
80
84
asset_name : ${{ env.GRAFANA_PLUGIN_ARTIFACT_CHECKSUM }}
81
85
asset_content_type : text/plain
86
+
87
+ - name : Get checksum
88
+ run : |
89
+ echo "GRAFANA_PLUGIN_CHECKSUM=$(cat ./${{ env.GRAFANA_PLUGIN_ARTIFACT_CHECKSUM }} | cut -d' ' -f1)" >> $GITHUB_ENV
90
+
91
+ - name : Publish to Grafana.com
92
+ run : |
93
+ echo Publish your plugin to grafana.com/plugins by opening a PR to https://github.com/grafana/grafana-plugin-repository with the following entry:
94
+ echo
95
+ echo '{ "id": "${{ env.GRAFANA_PLUGIN_ID }}", "type": "${{ env.GRAFANA_PLUGIN_TYPE }}", "url": "https://github.com/${{ github.repository }}", "versions": [ { "version": "${{ env.GRAFANA_PLUGIN_VERSION }}", "commit": "${{ github.sha }}", "url": "https://github.com/${{ github.repository }}", "download": { "any": { "url": "${{ steps.upload-plugin-asset.outputs.browser_download_url }}", "md5": "${{ env.GRAFANA_PLUGIN_CHECKSUM }}" } } } ] }' | jq .
0 commit comments