Tags & Releases
Last updated
Last updated
Tags allow you to identify a certain commit as a significant version. They mark a specific point in your repository's history. Many sources prefer to define a tag as a "branch that does not change".
Releases are based on tags and provide a more official, significant, and accessible snapshot of your project for your users, including release notes and related files.
While developing your automation programs and projects, you may choose to tag certain commits as milestones in a development project, such as "v0.1" or "v0.2". Once your development is complete, you can create a release of a tag and make it available to your internal or external customers.
Tags are used to mark specific and important commits, and are usually related to a version of the code (ex. "v0.5").
The Desktop App is the best tool to create new tags.
In the Desktop App, navigate to the History tab and right-click on any commit. Choose the select Create tag... option_._
Enter a name for the tag in the dialog and press the Create Tag button.
Branches and tags should never be given the same name.
You will now see the new tag displayed alongside the commit. Copia will also show an up-arrow near the tag indicating that the tag is ready to be pushed to the Copia server. Prior to pushing the tag, it is still possible to right-click the commit and delete the tag from the Desktop App. The Desktop App refreshes periodically so you might not immediately see the tag displayed.
Once pushed to the Copia server, the tag you created will also show in the Web App. Navigate to your repository, choose the Releases tab, and select the Tags section to see your new tag.
While creating tags is primarily done in the Desktop App, you can still technically create a tag from the Web App. To do so, you'll need to create a new release for a given commit and then delete the release afterwards.
You can delete tags from both the Desktop App and Web App.
In the Desktop App, right-click on the commit whose tag you wish to delete and choose the Delete tag option.
You can only delete tags from the Desktop App prior to pushing to the Copia server. If you've already pushed, you'll need to delete the tag from the Web App.
To delete tags from the Web App, navigate to your repository, choose the Releases tab, and click on the Tags sub tab. Find the tag you want to delete, select the Manage Tag dropdown, and click on the Delete Tag button.
This process explains how to delete a tag that is not associated with a release. To delete tags that are already part of a release, you must first delete the release and then delete the tag.
You can manage tags from the Tags section of the Releases page. Copia will display both tags that are associated with releases, as well as tags that are not yet used in a release.
Clicking on the tag name or commit SHA will navigate you to the corresponding commit. If a tag is already associated with a release, Copia will display a View Release button that will show the release for that given tag. Otherwise, Copia will present a Create Release from Tag button, which you can use to associate that tag with a new release.
Content for each tag is downloadable through the Manage Tag dropdown. Simply select the Download ZIP option to get access.
Releases allow you to define a commit or tag as significant, making the tag easily available for your users to review and download. Similar to tags, releases are usually defined in the format of a version (ex. "v1.0").
It's important to consider the version number that's displayed in each release. Depending on your release strategy, it might make sense to maintain sequential release numbers. Your Organization could alternatively have gaps in version numbers between releases.
There are 3 possible states for a release:
Release State | Description |
---|---|
⚪ Draft | You are working through all critical levels of the release. At this point, you are:
|
🟠 Pre-Release | You are code-complete and have good confidence through quality certification, but you still require final checks and are therefore not yet ready for production. Changes made during the Pre-Release must not impact the code or its quality. At this stage, you are:
|
🟢 Stable | Your release is fully production-ready and you are finished with all release semantics. |
Depending on how you decide to perform releases, if you find an issue with your binaries while in a Pre-Release state, it's likely best to completely scrub your release and start from scratch.
Releases can only be created in the Web App.
Navigate to your repository and select the Releases tab. Create a new Release by pressing the New Release button.
You can alternatively create a new release by navigating to the Tags tab, finding the tag you want to use, and clicking the Create Release from Tag button.
First, enter an existing tag name or create a new tag (which will use the current commit). You will also need to choose the branch for the release.
Next, enter a title and some content for the release. This usually includes information for users, such as issues addressed or new features. You can also add additional files into the release (this will not modify the commit).
The Content field supports the Markdown language, allowing you to better format your Release Notes!
Finally, select whether you intend the release to be in a Draft, Pre-Release or Stable state and press the Create Release button.
You will be redirected to the Releases page where you can see your new release.
The Releases page is home to all of your releases. The left-hand side of each release displays the release state, tag name, and commit SHA that were assigned during release setup. You can edit the contents of your release or update it from one state to another by clicking on the Edit Release link.
To delete a release, you must first click on the _Edit Releas_e link. From there, you can click on the Delete Release button.
A teal Download Files dropdown accompanies each release, which you can use to download the release files in a compressed file format. You can also share a specific release with someone else by clicking the Copy URL link.