Run release in CI
See original GitHub issueWe closed #826 to moving towards a multi-module project structure. We’ve introduced release.sh, but some improvements can still be made to unify the release.
Most of the current release steps are run locally. They are:
- Bump and release
marquez-python - Bump
marquez-pythondependency inmarquez-airflow - Bump and release
marquez-airflow - Bump development versions for the java modules
- Tag
mainbranch withX.Y.Z - Publish docker images (
api,web) - Publish java modules to maven
The proposed release steps below would run in CI to release Marquez X.Y.Z. First, we would tag main branch with X.Y.Z to kicks off the CI release workflow, then:
- Publish java modules to maven
- Publish docker images (
api,web) - Bump and release python modules
Issue Analytics
- State:
- Created 2 years ago
- Comments:5 (5 by maintainers)
Top Results From Across the Web
Release CI/CD examples - GitLab Docs
A pipeline is triggered when commits are pushed or merged to default branch. The pipeline runs release job. · A release is created....
Read more >Running and completing releases - CloudBees Documentation
After the release is completed, you can start a new release run by selecting the context menu for the pipeline and then selecting...
Read more >release-it/ci.md at master - GitHub
As release-it is increasingly used from CI/CD environments such as Travis, Circle CI or GitHub Actions, this page outlines some popular ways to...
Read more >Create a Release using .gitlab-ci.yml Part 1 - YouTube
Update: You can now use the release keyword directly in your .gitlab- ci.yml file https://youtu.be/YtaqZMwx7sAWalkthrough of how to Create a ...
Read more >CI/CD Pipeline: A Gentle Introduction - Semaphore
The pipeline builds code, runs tests (CI), and safely deploys a new ... adds the practice of automating the entire software release process....
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found

Agreed, that does make sense, and bumping version before tagging, as separate manual step does fix the issues you’re talking about. I’ll change the PR.
new-version.sh <new-version>👌@wslulciuc created draft PR for this: https://github.com/MarquezProject/marquez/pull/1168
What I’ve done:
marquez-pythonandmarquez-airflow. Build phases are triggered only on tag (recognized by env variable set by CI -$CIRCLE_TAG. Build phases are ment to create Python wheels and put them to shared workspace. Then, release step - also, only triggered by tag - one for all python projects, just pushes wheels created in shared workspace to pypi.build-webandbuild-apisteps.-Prelease.releaseVersion=versionwhich does all the bumping for me. Found that we can sign binaries on CI using env variables. Still, couldn’t reliably test if last step works - which is publishing to oss.sonatype.org with publishing plugin. By looking at docs I don’t see how it could differ, provided that we have all the env variables set up, but that would be on you to check 😉