question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Run release in CI

See original GitHub issue

We 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:

  1. Bump and release marquez-python
  2. Bump marquez-python dependency in marquez-airflow
  3. Bump and release marquez-airflow
  4. Bump development versions for the java modules
  5. Tag main branch with X.Y.Z
  6. Publish docker images (api, web)
  7. 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:

  1. Publish java modules to maven
  2. Publish docker images (api, web)
  3. Bump and release python modules

Issue Analytics

  • State:closed
  • Created 2 years ago
  • Comments:5 (5 by maintainers)

github_iconTop GitHub Comments

1reaction
mobuchowskicommented, Apr 9, 2021

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> 👌

1reaction
mobuchowskicommented, Mar 30, 2021

@wslulciuc created draft PR for this: https://github.com/MarquezProject/marquez/pull/1168

What I’ve done:

  1. Python: split test and build phases for marquez-python and marquez-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.
  2. Docker: least changes - basically all I had to do is script bumping version in gradle-properties and add dependency on build-web and build-api steps.
  3. Maven: after bit of tinkering on my own I’ve found that gradle release plugin has option -Prelease.releaseVersion=version which 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 😉
Read more comments on GitHub >

github_iconTop 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 >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found