Skip to content

[build] Archive Selenium Manager Binaries #13314

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

Merged
merged 3 commits into from
Dec 26, 2023

Conversation

titusfortner
Copy link
Member

@titusfortner titusfortner commented Dec 15, 2023

Status

This is in Draft because it is using my fork to demo the proof of concept.
This Git Hub Actions Run — https://github.com/titusfortner/selenium/actions/runs/7219076550
Made this commit — titusfortner/selenium_manager_debug@fab2d26
And did this release — https://github.com/titusfortner/selenium_manager_debug/releases/tag/selenium-manager-fab2d26

Description

  • On every commit to trunk in the rust directory (too much? daily seemed too little and also too much?)
    • Builds all Selenium Manager binaries (including debug)
    • Creates a commit in a separate repo with the hash values of the files
    • Creates a tag from that commit and does a release, and uploads all selenium manager binaries
  • Toggle Selenium Manager behavior in build based on pinned_browsers instead of stamp (the way I'm skipping downloading is definitely hacky, there is probably a better way)
  • Deletes Selenium Manager binaries from repo
  • selenium_manager.py file very similar to pinned_browsers.py to update the url and hash for the latest version of binaries

Motivation and Context

Future Considerations

  • Remove all Bazel Rust things as Lost Cause
  • Make build-selenium-manager.yml part of ci-rust.yml
  • Would probably be better to store all the files in the releases zipped, but I got http_file working before I could figure out how to get http_archive working

@titusfortner titusfortner added the B-build Includes scripting, bazel and CI integrations label Dec 15, 2023
@codecov-commenter
Copy link

codecov-commenter commented Dec 15, 2023

Codecov Report

All modified and coverable lines are covered by tests ✅

Comparison is base (0f1489d) 58.05% compared to head (f2256b6) 58.05%.
Report is 9 commits behind head on trunk.

❗ Current head f2256b6 differs from pull request most recent head 5ed6430. Consider uploading reports for the commit 5ed6430 to get more accurate results

❗ Your organization needs to install the Codecov GitHub app to enable full functionality.

Additional details and impacted files
@@           Coverage Diff           @@
##            trunk   #13314   +/-   ##
=======================================
  Coverage   58.05%   58.05%           
=======================================
  Files          88       88           
  Lines        5338     5338           
  Branches      224      224           
=======================================
  Hits         3099     3099           
  Misses       2015     2015           
  Partials      224      224           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link
Member

@diemol diemol left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is pretty good, thank you @titusfortner!

I think building on every commit is fine, given that it does not change a lot.

@titusfortner
Copy link
Member Author

Ok, I've updated the repo names to point to https://github.com/SeleniumHQ/selenium_manager_snapshots/ (the releases there were automatically generated by Selenium's CI).

I've moved the CI code from build-selenium-manager.yml to ci-rust.yml. Binaries are only built/released when rust directory has a commit and all tests are passing (or triggered manually).

@titusfortner titusfortner marked this pull request as ready for review December 20, 2023 15:53
@titusfortner titusfortner force-pushed the sm_release branch 4 times, most recently from 061d851 to 11bdec9 Compare December 22, 2023 04:25
@titusfortner
Copy link
Member Author

I had this working, then I tweaked something and now it isn't deploying. At least it is passing RBE now. Once I figure out why it isn't releasing the binaries any more, I'll merge this.

@titusfortner
Copy link
Member Author

Ok, this makes sense. It wasn't working as a PR because of tokens, but when I run this code as a Selenium branch, it works — https://github.com/SeleniumHQ/selenium/actions/runs/7331186361
So I'm merging it.

@titusfortner titusfortner merged commit 64755fa into SeleniumHQ:trunk Dec 26, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
B-build Includes scripting, bazel and CI integrations
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[🚀 Feature]: Stop storing Selenium Manager binaries in Repo
3 participants