Skip to content

Create Release PR

Create Release PR #130

# © 2023 SolarWinds Worldwide, LLC. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at:http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
name: Create Release PR
on:
workflow_dispatch:
inputs:
version:
description: 'Semantic version of release (e.g. 1.0.0)'
required: true
env:
RELEASE_VERSION: ${{ github.event.inputs.version }}
RELEASE_NAME: rel-${{ github.event.inputs.version }}
jobs:
create_release_pr:
runs-on: ubuntu-latest
permissions:
pull-requests: write
contents: write
steps:
- uses: actions/checkout@v4
- name: Initialize git
run: |
git config user.name "GitHub Actions"
git config user.email noreply@github.com
- name: Check that tag does not exist yet
run: |
git fetch --tags --quiet
if git show-ref --tags ${{ env.RELEASE_NAME }} --quiet; then
echo "FATAL ERROR: Release tag ${{ env.RELEASE_NAME }} already exists!"
exit 1
fi
- name: Create release branch
run: git checkout -b release/${{ env.RELEASE_NAME }}
- name: Update agent version
run: sed -i -e "s/^__version__ = \".*\"$/__version__ = \"${{ env.RELEASE_VERSION }}\"/" solarwinds_apm/version.py
- name: Commit version.py
run: |
git add solarwinds_apm/version.py
git commit --message "Update agent version to ${{ env.RELEASE_VERSION }}"
- name: Push new release branch to remote repositories
run: git push origin release/${{ env.RELEASE_NAME }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Open draft Pull Request for version bump
run: gh pr create --draft --title "solarwinds-apm ${{ env.RELEASE_VERSION }}" --body "For PyPI release of solarwinds-apm ${{ env.RELEASE_VERSION }}. See also CHANGELOG.md."
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}