This repository has been archived on 2023-08-16. You can view files and clone it, but cannot push or open issues or pull requests.
footnotes/.github/workflows/release-handler.yml

87 lines
2.5 KiB
YAML

# This workflow handles GitHub releases and pre-releases.
# It builds the Plugin, zips up an archive to add to the
# release entry on GitHub and (in the case of a full release)
# pushes the release to the WP Plugin Directory SVN repo.
name: Release Handler
on:
release:
types: [published]
jobs:
build_plugin:
name: Build the Plugin for pre-release
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Install dependencies
run: |
composer install --no-dev --optimize-autoloader --no-progress
- name: Build Plugin
run: |
composer run build
- name: Rename Plugin folder
run: |
mv dist/ footnotes/
- name: Upload Plugin artifact
uses: actions/upload-artifact@v2
with:
name: footnotes-${{ github.event.release.tag_name }}
path: footnotes
create_archive:
name: Create an archive for the release and add it to GitHub
runs-on: ubuntu-latest
needs: build_plugin
steps:
- name: Download Plugin artifact
uses: actions/download-artifact@v2
with:
name: footnotes-${{ github.event.release.tag_name }}
- name: Create release archive
uses: montudor/action-zip@v0.1.0
with:
args: zip -X -r footnotes-${{ github.event.release.tag_name }}.zip footnotes
#- name: Upload archive as artifact
# uses: actions/upload-artifact@v2
# with:
# name: footnotes-${{ github.event.release.tag_name }}
# path: footnotes-${{ github.event.release.tag_name }}.zip
- name: Upload archive to release
uses: JasonEtco/upload-to-release@master
with:
args: footnotes-${{ github.event.release.tag_name }}.zip application/zip
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
release_to_svn:
name: Push the release to the WordPress Plugin Directory repo.
if: "!github.event.release.prerelease"
runs-on: ubuntu-latest
needs: create_archive
steps:
- name: Download Plugin artifact
uses: actions/download-artifact@v2
with:
name: footnotes-${{ github.event.release.tag_name }}
- name: Deploy release to Wordpress.org
id: deploy
uses: 10up/action-wordpress-plugin-deploy@stable
env:
SVN_USERNAME: ${{ secrets.SVN_USERNAME }}
SVN_PASSWORD: ${{ secrets.SVN_PASSWORD }}
SLUG: footnotes/branches/svn-test
ASSETS_DIR: assets