stardot / beebasm

A portable 6502 assembler with BBC Micro style syntax
http://www.retrosoftware.co.uk/wiki/index.php/BeebAsm
GNU General Public License v3.0
83 stars 26 forks source link

Automatically create a release when a 'v*' tag is pushed #60

Closed mungre closed 2 years ago

mungre commented 2 years ago

Having merged this commit, to create a v4.56 release:

git tag v4.56
git push --tags

This builds a windows exe and creates a release with the zipped exe, the zipped sourced and the gzipped, tarred source, like this example.

The action automatically labels the release as "Pre-release". This default can be changed. The pre-release label can be removed with a checkbox on the edit release screen.

The exe is built on Microsoft's servers so hopefully it's virus free. This doesn't update the exe committed to the repository so that would need to be done manually. Or it could be deleted.

Edited to add: this doesn't mean I'm in a hurry to create a release! I was curious how to get an exe out of a github action.

ZornsLemma commented 2 years ago

That's pretty cool! I can't help thinking it would be good to delete the exe committed to the repository - presumably anyone who needs one can download it from the "releases" page? But I don't use Windows much myself so I may be missing something.

There is a lot of good stuff (not least your fix for not treating "LDA .label" with a spurious "." as "LDA 0"; I know it's near trivial, but that is a bit of a gotcha) which it would be good to get into an "official" release, but I know what you mean about not being in a hurry.

mungre commented 2 years ago

Cheers, I've deleted the exe. It's sometimes handy having them there, but that's outweighed by the nuisance of not committing new ones by accident.