mirror of
https://github.com/grafana/grafana.git
synced 2024-11-28 19:54:10 -06:00
20c90ff60d
* chore: bump Go to 1.22.4 Signed-off-by: Dave Henderson <dave.henderson@grafana.com> * use go-version-file for ephemeral instances workflows too Signed-off-by: Dave Henderson <dave.henderson@grafana.com> --------- Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
86 lines
3.4 KiB
YAML
86 lines
3.4 KiB
YAML
name: 'Ephemeral instances: PR comment'
|
|
on:
|
|
issue_comment:
|
|
types: [created]
|
|
jobs:
|
|
config:
|
|
if: github.event.sender.type == 'User' &&
|
|
github.event.issue.pull_request &&
|
|
startsWith(github.event.comment.body, '/deploy-to-hg')
|
|
runs-on:
|
|
labels: ubuntu-latest-8-cores
|
|
outputs:
|
|
has-secrets: ${{ steps.check.outputs.has-secrets }}
|
|
steps:
|
|
- name: "Check for secrets"
|
|
id: check
|
|
shell: bash
|
|
run: |
|
|
if [ -n "${{ (secrets.EI_APP_ID != '' &&
|
|
secrets.EI_APP_PRIVATE_KEY != '' &&
|
|
secrets.EI_GCOM_HOST != '' &&
|
|
secrets.EI_GCOM_TOKEN != '' &&
|
|
secrets.EI_EPHEMERAL_INSTANCES_REGISTRY != '' &&
|
|
secrets.EI_GCP_SERVICE_ACCOUNT_KEY_BASE64 != '' &&
|
|
secrets.EI_EPHEMERAL_ORG_ID != ''
|
|
) || '' }}" ]; then
|
|
echo "has-secrets=1" >> "$GITHUB_OUTPUT"
|
|
fi
|
|
|
|
handle-pull-request-event:
|
|
needs: config
|
|
if: needs.config.outputs.has-secrets &&
|
|
github.event.sender.type == 'User' &&
|
|
github.event.issue.pull_request &&
|
|
startsWith(github.event.comment.body, '/deploy-to-hg')
|
|
runs-on:
|
|
labels: ubuntu-latest-8-cores
|
|
continue-on-error: true
|
|
steps:
|
|
- name: Generate a GitHub app installation token
|
|
id: generate_token
|
|
uses: tibdex/github-app-token@b62528385c34dbc9f38e5f4225ac829252d1ea92
|
|
with:
|
|
app_id: ${{ secrets.EI_APP_ID }}
|
|
private_key: ${{ secrets.EI_APP_PRIVATE_KEY }}
|
|
|
|
- name: Checkout ephemeral instances repository
|
|
uses: actions/checkout@v4
|
|
with:
|
|
repository: grafana/ephemeral-grafana-instances-github-action
|
|
token: ${{ steps.generate_token.outputs.token }}
|
|
ref: main
|
|
path: ephemeral
|
|
|
|
- name: Setup Go
|
|
uses: actions/setup-go@v4
|
|
with:
|
|
go-version-file: ephemeral/go.mod
|
|
|
|
- name: Get latest grafana version number
|
|
run: |
|
|
# if package.json contains e.g. 11.0.0-pre, this writes 11.0.0 to version.txt
|
|
curl https://raw.githubusercontent.com/grafana/grafana/main/package.json | jq -r .version | grep -o '^[0-9\.]*' > version.txt
|
|
|
|
- name: Run action
|
|
env:
|
|
GITHUB_EVENT: ${{ toJson(github.event)}}
|
|
run: |
|
|
# Create a prerelease version number using the latest version from the package.json in the grafana repo.
|
|
export GRAFANA_VERSION="$(cat version.txt)"
|
|
echo "${GRAFANA_VERSION}"
|
|
|
|
cd $GITHUB_WORKSPACE/ephemeral/src
|
|
go run . \
|
|
-GITHUB_TOKEN="${{ steps.generate_token.outputs.token }}" \
|
|
-GITHUB_WORKFLOW_RUN_ID="${{ github.run_id }}" \
|
|
-GITHUB_EVENT="$GITHUB_EVENT" \
|
|
-GITHUB_TRIGGERING_ACTOR="${{ github.triggering_actor }}" \
|
|
-GCOM_HOST="${{ secrets.EI_GCOM_HOST }}" \
|
|
-GCOM_TOKEN="${{ secrets.EI_GCOM_TOKEN }}" \
|
|
-HOSTED_GRAFANA_IMAGE_TAG="$GRAFANA_VERSION-ephemeral-oss-${{ github.event.issue.number}}-${{ github.run_number }}-${{ github.run_attempt }}" \
|
|
-REGISTRY="${{ secrets.EI_EPHEMERAL_INSTANCES_REGISTRY }}" \
|
|
-GRAFANA_VERSION="$GRAFANA_VERSION" \
|
|
-GCP_SERVICE_ACCOUNT_KEY_BASE64="${{ secrets.EI_GCP_SERVICE_ACCOUNT_KEY_BASE64 }}" \
|
|
-EPHEMERAL_ORG_ID="${{ secrets.EI_EPHEMERAL_ORG_ID }}" || true
|