Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 4025848
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 20, 20262026-05-20T10:53:51+00:00 2026-05-20T10:53:51+00:00

I am trying to figure out a one-command process for generating a build on

  • 0

I am trying to figure out a one-command process for generating a build on GitHub.

What I anticipate doing is running some sort of command- make release, say, and the make release script builds up the release artifact and then uploads it to GitHub in some fashion.

However, I’m fairly confused about how to actually get a release artifact on GitHub. Source code is awesome, but not everyone wants to do their own builds. 🙂

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-20T10:53:51+00:00Added an answer on May 20, 2026 at 10:53 am

    Update 2022: The official GitHub CLI comes with gh release upload

    Upload asset files to a GitHub Release.

    You can create the release first with gh release create

    Upload all tarballs in a directory as release assets
    $ gh release create v1.2.3 ./dist/*.tgz
    
    Upload a release asset with a display label
    $ gh release create v1.2.3 '/path/to/asset.zip#My display label'
    

    Update September 2013, you can automate a release (API in preview mode)

    Update January 2014, there’s an unofficial command-line app, called github-release by Nicolas Hillegeer (aktau), for creating releases and uploading (binary) artifacts.
    It uses the new github releases API mentioned above. Look at the Makefile of the project to see how to automate it more still.

    Example:

    # create a formal release
    $ github-release release \
        --user aktau \
        --repo gofinance \
        --tag v0.1.0 \
        --name "the wolf of source street" \
        --description "Not a movie, contrary to popular opinion. Still, my first release!" \
        --pre-release
    

    This API is a little different due to the binary assets. We use the Accept header for content negotation when requesting a release asset.
    Pass a standard API media type to get the API representation:

    $ curl -i -H "Authorization: token TOKEN" \
         -H "Accept: application/vnd.github.manifold-preview" \
         "https://uploads.github.com/repos/hubot/singularity/releases/assets/123"
    
    HTTP/1.1 200 OK
    
    {
      "id": 123,
    ...
    }
    

    Pass “application/octet-stream” to download the binary content.

    $ curl -i -H "Authorization: token TOKEN" \
         -H "Accept: application/octet-stream" \
         "https://uploads.github.com/repos/hubot/singularity/releases/assets/123"
    
    HTTP/1.1 302 Found
    

    Uploads are handled by a single request to a companion “uploads.github.com” service.

    $ curl -H "Authorization: token TOKEN" \
         -H "Accept: application/vnd.github.manifold-preview" \
         -H "Content-Type: application/zip" \
         --data-binary @build/mac/package.zip \
         "https://uploads.github.com/repos/hubot/singularity/releases/123/assets?name=1.0.0-mac.zip"
    

    Update 2d July 2013, you now can define a release.

    release

    • Releases are accompanied by release notes and links to download the software or source code.
    • Following the conventions of many Git projects, releases are tied to Git tags. You can use an existing tag, or let releases create the tag when it’s published.
    • You can also attach binary assets (such as compiled executables, minified scripts, documentation) to a release. Once published, the release details and assets are available to anyone that can view the repository.

    This is what replaces the old binary upload service, which was removed in December 2012!


    the make release script builds up the release artifact and then uploads it to github in some fashion.

    That would mean adding it ("it" being the delivery made of one or several files, generally including binaries) to a regular local repo, and then pushing that repo to its matching GitHub repo.

    That being said, the reason GitHub isn’t mention in any "release" task is because Git is a source control management system, and is ill-suited for binaries.

    It can have those files (binaries) of course, but isn’t made to have them regularly, because of the bloated size of the repo after a while: each cloning would take longer and longer.
    See What are the Git limits, and also "git – should source files and repository be on the same machine ?".

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I'm trying to figure out the best way to save a simple one-to-many relationship
I'm trying to figure out what a Java applet's class file is doing under
I've been trying to figure out how to run a bash command in a
I'm laying the groundwork for an automated build process and am trying to make
I'm trying to figure out this problem for one of my comp sci classes,
I have been trying to figure this one out but I am having a
Trying to figure out an equation to get the current group a page would
In trying to figure out this problem (which is still unsolved and I still
I'm trying to figure out how big a certain database would be (it hasn't
I'm basically trying to figure out the simplest way to perform your basic insert

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.