Ephemeral instances: PR comment #80
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: 'Ephemeral instances: PR comment' | |
on: | |
issue_comment: | |
types: [created] | |
push: | |
jobs: | |
config: | |
runs-on: "ubuntu-latest" | |
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: Setup Go | |
uses: actions/setup-go@v4 | |
with: | |
go-version: '>=1.20' | |
- 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: Get latest grafana version number | |
run: | | |
# if package.json contains e.g. 11.0.0-pre, this writes 11.0.0 to version.txt | |
ls -la $GITHUB_WORKSPACE | |
cat 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 package.json and some metadata from the github event. | |
v=$(cat version.txt) | |
export GRAFANA_VERSION="$v-ephemeral-${{ github.event.issue.number}}-${{ github.run_number }}-${{ github.run_attempt }}" | |
echo "${GRAFANA_VERSION}" | |
cd $GITHUB_WORKSPACE/ephemeral/src | |
go run . \ | |
-GITHUB_TOKEN="${{ steps.generate_token.outputs.token }}" \ | |
-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" \ | |
-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 |