Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable GitHub Actions workflow to automate new release updates #557

Merged
merged 7 commits into from
Oct 31, 2023
Merged
62 changes: 62 additions & 0 deletions .github/workflows/update_files_for_release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
# This workflow is triggered by manual inputs.

name: Update files for the new release

on:
workflow_dispatch:
inputs:
OLD_VERSION:
description: 'Enter old version'
# Show defaults as examples so user enters correct format.
default: '23.0.0.11'
required: true
type: string
NEW_VERSION:
description: 'Enter new version'
default: '23.0.0.12'
required: true
type: string
BUILD_LABEL:
description: 'Enter build label of release driver'
default: 'replace_with_gm_driver_label'
required: false
type: string

jobs:
automate_release_updates:
runs-on: ubuntu-latest

steps:
- name: Show useful information about the workflow environment
run: echo "🔎 This workflow is running in branch ${{ github.ref }} and repository ${{ github.repository }}."

# This repository and branch to clone and checkout on runner
# could be different than repo and branch where workflow runs.
# Be aware of this nuance.
- name: Check out repository code to runner
uses: actions/checkout@v4
with:
ref: vNext
repository: WASdev/ci.docker

- name: Run update script
run: bash ./create-new-release.sh ${{ inputs.OLD_VERSION }} ${{ inputs.NEW_VERSION }} ${{ inputs.BUILD_LABEL }}

- name: Commit changes
uses: EndBug/add-and-commit@v9
with:
default_author: github_actions
author_name: GitHub Actions
message: "Updates for the release of ${{ inputs.NEW_VERSION }}"
add: '${{ github.workspace }}/ga/* ${{ github.workspace }}/.travis.yml'
new_branch: "${{ inputs.NEW_VERSION }}-release"
push: true
tag_push: '--force'

- name: Create Pull Request
run: |
gh pr create -B vNext -H "${{ inputs.NEW_VERSION }}-release" -r mbroz2 -r leochr --title "Updates for the release of ${{ inputs.NEW_VERSION }}" --body "Created by Github Actions"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- run: echo "🍏 This job's status is ${{ job.status }}."