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 Github Action - Prepare Python Release #12596

Closed
wants to merge 7 commits into from

Conversation

LogicOscar
Copy link
Contributor

Thanks for contributing to Selenium!
A PR well described will help maintainers to quickly review and merge it

Before submitting your PR, please check our contributing guidelines.
Avoid large PRs, help reviewers by making them as simple and short as possible.

Description

Added a script and workflow to help with python releases. This is an initial version of this workflow. Given a release version, this workflow will update the bazel/python/rst files. This will only touch the files included here .

Some important notes:

  1. I added a versions.py file which will be the single source of truth for all python files which reference a version number. This file is not really meant to be edited by anybody but it can be. I say this because the workflow will update the other places as well. IMO less error prone.
  2. I did think of adding a version.bzl which would have the same info as version.py and have the build file pull the version from there but I opted not to since it would be weird to have two version files containing the same info. From what I read Bazel can only pull from bzl files so the other option was to have python read from the bzl file and do some extra work but this seemed simpler and cleaner.
  3. It builds a changelog, the changelog can be modified

Motivation and Context

Read slack and seen a place where I can contribute. This does not do the full python release yet but does alleviate some pain as there are many files to edit.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist

  • I have read the contributing document.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have added tests to cover my changes.
  • All new and existing tests passed.

@diemol
Copy link
Member

diemol commented Aug 23, 2023

Can we test this first with Nightly releases? Please check #12207

@LogicOscar
Copy link
Contributor Author

@diemol yea this can be tested with nightlies. I removed the change log stuff since this would ultimately get absorbed in the nightly workflow. I'd like to see this ran manually once and then have the python-ci ran to make sure stuff is fine ( locally was good ) and then I can get this integrated with the nightly workflow and remove this workflow.

@LogicOscar
Copy link
Contributor Author

LogicOscar commented Aug 24, 2023

Made a new pull request #12605 which integrates the some of this work with the current nightly workflow, feel free to close this unless it wants to be used for testing before merging #12605

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.

I prefer that a tag is created locally and when it is pushed triggers the release.

@diemol
Copy link
Member

diemol commented Feb 18, 2024

Thank you for your efforts, @RevealOscar! Thanks to the scripts @titusfortner did to automate releases, I completed this work and got some inspiration from this PR.

We are now publishing nightly builds to TestPyPi.

The Selenium Downloads page has also been updated.

@diemol diemol closed this Feb 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants