Skip to main content

Github- Create a new release–The manual approach

Being new to Github I decided to write a few post on how to create a new 'release' in Github. I'll start with a 100% manual approach(this post) and will continue with other posts showing a more and more automated process.

But today we'll start simple and focus on creating a release by hand. This allows me to introduce the different elements that we can configure when using releases inside Github, knowledge that will be useful later when we go the automated route.

Let’s dive in…

Creating a new release (manually)

  • Before you can create a release, make sure you are signed in to your GitHub account. Navigate to the repository where you want to create the release. Once you’re in the repository, click on Releases on the right of the list of files.

 

  • On the Releases page, you’ll see a button labeled “Draft a new release.” Click on it to start creating your new release.
 
  • The first thing you need to do is to assign a tag to your release. A tag is usually a version number, like v1.0.0. If the tag doesn’t already exist, GitHub will create it. You can choose to create a new tag from a branch or a specific commit.
    • Tip: Consider using semantic versioning for your release tags. This makes it easier to track the progress and backward compatibility of your software.

  • Next, you’ll need to give your release a title. I usually  just repeat the version number here, but it can be something more descriptive, like “Initial Release” or “Bug Fixes and Performance Improvements.”

 

  • Below the title, there’s a text area where you can describe the changes or new features in this release. It’s a good idea to list key changes, new features, bug fixes, or improvements. You can use Markdown to format this section.
    • Tip: You can click on Generate release notes to automatically generate a change log

  • GitHub gives you the option to mark your release as either a “Pre-release” or a “Latest Release.”
    • Pre-release: If the release is still in development or testing and not ready for production, mark it as a pre-release.
    • Latest Release: If this is the most recent stable version, you can mark it as the latest release. This will indicate to users that this is the recommended version to use.
  • You also have the option to create a new discussion for your release.

  • As a last step, you can attach extra files to the release. This is especially useful for users who want to download the release in a ready-to-use format.
    • Drop the files over the “Attach binaries by dropping them here or selecting them” area to upload them.

  • Once everything looks good, click the “Publish release” button at the bottom of the page.

 


  • Your release is now live! It will be listed under the Releases section, and GitHub will generate a .zip and .tar.gz archive of your source code at that particular tag.

 


That’s it! Let’s continue tomorrow by looking at a more automated alternative using Github actions.

More information

About releases - GitHub Docs

Popular posts from this blog

Azure DevOps/ GitHub emoji

I’m really bad at remembering emoji’s. So here is cheat sheet with all emoji’s that can be used in tools that support the github emoji markdown markup: All credits go to rcaviers who created this list.

.NET 8–Keyed/Named Services

A feature that a lot of IoC container libraries support but that was missing in the default DI container provided by Microsoft is the support for Keyed or Named Services. This feature allows you to register the same type multiple times using different names, allowing you to resolve a specific instance based on the circumstances. Although there is some controversy if supporting this feature is a good idea or not, it certainly can be handy. To support this feature a new interface IKeyedServiceProvider got introduced in .NET 8 providing 2 new methods on our ServiceProvider instance: object? GetKeyedService(Type serviceType, object? serviceKey); object GetRequiredKeyedService(Type serviceType, object? serviceKey); To use it, we need to register our service using one of the new extension methods: Resolving the service can be done either through the FromKeyedServices attribute: or by injecting the IKeyedServiceProvider interface and calling the GetRequiredKeyedServic...

Kubernetes–Limit your environmental impact

Reducing the carbon footprint and CO2 emission of our (cloud) workloads, is a responsibility of all of us. If you are running a Kubernetes cluster, have a look at Kube-Green . kube-green is a simple Kubernetes operator that automatically shuts down (some of) your pods when you don't need them. A single pod produces about 11 Kg CO2eq per year( here the calculation). Reason enough to give it a try! Installing kube-green in your cluster The easiest way to install the operator in your cluster is through kubectl. We first need to install a cert-manager: kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.14.5/cert-manager.yaml Remark: Wait a minute before you continue as it can take some time before the cert-manager is up & running inside your cluster. Now we can install the kube-green operator: kubectl apply -f https://github.com/kube-green/kube-green/releases/latest/download/kube-green.yaml Now in the namespace where we want t...