Closed asahasrabuddhe closed 1 year ago
@knadh Please review :)
Re-posting the comment here. Not sure why you were unable to see the review comment.
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?
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.
But stuffbin is writing binary data and there are no line endings involved.
Aim
The aim of this PR is to add support for GitHub Action for this repository. It is configured to work as described below:
Test cases will be run for every PR on the
master
branch. Test cases will be run onUbuntu
,MacOS
andWindows
using the three current supported versions of Go:1.11
,1.12
and1.13
.For every push on the
master
branch, the test cases will be run as described in point 1 above.In case a tag of the format
v*
is pushed on themaster
branch, the repo will be built and the binaries forLinux
,MacOS
andWindows
will be uploaded as a release.Changes
.github/workflows/stuffbin.yml
- Add support for GitHub Actions.fs_test.go
- Add onlyfoo.txt
andfoofunc.txt
to the glob to increase the stability of the test case.stuff_test.go
- Decrement sizes for windows to compensate for the extra\r
byte. Also, add code to the assert function to discard\r
byte wherever applicable.unstuff_test.go
- Decrement sizes for windows to compensate for the extra\r
byte.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.