knadh / stuffbin

Compress and embed static files and assets into Go binaries and access them with a virtual file system in production
Other
175 stars 27 forks source link

Add GitHub Actions Workflow #7

Closed asahasrabuddhe closed 1 year ago

asahasrabuddhe commented 4 years ago

Aim

The aim of this PR is to add support for GitHub Action for this repository. It is configured to work as described below:

  1. Test cases will be run for every PR on the master branch. Test cases will be run on Ubuntu, MacOS and Windows using the three current supported versions of Go: 1.11, 1.12 and 1.13.

  2. For every push on the master branch, the test cases will be run as described in point 1 above.

  3. In case a tag of the format v* is pushed on the master branch, the repo will be built and the binaries for Linux, MacOS and Windows will be uploaded as a release.

Changes

Long Term Maintenance Objectives

In the long run, the Go versions would need to be updated to keep up with the currently supported versions.

Future Enhancements

We could also potentially have a release notes generating system setup that would automate the generation of release notes for the release.

asahasrabuddhe commented 4 years ago

@knadh Please review :)

knadh commented 4 years ago

Re-posting the comment here. Not sure why you were unable to see the review comment.

https://github.com/knadh/stuffbin/pull/7/commits/7a78138b6be4ac77f047c651feae733f8b828360#diff-5f971b3c2159457c2dbd42890314dbbdR77

Confused by this. Where exactly is \r being written on Windows in stuffbin. The strings and binary blobs are written by stuffbin and there are no line endings involved, right?

asahasrabuddhe commented 4 years ago

Re-posting the comment here. Not sure why you were unable to see the review comment.

7a78138#diff-5f971b3c2159457c2dbd42890314dbbdR77

Confused by this. Where exactly is \r being written on Windows in stuffbin. The strings and binary blobs are written by stuffbin and there are no line endings involved, right?

The thing is wherever we write something on Windows, the line ending is \r\n so anywhere we do a write in Go, it will honor platform specific line endings without us having to do anything to make it happen.

knadh commented 4 years ago

But stuffbin is writing binary data and there are no line endings involved.