10up / simple-page-ordering

Order your pages and other hierarchical post types with simple drag and drop right from the standard page list.
https://wordpress.org/plugins/simple-page-ordering/
GNU General Public License v2.0
149 stars 23 forks source link

Add a new GitHub Action to build a release zip #112

Closed dkotter closed 1 year ago

dkotter commented 1 year ago

Description of the Change

Historically when we release a new plugin version, we checkout the trunk branch locally and test from that. This branch may not be a 100% accurate representation on what actually ends up getting deployed to WordPress.org, leading to potential missed issues in testing.

This PR adds a new GitHub Action that can be triggered on any branch that will build out a release zip and upload that as an artifact. This artifact should be exactly* the same as what will eventually get deployed, making it better for testing. The goal would be to add this as a test step to our release instructions, after merging into trunk, running this Action on the trunk branch to generate a ZIP that can be downloaded.

* I don't include WordPress.org assets in this zip, though those will be deployed to WordPress.org

How to test the Change

Not sure if there's a great way to test this without getting it merged in. I'd be very surprised if this works the first time, I'm expecting maybe some sort of path issue or something similar that will be easier to identify once we can fully test this.

That said, this does copy some of the functionality from our WordPress.org Plugin Deploy action, including checking out the SVN repo and using that to build the final zip. This ensures we have the most accurate final release to test as possible but I'd be grateful for closer review on the SVN piece just to ensure we won't accidentally commit anything to the SVN repo here (very unlikely as I've removed all those parts but good to have a second set of eyes)

Changelog Entry

Not applicable

Checklist:

dkotter commented 1 year ago

@jeffpaul Since we have a pending release here, I thought this repo would be a good first candidate for this ZIP build tool. I tried to set this up in a generic enough way that this can easily be copy/pasted into other repos without much (if any) changes, so you'll see things in there like dealing with composer installs, even though this particular plugin does not have any non-dev composer dependencies.

Let me know if there's any good way to test this without merging it in first, as I'm almost positive there's going to be things that I need to fix once I can fully test it.