From b40ddbe5f7a2a51e04c64f158ae91c718245ea23 Mon Sep 17 00:00:00 2001 From: Chris Reynolds Date: Wed, 27 Mar 2024 14:57:04 -0600 Subject: [PATCH] add build-tag-release workflow copy pasta from papc with composer and gitignore mods --- .github/workflows/build-tag-release.yml | 62 +++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 .github/workflows/build-tag-release.yml diff --git a/.github/workflows/build-tag-release.yml b/.github/workflows/build-tag-release.yml new file mode 100644 index 0000000..bf02521 --- /dev/null +++ b/.github/workflows/build-tag-release.yml @@ -0,0 +1,62 @@ +name: Build, Tag and Release +on: + push: + branches: + - release + +permissions: + pull-requests: write + contents: write + +jobs: + check-status: + name: Check Status + runs-on: ubuntu-latest + outputs: + is-asset-update: ${{ steps.set-outputs.outputs.is-asset-update }} + steps: + - uses: actions/checkout@v4 + - id: get-changed-files + uses: jitterbit/get-changed-files@v1 + - id: set-outputs + run: | + echo "Changed files: ${{ steps.get-changed-files.outputs.all }}" + shopt -s nocasematch + run_plugin_update="true" + for file in ${{ steps.get-changed-files.outputs.all }}; do + if + [[ ! "$file" =~ ^\.wordpress\.org/ ]] && \ + [[ ! $file =~ ^\.github/ ]] && \ + [[ "$file" != "readme.txt" ]] && \ + [[ $file != "readme.md" ]] && \ + [[ $file != ".gitignore" ]] && \ + [[ $file != *"composer"* ]]; then + run_plugin_update="false" + break + fi + done + echo "::set-output name=is-asset-update::$run_plugin_update" + asset-only: + name: WP.org Asset Only Update + needs: check-status + if: ${{ needs.check-status.outputs.is-asset-update == 'true' }} + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: WP.org Asset Only Update + uses: 10up/action-wordpress-plugin-asset-update@stable + env: + SVN_USERNAME: ${{ secrets.SVN_USERNAME }} + SVN_PASSWORD: ${{ secrets.SVN_PASSWORD }} + tag: + needs: check-status + if: ${{ needs.check-status.outputs.is-asset-update == 'false' }} + name: Create Tag and Draft Release + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Build, Tag & Release + uses: pantheon-systems/plugin-release-actions/build-tag-release@main + with: + gh_token: ${{ github.token }} + readme_md: README.md