Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add ability to opt-in to a beta release channel #2084

Closed
westonruter opened this issue Apr 8, 2019 · 21 comments
Closed

Add ability to opt-in to a beta release channel #2084

westonruter opened this issue Apr 8, 2019 · 21 comments
Assignees
Labels
Enhancement New feature or improvement of an existing one WS:Core Work stream for Plugin core

Comments

@westonruter
Copy link
Member

In order to facilitate testing beta versions of the plugin, we should consider allowing a user to opt-in to a beta channel which would pull updates from pre-releases on GitHub.

@swissspidy
Copy link
Collaborator

Downloading from GitHub is against the plugin directory guidelines. Quote:

Executing outside code within a plugin when not acting as a service is not allowed, for example:

  • Serving updates or otherwise installing plugins, themes, or add-ons from servers other than WordPress.org’s

We should probably just use trunk for pre-releases, which is commonly done anyway. Plus, this way people can already translate pre-release versions, which is quite useful too.

@westonruter
Copy link
Member Author

Good point. But we could have the plugin updater configured to pull from trunk on WordPress.org? Just wanting to avoid manual ZIP file wrangling.

@swissspidy
Copy link
Collaborator

We'd have to check what http://api.wordpress.org/plugins/update-check/1.1/ supports.

Most probably we'd just have to filter some transients to point to the trunk ZIP file, and then probably provide a way to downgrade.

@westonruter
Copy link
Member Author

I recently used the Jetpack Beta Tester plugin which was really slick, but it is perhaps overkill for the AMP plugin. It allows selecting a feature branch from which to automatically install build.

@jdelia
Copy link

jdelia commented Aug 22, 2019

Are they any instructions on how we should update the plugin on our installs when testing the beta and RC versions? So far, I've just been deleting the existing plugin, installing the new from the built zip and then renaming the plugin folder to amp.

@swissspidy
Copy link
Collaborator

At the moment that's the recommended and most common approach. Although there should be no need to rename the plugin because a) you deleted the old one and b) the new one should be named amp already.

We want to make this process easier though, which this issue here is for.

@jdelia
Copy link

jdelia commented Aug 22, 2019

Thank you. The beta and RC zips when installed are not creating an amp folder. You'll see this message in the dashboard for example: You appear to have installed the AMP plugin incorrectly. It is currently installed in the amp-wp-1.2.1-RC1-built directory, but it needs to be placed in a directory named amp. Please rename the directory. This is important for WordPress plugin auto-updates.

@swissspidy swissspidy added the Enhancement New feature or improvement of an existing one label Aug 22, 2019
@swissspidy
Copy link
Collaborator

Does this also happen when downloading amp.zip from https://github.com/ampproject/amp-wp/releases/tag/1.2.1-RC1? Because that should be the go-to resource for downloading the pre-release version.

@jdelia
Copy link

jdelia commented Aug 22, 2019

It does not happen when I use the link you provided. I was using this zip file here before. https://cl.ly/afc69f45e481
That also solves my issue in #3063 with the story templates not displaying correctly.

@westonruter
Copy link
Member Author

Right, you should only use the amp.zip on the 1.2.1-RC1 release. The *-built tags are only for use with git submodules or perhaps composer. It is actually the same as amp.zip but you just need to rename the ZIP file to also be amp.zip.

@westonruter westonruter added this to the v1.3.1 milestone Sep 24, 2019
@swissspidy swissspidy modified the milestones: v1.3.1, v1.4 Oct 17, 2019
@westonruter westonruter removed this from the v1.4 milestone Oct 17, 2019
@pierlon pierlon self-assigned this Oct 18, 2019
@pierlon
Copy link
Contributor

pierlon commented Oct 18, 2019

Perhaps this could be an option on the settings page, with the date of the last successful retrieval being displayed.

For example:

image

@westonruter
Copy link
Member Author

Perhaps this could be an option on the settings page, with the date of the last successful retrieval being displayed.

I think the opt-in can simply be the activation of the AMP Beta Tester plugin.

The AMP Beta Tester plugin itself could be developed as part of the AMP plugin repo, for example it could be located next to amp.php as amp-beta-tester.php which we then exclude from the build that is pushed to WordPress.org, but we could perhaps include it in non-stable release builds. Maybe that would be a convenient place for it to live. This would allow for AMP and AMP Beta Tester to be listed in the list of WordPress.org plugins when someone installs a non-stable build, and they could activate “AMP Beta Tester” to automatically download new pre-release versions. This plugin, when active, should enable auto-updates for the AMP plugin.

@pierlon
Copy link
Contributor

pierlon commented Oct 18, 2019

I'm on-board with that idea. I think some sort of notification should be shown as well to remind them that they are using an unstable version of the plugin.

@swissspidy
Copy link
Collaborator

Uploading betas or at least RCs to trunk on WordPress.org would be nice in order to give translators some additional time to translate. At least in the long term.

@westonruter
Copy link
Member Author

@adamsilverstein Given your current work doing something similar to Site Kit (google/site-kit-wp#1172) could you please review #3560 and provide insights? I'm not familiar with GitHub Actions, so it's difficult for me to evaluate. I'm also curious if the approaches taken in the AMP plugin and the Site Kit plugin can be harmonized/reused.

@pierlon
Copy link
Contributor

pierlon commented Mar 2, 2020

@westonruter I think you meant #3799. #3560 is the AMP Beta Tester plugin.

The GitHub Actions added in google/site-kit-wp#1172 are similar to what I was working on in #3799; I'll copy some of @adamsilverstein's work since its been reviewed and tested already, if he doesn't mind 😄.

@westonruter
Copy link
Member Author

I think it's both. He's also done work on a beta tester plugin.

@pierlon
Copy link
Contributor

pierlon commented Mar 2, 2020

Oh that's great, feedback is welcome on both!

@adamsilverstein
Copy link
Collaborator

@pierlon Yes, please take advantage of what we built there, it got quite refined from my initial approach.

For our needs, we decided to leverage the built in wiki repository each GitHub repository gets to store our build artifacts (installable wp plugin zips), (we considered several other approaches including a secondary "build" repository, or using "GitHub build artifacts").

Let me know if you have any questions.

@amedina amedina removed the Size: L label Mar 31, 2020
@westonruter westonruter added this to the v1.6 milestone Jun 15, 2020
@westonruter westonruter removed this from the v1.6 milestone Jul 17, 2020
@kmyram kmyram added the WS:Core Work stream for Plugin core label Aug 5, 2020
@westonruter
Copy link
Member Author

@pierlon This is now available via the AMP QA Tester plugin, with the exception that if you choose the develop branch, there won't be auto-updates, correct?

@pierlon
Copy link
Contributor

pierlon commented Jun 8, 2021

Correct, I'll open an issue to track that functionality. This issue can be closed too.

@pierlon pierlon closed this as completed Jun 8, 2021
@github-project-automation github-project-automation bot moved this to Ready for Review in Ongoing Aug 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Enhancement New feature or improvement of an existing one WS:Core Work stream for Plugin core
Projects
Archived in project
Development

No branches or pull requests

8 participants