Skip to content
Snippets Groups Projects
Unverified Commit 9daad146 authored by Tim Macdonald's avatar Tim Macdonald Committed by GitHub
Browse files

Add Github Action to set version-info's announcement_url (#33642)


Co-authored-by: default avatarRyan Laurie <iethree@gmail.com>
parent 47a52b57
Branches
Tags
No related merge requests found
name: Set Announcement URL
run-name: Set Announcement URL - ${{ inputs.announcement-url }}
on:
workflow_dispatch:
inputs:
announcement-url:
description: 'The URL of the announcement'
type: string
required: true
jobs:
set-announce-url:
runs-on: ubuntu-22.04
timeout-minutes: 15
steps:
- name: Validate input
if: ${{ !startsWith(inputs.announcement-url, 'http') }}
run: |
echo "announcement url must be a valid URL, got: ${{ inputs.announcement-url }}"
exit 1
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v3
with:
aws-access-key-id: ${{ secrets.AWS_S3_RELEASE_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_S3_RELEASE_SECRET_ACCESS_KEY }}
aws-region: ${{ vars.AWS_REGION }}
- name: Update announcement url
uses: actions/github-script@v6
id: announce_url
with:
result-encoding: string
script: |
// TODO: move this to the release/ directory when it exists
const fs = require('fs');
const announcementUrl = '${{ inputs.announcement-url }}';
const OSSversionInfo = await fetch(`http://${{ vars.AWS_S3_STATIC_BUCKET }}.s3.${{ vars.AWS_REGION }}.amazonaws.com/version-info.json`).then(r => r.json());
const EEversionInfo = await fetch(`http://${{ vars.AWS_S3_STATIC_BUCKET }}.s3.${{ vars.AWS_REGION }}.amazonaws.com/version-info-ee.json`).then(r => r.json());
OSSversionInfo.latest.announcement_url = announcementUrl;
EEversionInfo.latest.announcement_url = announcementUrl;
if (!OSSversionInfo.older.length || !EEversionInfo.older.length) {
throw new Error('No older versions found in version-info.json');
}
fs.writeFileSync('version-info.json', JSON.stringify(OSSversionInfo));
fs.writeFileSync('version-info-ee.json', JSON.stringify(EEversionInfo));
- name: Upload new version-info.json to s3
run: |
aws s3 cp version-info.json s3://${{ vars.AWS_S3_STATIC_BUCKET }}/version-info.json
aws s3 cp version-info-ee.json s3://${{ vars.AWS_S3_STATIC_BUCKET }}/version-info-ee.json
- name: Create cloudfront invalidation for version-info.json and version-info-ee.json
run: |
aws cloudfront create-invalidation \
--distribution-id ${{ vars.AWS_CLOUDFRONT_STATIC_ID }} \
--paths "/version-info.json" "/version-info-ee.json"
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment