Release notifier #605
Workflow file for this run
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
name: Create Docker image for local testing | |
on: | |
pull_request: | |
types: [opened, reopened, synchronize] | |
branches: | |
- main | |
permissions: | |
pull-requests: write | |
issues: write | |
jobs: | |
build: | |
name: Build and archive plugin build artifacts | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: true | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Node.js environment | |
uses: actions/setup-node@v4 | |
with: | |
node-version-file: .nvmrc | |
- name: Install Go environment | |
uses: actions/setup-go@v5 | |
with: | |
go-version: 'stable' | |
- name: Install yarn dependencies | |
run: yarn install | |
env: | |
NODE_OPTIONS: '--max_old_space_size=4096' | |
- name: Build | |
run: go build -v ./... | |
- name: Build Frontend | |
run: yarn build | |
env: | |
NODE_OPTIONS: '--max_old_space_size=4096' | |
- name: Archive plugin build artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: plugin-dist | |
path: | | |
dist | |
retention-days: 1 | |
push_to_registry: | |
name: Push Docker image to Docker Hub | |
runs-on: ubuntu-latest | |
needs: build | |
steps: | |
- name: Download plugin build artifacts | |
uses: actions/download-artifact@v4 | |
id: download | |
with: | |
name: plugin-dist | |
- name: Generate Dockerfile | |
shell: bash | |
run: | | |
echo "FROM grafana/grafana-oss:latest | |
# Make it as simple as possible to access the grafana instance for development purposes | |
# Do NOT enable these settings in a public facing / production grafana instance | |
ENV GF_AUTH_ANONYMOUS_ORG_ROLE "Admin" | |
ENV GF_AUTH_ANONYMOUS_ENABLED "true" | |
ENV GF_AUTH_BASIC_ENABLED "false" | |
# Set development mode so plugins can be loaded without the need to sign | |
ENV GF_DEFAULT_APP_MODE "development" | |
# TODO: Cleanup script should remove images from closed PRs using these labels | |
LABEL gh-sha="${{ github.event.pull_request.head.sha }}" | |
LABEL gh-repo="${{ github.event.repository.name }}" | |
LABEL gh-pr-number="${{ github.event.number }}" | |
# Copy plugin build artifacts into the image | |
COPY . /var/lib/grafana/plugins/${{ github.event.repository.name }}/" > Dockerfile | |
- name: Log in to Docker Hub | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Build and push Docker image | |
uses: docker/build-push-action@v6 | |
with: | |
context: . | |
file: ./Dockerfile | |
push: true | |
tags: grafana/plugin-builds:${{ github.event.pull_request.head.sha }}pre | |
add_pr_comment: | |
name: Add PR comment | |
runs-on: ubuntu-latest | |
needs: push_to_registry | |
steps: | |
- name: Find previous comment (if any) | |
uses: peter-evans/find-comment@v3 | |
id: fc | |
with: | |
issue-number: ${{ github.event.number }} | |
body-includes: Use the following command to run this PR with Docker | |
- name: Update comment on PR | |
if: steps.fc.outputs.comment-id != '' | |
uses: peter-evans/create-or-update-comment@v4 | |
with: | |
comment-id: ${{ steps.fc.outputs.comment-id }} | |
edit-mode: replace | |
issue-number: ${{ github.event.number }} | |
body: | | |
Use the following command to run this PR with Docker at http://localhost:3000: | |
``` | |
docker run --rm -p 3000:3000 grafana/plugin-builds:${{ github.event.pull_request.head.sha }}pre | |
``` | |
- name: Add comment to PR | |
if: steps.fc.outputs.comment-id == '' | |
uses: peter-evans/create-or-update-comment@v4 | |
with: | |
issue-number: ${{ github.event.number }} | |
body: | | |
Use the following command to run this PR with Docker at http://localhost:3000: | |
``` | |
docker run --rm -p 3000:3000 grafana/plugin-builds:${{ github.event.pull_request.head.sha }}pre | |
``` |