Skip to content

Update DEV_GUIDE.md #110

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jul 11, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions DEV_GUIDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,3 +48,27 @@ docker run -d -p 9000:9000 -p 8812:8812 --name secure-questdb-server --ulimit no
docker exec -it secure-questdb-server bash
cp /var/lib/questdb/conf/keys/my-own-ca.crt /usr/local/share/ca-certificates/root.ca.crt
update-ca-certificates

## Building the release artifact

⚠️ **Important:** The plugin has to be built from the `main` branch, if intended to be released into Grafana as version update. This is because the automated review process task compares the source tree inside the artifact with the current `main` branch of the repo, and fails if they don't match.

The final plugin artifact has to be signed either by a key using the [@grafana/sign-plugin](https://www.npmjs.com/package/@grafana/sign-plugin) tool. The script needs `GRAFANA_ACCESS_POLICY_TOKEN` ENV variable to be set before hand - it can be obtained in Grafana Cloud's personal account.

By default, all the assets are built into `dist` directory, which does not match the Grafana's required one, which should match the plugin ID (in this case, `questdb-questdb-datasource`). Therefore, we need to proceed as following:

```sh
export GRAFANA_ACCESS_POLICY_TOKEN=your_token
nvm use 20
yarn build
mage -v buildAll
cp -r dist/ questdb-questdb-datasource
npx @grafana/sign-plugin@latest --distDir questdb-questdb-datasource
zip -r questdb-questdb-datasource.zip questdb-questdb-datasource -r
md5 questdb-questdb-datasource.zip
rm -rf questdb-questdb-datasource
```

`md5` checksum is needed only during the process of releasing the plugin version update in Grafana Cloud.

If intended to release into Grafana, the ZIP file has to be uploaded into a publicly available server (i.e. S3 bucket), since the link to it has to be provided during the update process.
Loading