Actions
Task #7868
closedStory #8093: [EPIC] Release automation
[RELEASING] Build all artifacts before publishing any
Status:
CLOSED - CURRENTRELEASE
Priority:
Normal
Assignee:
Category:
-
Sprint/Milestone:
-
Start date:
Due date:
% Done:
100%
Estimated time:
Platform Release:
Groomed:
Yes
Sprint Candidate:
No
Tags:
CI/CD
Sprint:
Sprint 98
Quarter:
Description
In the past it became a problem, that some artifacts (bindings) failed to build after the main python package landed on pypi.
In order to avoid such situations, we should generate and collect all packages and bindings for a Release before stating to publish any.
Actions
Adds a new release GitHub Actions workflow
The new release workflow has 3 stages:
Build artifacts - build the plugin Python packages or downloads them from PyPI.
Test - build a container from the package in the previous stage. Build the Python and Ruby clients. Build docs. Run unit and function tests using filesystem and S3 storage.
Publish - publish all packages to PyPI if they are not present there. Publish Ruby client to RubyGems.org if it's not there. Publish docs. Push tag to GitHub.
fixes: #7868 https://pulp.plan.io/issues/7868