Skip to content

release

release #20

Workflow file for this run

name: 'release'
on:
push:
tags: [ '*' ]
jobs:
lint:
runs-on: ubuntu-22.04
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
steps:
- name: Check out code 🛒
uses: actions/checkout@v4
- name: Setup PHP 🐫
uses: shivammathur/setup-php@v2
with:
php-version: 8.2
extensions: "mbstring, gd, bcmath, bz2"
- name: PHPCS checker 🧹
id: php-codesniffer
run: make lint
package:
runs-on: ubuntu-22.04
env:
BUILD_DIR: "build"
DIST_DIR_GITHUB: "dist/github"
GITHUB_RELEASE_FILENAME: "bread.zip"
PLUGIN: "bread"
MAINFILE: "bmlt-meeting-list.php"
needs: [ lint ]
permissions:
contents: write
steps:
- name: Check out code 🛒
uses: actions/checkout@v4
- name: Build package 🔧
id: build-package
run: |
export ZIP_FILENAME=${PLUGIN}-${GITHUB_REF##*/}.zip
find ./ -type d | xargs chmod 755
find ./ -name '*.php' | xargs chmod 644
echo ${GITHUB_SHA} > build.txt
PROD=1 make build
zip $BUILD_DIR/$ZIP_FILENAME build.txt
mkdir -p $DIST_DIR_GITHUB && cp $BUILD_DIR/$ZIP_FILENAME $DIST_DIR_GITHUB/$GITHUB_RELEASE_FILENAME
echo "ARTIFACT_PATH=$DIST_DIR_GITHUB/$GITHUB_RELEASE_FILENAME" >> $GITHUB_ENV
echo "ARTIFACT_NAME=${ZIP_FILENAME}" >> $GITHUB_ENV
- name: Generate Release Notes 📝
if: github.ref_type == 'tag'
run: |
curl -LO https://raw.githubusercontent.com/bmlt-enabled/release-notes-tool/master/gh-release-notes.sh
chmod +x gh-release-notes.sh
./gh-release-notes.sh readme.txt "wp"
RELEASE_TYPE=$(if [[ "$GITHUB_REF_NAME" =~ "beta" ]]; then echo "true"; else echo "false"; fi)
echo "RELEASE_TYPE=${RELEASE_TYPE}" >> $GITHUB_ENV
- name: Create Release 🎉
uses: ncipollo/[email protected]
if: github.ref_type == 'tag'
with:
artifacts: ${{ env.ARTIFACT_PATH }}
bodyFile: "changelog.txt"
prerelease: ${{ env.RELEASE_TYPE }}
- name: Wordpress Release ⛴
if: "!contains(github.ref, 'beta')"
id: wordpress-stable-release
env:
WORDPRESS_USERNAME : ${{ secrets.WORDPRESS_USERNAME }}
WORDPRESS_PASSWORD : ${{ secrets.WORDPRESS_PASSWORD }}
run: |
curl -LO https://raw.githubusercontent.com/bmlt-enabled/bmlt-wordpress-deploy/master/deploy-wordpress.sh
chmod +x deploy-wordpress.sh
./deploy-wordpress.sh