I am building a CLI tool in Rust and I have installed CircleCI that publishes my project to crates.io. However, I am very new to using Git Tags, GitHub Releases and CI/CD altogether and there are couple things I am not sure if I am doing it right.
My current pipeline is setup as: – For every branch – Run the test command and the lint command. – For branches that isn't main – Check if the version number is greater than that of main. – For every tag – Test, Check lint, and publish the package to crates.io.
What I am confused about: – My "main" branch is like any other branch, it performs test, lint (not check_version); should it do any other work? – Should I create tags whenever I want to, or on every push to "main"? If create a tag on every push to "main", does this become redundant? – What should a GitHub Release entail? Currently it just all my git files in an archive; should I be adding something else?
submitted by /u/cybercoderNAJ
[link] [comments]
from Software Development – methodologies, techniques, and tools. Covering Agile, RUP, Waterfall + more! https://ift.tt/Xmh85eG