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

Release process automation #252

Merged
merged 6 commits into from Jan 13, 2022
Merged

Release process automation #252

merged 6 commits into from Jan 13, 2022

Conversation

asvetlov
Copy link
Contributor

The release is created on git tag pushing.

After linters and tests passed, the deploy stage is starting to wait for release approval.

@pytest-dev/pytest-asyncio-admin can approve. If nobody approved the release in 1 day -- deployment is discarded.
After the approval, we have 15 minutes timer for starting the deployment. During these 15 mins we the deployment task can be cancelled (just in case the deployer missed something).

The new release is pushed on PyPI (using generated PyPI upload token with pytest-asyncio scope) and on GitHub (visible as GitHub release).

Tag naming: as usual.
v0.16, v0.17 etc means final releases.
v0.17a0 means 0.17 alpha 0 release.
.post releases are supported but please avoid them -- Dependabot uses SemVer; SemVer handles it as pre-release. Better to publish the next micro-release instead.

@codecov-commenter
Copy link

codecov-commenter commented Jan 12, 2022

Codecov Report

Merging #252 (4eeef6e) into master (2eb12a7) will not change coverage.
The diff coverage is n/a.

Impacted file tree graph

@@           Coverage Diff           @@
##           master     #252   +/-   ##
=======================================
  Coverage   92.79%   92.79%           
=======================================
  Files           3        3           
  Lines         222      222           
  Branches       31       31           
=======================================
  Hits          206      206           
  Misses         10       10           
  Partials        6        6           

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 2eb12a7...4eeef6e. Read the comment docs.

Tinche
Tinche previously requested changes Jan 12, 2022
Copy link
Member

@Tinche Tinche left a comment

Choose a reason for hiding this comment

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

Hm it install poetry in the job?

@@ -9,6 +9,38 @@ on:
workflow_dispatch:

jobs:
lint:
Copy link
Contributor

Choose a reason for hiding this comment

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

The logs for the Build package step shows the name of the built artifacts is pytest-asyncio-0.1.dev1+ga5205f2.tar.gz and pytest_asyncio-0.1.dev1+ga5205f2-py3-none-any.whl. As far as I understand these are reused in the deploy stage later.

I expected them to be to have a version like pytest_asyncio-0.16.1+gabcd1234… not 0.1.dev1.

The checkout action seems to do a shallow clone with --no-tags. Is it possible this prevents setuptools_scm from determining the correct version?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

fetch-depth: 0 should fix it. Let's see

.github/workflows/main.yml Outdated Show resolved Hide resolved
@asvetlov
Copy link
Contributor Author

@Tinche we had it in the workflow previously.
Fixed now.

@eirnym
Copy link

eirnym commented Jan 12, 2022

@asvetlov nice algorithm! I'd like to apply similar to my projects. However, I don't see how timers and confirmations are set in configuration. Could you enlighten me?

@asvetlov
Copy link
Contributor Author

@eirnym I cannot show you our Settings config, it is available for the project admin only.

Please take a look at GitHub docs first and feel free to ask if you have a question.

@asvetlov
Copy link
Contributor Author

Merging, I'd like to build an alpha release to test the workflow

@asvetlov asvetlov merged commit cd84987 into master Jan 13, 2022
@asvetlov asvetlov deleted the release-automation branch January 13, 2022 08:58
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.

None yet

6 participants