Skip to content

Create latest release channel - 1 #1

Create latest release channel - 1

Create latest release channel - 1 #1

name: Latest Release
env:
CHANNEL: 'latest'
CHANGELOG_FILE: 'temp-changelog.txt'
PRERELEASE: 'true'
on:
pull_request:
types: [closed]
branches:
- main
# Only cancel in-progress jobs or runs for the current workflow run
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
if_merged:
if: github.event.pull_request.merged == true
runs-on: ubuntu-22.04
steps:
- run: |
echo The PR was merged
latest_release:
runs-on: ubuntu-22.04
steps:
- name: checkout branch
uses: actions/checkout@v3
with:
ref: main
- name: Get Configuration
id: configuration
uses: rgarcia-phi/json-to-variables@9835d537368468c4e4de5254dc3efeadda183793
with:
filename: './.github/workflows/config.json'
prefix: config
- name: Test permissions
uses: ./.github/workflows/permissions
with:
ENVIRONMENT: ${{ env.config_deployment_environment }}
DEPLOYMENT_PERMITTED: ${{ env.config_deployment_permitted }}
DEPLOYMENT_REPOSITORY_OWNER: ${{ env.config_deployment_repository_owner }}
- name: Install Node.js 18.x
uses: actions/setup-node@v3
with:
node-version: 18.x
- name: Set POSTFIX value
id: set_postfix_value
uses: ./.github/workflows/set-postfix-value
with:
PRERELEASE: ${{ env.PRERELEASE }}
- name: Env Vars Configure
id: env_vars_configure
uses: ./.github/workflows/env-vars-configure
with:
CHANNEL: ${{ env.CHANNEL }}
REF: ${{ github.ref }}
POSTFIX: ${{ steps.set_postfix_value.outputs.postfix }}
- name: Bump Channel Version
id: bump_channel_version
uses: ./.github/workflows/bump-channel-version
with:
CLEAN_PACKAGE_VERSION: ${{ env.CLEAN_PACKAGE_VERSION }}
CHANNEL: ${{ env.CHANNEL }}
POSTFIX: ${{ steps.set_postfix_value.outputs.postfix }}
OVERRIDE_PACKAGE_VERSION: true
- name: Install Dependencies
run: npm ci
- name: Build plugin
uses: ./.github/workflows/build-plugin
with:
PACKAGE_VERSION: ${{ env.PACKAGE_VERSION }}
BUILD_SCRIPT_PATH: "./.github/scripts/build-zip.sh"
- name: Generate changelog
uses: ./.github/workflows/generate-changelog
with:
TOKEN: ${{ secrets.MAINTAIN_TOKEN }}
REPOSITORY: ${{ github.repository }}
HEAD_BRANCH_NAME: ${{ github.ref }}
BASE_TAG_NAME: ${{ env.PREVIOUS_TAG_SHA }}
GENERATE_EMPTY_CHANGELOG: true
- name: Create GitHub release
uses: softprops/action-gh-release@v1
with:
tag_name: ${{ env.PACKAGE_VERSION }}
target_commitish: ${{ env.CLEAN_REF }}
files: |
elementor-*.zip
${{ env.CHANGELOG_FILE }}
prerelease: ${{ env.PRERELEASE }}
body_path: ${{ env.CHANGELOG_FILE }}
- name: Post To Slack Created Latest auto Release
if: ${{ github.event.inputs.pre_release }} == false
uses: ./.github/workflows/post-to-slack
with:
SLACK_BOT_TOKEN: ${{ secrets.SLACK_TOKEN }}
SLACK_TAG_CHANNELS: ${{ secrets.SLACK_CHANNEL_RELEASE }}
PAYLOAD: |
{
"blocks": [
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "Hi All :smile:\n\nWe just Published Latest release of *Elementor*\n`${{ env.PACKAGE_VERSION }}`"
}
},
{
"type": "divider"
},
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "GitHub Release *${{ env.PACKAGE_VERSION }}* \nCreated by ${{ github.actor }}"
},
"accessory": {
"type": "button",
"text": {
"type": "plain_text",
"text": "Open :point_left:",
"emoji": true
},
"value": "open-release",
"url": "https://github.com/${{ github.repository }}/releases/tag/v${{ env.PACKAGE_VERSION }}",
"action_id": "button-action"
}
},
{
"type": "divider"
},
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "*v${{ env.PACKAGE_VERSION }} Changelog* \n\n ${{ env.CHANGELOG_CONTENT }}"
}
}
]
}