Skip to content

Commit

Permalink
Upgrade workflows for repo and allow for version updates/prep
Browse files Browse the repository at this point in the history
  • Loading branch information
sclark3-godaddy committed Mar 2, 2024
1 parent 8ad793c commit f7e01f4
Show file tree
Hide file tree
Showing 4 changed files with 175 additions and 5 deletions.
84 changes: 84 additions & 0 deletions .github/workflows/prepare-release-branch.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
name: Prepare Release Branch
env:
PR_PREFIX: 'Pods Gravity Forms '
PR_LABELS: 'Type: Release'
MILESTONE_PREFIX: 'Pods Gravity Forms '
BRANCH_PREFIX: 'release/'
WPORG_PLUGIN_FILE: 'pods-gravity-forms.php'
WPORG_PLUGIN_VERSION_CONSTANT_NAME: 'PODS_GF_VERSION'
on:
workflow_dispatch:
inputs:
new_plugin_version:
description: 'New plugin version (without the "-a-1"), defaults to the next incremental version from package.json'
required: false
version_increment:
description: 'OR Version increment scheme (if incrementing the package.json version; patch=x.x.x, minor=x.x, major=x.0)'
required: true
type: choice
default: 'patch'
options:
- 'major'
- 'minor'
- 'patch'
jobs:
prepare_release_branch:
runs-on: ubuntu-latest
steps:
- name: Checkout the code
uses: actions/checkout@v4
with:
token: ${{ secrets.GH_BOT_PUSH }}
- name: Maybe use the version number from inputs
if: ${{ github.event.inputs.new_plugin_version != null && github.event.inputs.new_plugin_version != '' }}
shell: bash
run: |
echo "PLUGIN_VERSION=${{ github.event.inputs.new_plugin_version }}" >> $GITHUB_ENV
- name: Maybe lookup the version number from package.json
id: version-lookup
if: ${{ github.event.inputs.new_plugin_version == null || github.event.inputs.new_plugin_version == '' }}
shell: bash
run: |
echo "CURRENT_VERSION=$(jq -r .version package.json)" >> $GITHUB_OUTPUT
- name: Maybe get the next version information
if: ${{ steps.version-lookup.outputs.CURRENT_VERSION != null && steps.version-lookup.outputs.CURRENT_VERSION != '' }}
uses: reecetech/[email protected]
id: version-increment
with:
scheme: semver
increment: ${{ github.event.inputs.version_increment }}
- name: Maybe store the next version
if: ${{ steps.version-increment.outputs.version != null && steps.version-increment.outputs.version != '' }}
shell: bash
run: |
echo "PLUGIN_VERSION=${{ steps.version-increment.outputs.version }}" >> $GITHUB_ENV
- name: What are we doing?
run: |
echo PLUGIN_VERSION: ${{ env.PLUGIN_VERSION }}
- name: Run wporg-replace
uses: sc0ttkclark/[email protected]
with:
plugin_version: '${{ env.PLUGIN_VERSION }}-a-1'
plugin_version_constant_name: ${{ env.WPORG_PLUGIN_VERSION_CONSTANT_NAME }}
plugin_file: ${{ env.WPORG_PLUGIN_FILE }}
plugin_path: ${{ github.workspace }}
- name: Create Milestone
id: create-milestone
uses: WyriHaximus/[email protected]
continue-on-error: true
with:
title: '${{ env.MILESTONE_PREFIX }}${{ env.PLUGIN_VERSION }}'
env:
GITHUB_TOKEN: ${{ secrets.GH_BOT_PUSH }}
- name: Create Pull Request
id: create-pull-request
uses: peter-evans/[email protected]
with:
token: ${{ secrets.GH_BOT_PUSH }}
branch: '${{ env.BRANCH_PREFIX }}${{ env.PLUGIN_VERSION }}'
commit-message: 'Set version to ${{ env.PLUGIN_VERSION }}-a-1'
title: '${{ env.PR_PREFIX }}${{ env.PLUGIN_VERSION }}'
labels: ${{ env.PR_LABELS }}
assignees: ${{ github.actor }}
milestone: ${{ steps.create-milestone.outputs.number }}
draft: true
13 changes: 8 additions & 5 deletions .github/workflows/wordpress-plugin-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,18 +7,21 @@ jobs:
name: New tag
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- name: Check the version number from package.json
shell: bash
run: echo "PLUGIN_VERSION=$(jq -r .version package.json)" >> $GITHUB_ENV
- name: Checkout the code
uses: actions/checkout@v4
- name: WordPress Plugin Deploy
uses: 10up/action-wordpress-plugin-deploy@master
env:
SVN_PASSWORD: ${{ secrets.SVN_PASSWORD }}
SVN_USERNAME: ${{ secrets.SVN_USERNAME }}
VERSION: ${{ env.PLUGIN_VERSION }}
- name: Send message to Slack API
uses: archive/github-actions-slack@v2.0.0
uses: archive/github-actions-slack@v2.7.0
id: notify
with:
slack-bot-user-oauth-access-token: ${{ secrets.SLACK_BOT_USER_OAUTH_ACCESS_TOKEN }}
slack-channel: C02SWND14
slack-text: The pods-gravity-forms tag has been deployed to svn.wordpress.org 🎉
- name: Output Slack response
run: echo "The result was ${{ steps.notify.outputs.slack-result }}"
slack-text: The ${{ github.event.repository.name }} tag has been deployed to svn.wordpress.org 🎉
64 changes: 64 additions & 0 deletions .github/workflows/wporg-update-versions.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
name: WordPress.org Update Versions
env:
WPORG_PLUGIN_FILE: 'pods-gravity-forms.php'
WPORG_PLUGIN_VERSION_CONSTANT_NAME: 'PODS_GF_VERSION'
on:
workflow_dispatch:
inputs:
plugin_version:
description: 'Plugin version'
required: false
tested_wp_version:
description: 'Tested up to WP version'
required: false
minimum_wp_version:
description: 'Minimum WP version'
required: false
minimum_php_version:
description: 'Minimum PHP version'
required: false
minimum_mysql_version:
description: 'Minimum MySQL version'
required: false
pull_request:
paths:
- 'package.json'
jobs:
wporg_replace:
runs-on: ubuntu-latest
steps:
- name: What are we doing?
run: |
echo plugin_version: ${{ github.event.inputs.plugin_version }}
echo tested_wp_version: ${{ github.event.inputs.tested_wp_version }}
echo minimum_wp_version: ${{ github.event.inputs.minimum_wp_version }}
echo minimum_php_version: ${{ github.event.inputs.minimum_php_version }}
- name: Checkout the code
uses: actions/checkout@v4
with:
token: ${{ secrets.GH_BOT_PUSH }}
- name: Check the version number from package.json
shell: bash
run: echo "PLUGIN_VERSION=$(jq -r .version package.json)" >> $GITHUB_ENV
- name: Run wporg-replace
uses: sc0ttkclark/[email protected]
with:
plugin_version: ${{ (github.event.inputs.plugin_version != '') && github.event.inputs.plugin_version || env.PLUGIN_VERSION }}
plugin_version_constant_name: ${{ env.WPORG_PLUGIN_VERSION_CONSTANT_NAME }}
tested_wp_version: ${{ github.event.inputs.tested_wp_version }}
minimum_wp_version: ${{ github.event.inputs.minimum_wp_version }}
minimum_php_version: ${{ github.event.inputs.minimum_php_version }}
plugin_file: ${{ env.WPORG_PLUGIN_FILE }}
plugin_path: ${{ github.workspace }}
- name: Commit changes
id: auto-commit-action
uses: stefanzweifel/git-auto-commit-action@v4
with:
file_pattern: ${{ env.WPORG_PLUGIN_FILE }} readme.txt package.json
commit_message: Update wporg version(s)
- name: "Run if changes have been detected"
if: steps.auto-commit-action.outputs.changes_detected == 'true'
run: echo "Changes!"
- name: "Run if no changes have been detected"
if: steps.auto-commit-action.outputs.changes_detected == 'false'
run: echo "No Changes!"
19 changes: 19 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"name": "pods-gravity-forms",
"version": "1.4.5",
"description": "PIntegration with Gravity Forms; Provides a UI for mapping a Form's submissions into a Pod.",
"author": "Pods Foundation, Inc",
"homepage": "https://pods.io/",
"bugs": "https://github.com/pods-framework/pods-gravity-forms/issues",
"repository": {
"type": "git",
"url": "git://github.com/pods-framework/pods-gravity-forms.git"
},
"support": "https://support.pods.io/",
"funding": {
"type": "individual",
"url": "https://friends.pods.io/"
},
"license": "GPL-2.0+",
"contributors": "https://github.com/pods-framework/pods-gravity-forms/graphs/contributors"
}

0 comments on commit f7e01f4

Please sign in to comment.