Automation of Testing, Github & Stores
Opened this issue · 8 comments
Edit by @ImprovedTube (Repurposing this thread)
To-Do:
-
Building for the Browser's Stores : https://github.com/code-for-charity/YouTube-Extension/tree/master/py
- Automated uploades by Github actions( Chrome & FireFox & Edge Chrome Web Store Opera Whale ) (or Store's APIs: Chrome & FireFox & [Microsoft Edge Store](https://docs.microsoft.com/en-us/microsoft-edge/extensions-chromium/publish/api/using-addons-api Opera Whale)
-
automated tests by Github Actions? or Selenium or... _(Possibly different rounds, with popular settings or everything & performance. (Which could periodically run on the master branch, as most of our PR's are qualified. Depending recent PRs (or at latest on Releases or a Beta-branch. As @EvgenKo423 described below)
Were you using Beta a lot too by chance?
I was actually thinking a few times how your workflow could be made better, but unfortunately there's a huge gap for me now between thinking and actually working on it (I think of many things from time to time, but unfortunately there's no mental programming technique yet 🤭, we would be much more productive).
Here are a few things:
-
dev
,beta
andmaster
branches:- Every 2 weeks
dev
is merged intobeta
-> automatic beta release to store (GH Actions, no idea if it's possible); - Every 2 weeks
beta
is merged intomaster
-> automatic stable release to store; - Bug fix commits to
beta
andmaster
only.
- Every 2 weeks
-
Automated tests of all functionality (GH Actions, no idea if it's possible; though Selenium exists):
- Basic checks: default settings + each option turned on at a time. Executed on every push;
- Complete checks: every possible combination of settings tested (will probably eat a lot of Action time). Executed before every merge to
beta
/master
; - Performance checks: one setting at a time, test on all page types (home, channel, video...). CPU usage (or maybe something more appropriate) is measured for 3-5 seconds after page is ready. Executed before every merge to
beta
/master
.
Actual YT pages are crawled before the test. All tests are done on local copies.
old GUI? i liked the darkRed-white-contrast & pixel density(need not be bigger than browser icons)
less polished, why? 'New' one still got list-view option. Newer displays have smaller pixels and more contrast.
Some new users might expect/prefer calm experience & low mouse control/touchpad?
Testing consistency & CPU with Selenium
👍
Github actions
Just a question of time and number of GitHub action / pull requests (not many yet)
(+ AI for the project to program itself)
The bug caused few uninstalls/reinstalls:
maybe 100 or 0.03% 🤔 hard to guess - the few guys giving 1 Star, might harm more on a longer term)
Yet on the same day we should have focused even more on the 2800 new installations / over 0.5%
old GUI, why?
I mean YouTube UI. =)) Your extension worked much better with old YouTube UI (and the UI worked better itself).
It could be used for direct contributions as well (and you could make PRs from dev
to beta
to run tests), it would make finding bugs much easier.
ohh of course 😀 @EvgenKo423
automatic beta release to store (GH Actions, no idea if it's possible);
Github Actions to publish 🌞 with: Chrome Web Store & FireFox & Edge
- (+ API Documentation: Chrome Web Store & FireFox & Microsoft Edge Store )
--
Plan:
master = we read the PR's per contributor + devs/testers (few) automatically run this in browsers
+daily autotesting = beta (not a repo)
+longer-autotest + some days = stable (not a repo)
+automatic release notes?🤔
exception: urgent changes after youtube changes
Goal:
4.9 stars & keeping people up-to-date. Get feedback for new features soon enough for every contributor.
& beta: ~4.5 stars (many people didnt notice what version they get (testing) - including a large organisation with 1000s of users )
dev
... direct contributions
= world editing. easier collaboration, only if there are ever two people updating the same feature on the same day
I hope that this has an optional setting to toggle the old style.
Problema corrigido com sucesso, ficou muito bom
i sad!:(
@mrangjunboon2019 why?