-
Notifications
You must be signed in to change notification settings - Fork 9
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 #26 from sympatheticmoose/master
adds CI, release and compatibility check workflows
- Loading branch information
Showing
4 changed files
with
129 additions
and
0 deletions.
There are no files selected for viewing
Empty file.
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,90 @@ | ||
name: CI | ||
|
||
on: | ||
push: | ||
branches: | ||
- master | ||
- main | ||
pull_request: | ||
branches: | ||
- master | ||
- main | ||
|
||
jobs: | ||
build: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- name: Setup Node.js environment | ||
uses: actions/setup-node@v3 | ||
with: | ||
node-version: '20' | ||
cache: 'yarn' | ||
|
||
- name: Install dependencies | ||
run: yarn install --immutable --prefer-offline | ||
|
||
- name: Check types | ||
run: yarn run typecheck | ||
- name: Lint | ||
run: yarn run lint | ||
- name: Unit tests | ||
run: yarn run test:ci | ||
- name: Build frontend | ||
run: yarn run build | ||
|
||
- name: Check for backend | ||
id: check-for-backend | ||
run: | | ||
if [ -f "Magefile.go" ] | ||
then | ||
echo "has-backend=true" >> $GITHUB_OUTPUT | ||
fi | ||
- name: Setup Go environment | ||
if: steps.check-for-backend.outputs.has-backend == 'true' | ||
uses: actions/setup-go@v3 | ||
with: | ||
go-version: '1.21' | ||
|
||
- name: Test backend | ||
if: steps.check-for-backend.outputs.has-backend == 'true' | ||
uses: magefile/mage-action@v2 | ||
with: | ||
version: latest | ||
args: coverage | ||
|
||
- name: Build backend | ||
if: steps.check-for-backend.outputs.has-backend == 'true' | ||
uses: magefile/mage-action@v2 | ||
with: | ||
version: latest | ||
args: buildAll | ||
|
||
- name: Check for E2E | ||
id: check-for-e2e | ||
run: | | ||
if [ -d "cypress" ] | ||
then | ||
echo "has-e2e=true" >> $GITHUB_OUTPUT | ||
fi | ||
- name: Start grafana docker | ||
if: steps.check-for-e2e.outputs.has-e2e == 'true' | ||
run: docker-compose up -d | ||
|
||
- name: Run e2e tests | ||
if: steps.check-for-e2e.outputs.has-e2e == 'true' | ||
run: yarn run e2e | ||
|
||
- name: Stop grafana docker | ||
if: steps.check-for-e2e.outputs.has-e2e == 'true' | ||
run: docker-compose down | ||
|
||
- name: Archive E2E output | ||
uses: actions/upload-artifact@v3 | ||
if: steps.check-for-e2e.outputs.has-e2e == 'true' && steps.run-e2e-tests.outcome != 'success' | ||
with: | ||
name: cypress-videos | ||
path: cypress/videos | ||
retention-days: 5 |
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,19 @@ | ||
name: Latest Grafana API compatibility check | ||
on: [pull_request] | ||
|
||
jobs: | ||
compatibilitycheck: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- name: Setup Node.js environment | ||
uses: actions/setup-node@v3 | ||
with: | ||
node-version: '20' | ||
cache: 'yarn' | ||
- name: Install dependencies | ||
run: yarn install --immutable --prefer-offline | ||
- name: Build plugin | ||
run: yarn run build | ||
- name: Compatibility check | ||
run: npx @grafana/levitate@latest is-compatible --path src/module.ts --target @grafana/data,@grafana/ui,@grafana/runtime |
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,20 @@ | ||
name: Release | ||
|
||
on: | ||
push: | ||
tags: | ||
- 'v*' # Run workflow on version tags, e.g. v1.0.0. | ||
|
||
jobs: | ||
release: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- uses: grafana/plugin-actions/build-plugin@release | ||
# uncomment to enable plugin sign in | ||
#with: | ||
# see https://grafana.com/developers/plugin-tools/publish-a-plugin/sign-a-plugin#generate-an-access-policy-token to generate it | ||
# save the value in your repository secrets | ||
#policy_token: $ | ||
#usage of GRAFANA_API_KEY is deprecated prefer policy_token | ||
#grafana_token: $ |