Skip to content

Latest commit

 

History

History

workflows

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

CI Workflows

Release pipelines

There is two ways to release:

  1. Just bump version in the Cargo.toml, then commit to main branch. See more about this pipeline.
  2. Push new tag to main branch. See more about this pipeline.

By Crate Version

Can be trigged by: Version of the crate don't equal to the latest git-tag for this commit.

Branches where can be triggered:

  • main
  • master
  • release-v?[0-9]+\.[0-9]+.*

Note: Everywhare where mention the "main" branch in this document, that means this list of branches.

Steps will happen:

  1. Determine the version of the crate
  2. Determin latest git tag for this commit
  3. Compare. Breake if equal or if cannot push tag because it already exists
  4. Push new tag to this commit, named as the version (see version conversion)
  5. Execute main release workflow.

Usage

PR Way:

  1. checkout the main branch
  2. create new branch for future PR
  3. bump version in the Cargo.toml
  4. commit, push, PR
  5. wait review & merge
    When you PR merged to main branch, pipeline will check the version and try to create tag and release.
  6. go to releases
  7. edit description of the new created by pipeline release (you can save without publication)
  8. wait all builds
  9. publish the release.

Do not publish before all builds are done because it can break the pipeline. After publication, url for upload artifacts (builds) can be (will) changed, so later builds can't be attached to this release page.

Hardcore Way:

Same as above but just commit to master/main without PR. So see above and skip steps 2 and 5.

Configuration

There used GH-action to do all work.

Important options for future twicks:

  • tag-to-version
  • version-to-tag

By Git Tag

Can be trigged by: New tag pushed to main branch.

Branches where can be triggered:

  • main
  • master
  • release-v?[0-9]+\.[0-9]+.*

Tags what can be trigger the pipeline:

  • v?[0-9]+.[0-9]+\.*

Steps will happen:

  1. Workflow starts automatically, thanks to GH.

Usage

Same as first workflow above but instead of edit file you should push the tag to main branch, without any forks and PRs.

PR Way:

  1. checkout the main branch
  2. push new tag
  3. go to releases
  4. same steps about release editing and publication.