Skip to content

Publish to WordPress.org #2

Publish to WordPress.org

Publish to WordPress.org #2

name: Publish to WordPress.org
on:
workflow_run:
workflows:
- Create auto release
types:
- completed
env:
PLUGIN_SLUG: cryptopay-gateway-for-memberpress
jobs:
deploy_to_wp_org:
permissions: write-all
name: WordPress.org Plugin Deploy
if: ${{ github.event.workflow_run.conclusion == 'success' }}
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@master
- name: Get upload url & and release version
id: get_release_info
run: |
latest_release=$(curl -s -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
"https://api.github.com/repos/${{ github.repository }}/releases/latest")
latest_release_id=$(echo "$latest_release" | jq -r '.id')
latest_release_version=$(echo "$latest_release" | jq -r '.tag_name')
upload_url=$(curl -s -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
-H "Content-Type: application/json" \
"https://api.github.com/repos/${{ github.repository }}/releases/${latest_release_id}" | jq -r '.upload_url')
echo "UPLOAD_URL=$upload_url" >> $GITHUB_ENV
echo "RELEASE_ID=$latest_release_id" >> $GITHUB_ENV
echo "RELEASE_VERSION=$latest_release_version" >> $GITHUB_ENV
- name: WordPress Plugin Deploy
id: deploy
uses: 10up/action-wordpress-plugin-deploy@stable
with:
generate-zip: true
env:
SVN_PASSWORD: ${{ secrets.WORDPRESS_ORG_PASSWORD }}
SVN_USERNAME: ${{ secrets.WORDPRESS_ORG_USERNAME }}
SLUG: ${{ env.PLUGIN_SLUG }}
VERSION: ${{ env.RELEASE_VERSION }}
- name: Upload release asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ env.UPLOAD_URL }}
asset_path: ${{ steps.deploy.outputs.zip-path }}
asset_name: ${{ env.PLUGIN_SLUG }}.zip
asset_content_type: application/zip