I am using blow command to publish a release on Github repo:
curl -X POST -H \"Authorization: token xxxxxxxxx\" -d \'{\"tag_name\": \"test\", \"name\":\"rel
You can control the contents of sorcecode archive within automatic generation using the .gitattributes file (and make it part of your repository).
Add lines like:
src export-ignore
to exclude the directory "src" from being part of the generated source package. Internally github uses "git archive" to create packages based on the tags - and "git archive" can be controlled via ".gitattributes".
Don't know whether you can avoid generating the source package completely - but this is at least a workaround to control the contents of the source code package
I don't think you can on the community version. You can attach small binaries to the release though. I believe this is the way that GitHub works, as it is oriented around browsing the code, and providing the source is the important part.
To create a new release and upload additional binaries, you can :
POST /repos/:username/:repo/releases
and store the upload_url
field from the responsePOST $upload_url
with additional parameters name
and optional label
(refer to this)A quick example using bash
, curl
and jq (JSON parser) :
#!/bin/bash
token=YOUR_TOKEN
repo=username/your-repo
upload_url=$(curl -s -H "Authorization: token $token" \
-d '{"tag_name": "test", "name":"release-0.0.1","body":"this is a test release"}' \
"https://api.github.com/repos/$repo/releases" | jq -r '.upload_url')
upload_url="${upload_url%\{*}"
echo "uploading asset to release to url : $upload_url"
curl -s -H "Authorization: token $token" \
-H "Content-Type: application/zip" \
--data-binary @test.zip \
"$upload_url?name=test.zip&label=some-binary.zip"