Skip to content

Internal: Core - Add writing contents permissions to automated continues release [ED-12498] #44

Internal: Core - Add writing contents permissions to automated continues release [ED-12498]

Internal: Core - Add writing contents permissions to automated continues release [ED-12498] #44

name: Automated Latest Release
env:
CHANNEL: 'latest'
PRERELEASE: 'false'
on:
pull_request:
types: [closed]
branches:
- main
permissions:
contents: write
id-token: write
# Cancel in-progress jobs or runs for the current workflow run
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
latest_release:
if: github.event.pull_request.merged == true && github.base_ref == 'main' && !contains(github.event.pull_request.labels.*.name, 'skip 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: 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: Create GitHub release
id: create_release
uses: actions/create-release@latest
env:
GITHUB_TOKEN: ${{ secrets.MAINTAIN_TOKEN }}
with:
tag_name: ${{ env.PACKAGE_VERSION }}
release_name: "${{ env.PACKAGE_VERSION }}: ${{ github.event.pull_request.title }}"
body: "Automated release for ${{ env.PACKAGE_VERSION }}"
draft: false
prerelease: false
- 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.LATEST_HOSTING_RELEASE_CHANNAL_ID }}
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"
}
}
]
}