Passing binaries release through GitHub Desktop


How can we push release (binaries / executables) through Windows version of GitHub Desktop? Cannot find understandable instructions.


:wave: @adslbarxatov: GitHub Desktop tracks all changes to all files as you edit them, be it plaintext files or binaries (executables). You can follow the same instructions for committing and reviewing changes to your project and pushing changes to GitHub. If that doesn’t help, could you share an example of what you’re looking to accomplish?

Thanks for your answer!

Sorry, sorry, maybe, we have described our question oddly a bit. We need to draft new release through GitHub Desktop. Just as it is in GitHub on web. Is it possible?

We learned how to create tags. But that doesn’t seem like a solution we need

:bulb: Thanks for clarifying! I have a better understanding of your question.

It’s not possible to draft or create a new release in GitHub Desktop in the same way that you can in the user interface or creating a release via the GitHub API. GitHub Desktop is open source and has a contributing guide that might be worth checking out if you’d like to propose this idea in an issue or in a pull request. Alternatively, you could set up an application or create a GitHub Actions workflow to automate the creation of a new release given some event. I hope this helps!

Thanks for answer!

Sad, but OK.

We started to use Actions (thanks!). We’ve broken our minds, but created our first script. It works almost correct (
But we have no idea, how to pass environment variable from line 42 to line 52 (into actions/github-script@v2 section). (And we almost sure, that there is the same trouble in line 58). Execution results give no info, just unexpected string, without even the line number.

actions/upload-release-asset failed to parse file name wildcards. So, we cannot use it. actions/github-script@v2 described as universal solution for troubles like this. And we saw you as its contributor. May be, you can help us to finish this?

$RID isn’t a valid Javascript environment variable reference as far as I’m aware. You should be able to do the Actions style substitution in the script snippet without using the environment variable (${{ }}), or if that doesn’t work try the Node way of using process.env.

1 Like


Seems like ${{}} syntax works.
But the next problem occurs in the path parameter: where are fs.readdir and fs.readfile pointing when they get '.' path? It is not the repo root folder, because they ‘say’ that there are no such files (we used ./Release/${file} pattern). But they are there. What is our mistake?

P. S. /Release pattern doesn’t point to <repo_root>/Release directory too. We’re stuck…

You need to check out the repository using actions/checkout before you can use files from it, otherwise your workflow has just an empty workspace. The simplest case, to get the latest commit on the branch the workflow is running on:

      - uses: actions/checkout@v2

I assume you might want to fetch a release tag instead, in that case you can use the ref parameter for actions/checkout:

      - uses: actions/checkout@v2
          ref: ${{ env.TAG }}

Thank you!

It looks like we won.

I was grown on ANSI C and C#, where " is a string / array and ' is a character. Everything is simple and clear. And \x60 (reversed apostroph or something) as another one string delimiter that can dereference variables… It’s weird a bit…

But it works. So, thank you for help!