Releases: fubarhouse/ansible-role-golang
2.5: Yeti
- Complete audit of travis test dependencies
- Removes the use of become & become_user
- Fixes jinja2 syntax deprecation warnings
- Supports 20 linux distributions
2.4: Xing Tian
- Adds ability to change the mode of the codebase, defaults to 755
- Adds ability to change the mode of the workspace, defaults to 755
- Adds ability to install go packages manually via
go install
- Achieves true idempotence, huge performance gains to due flow control-based workload
- Updates the default version
- Official support for Artful Aardvark
- Official support for Zesty Zapus
- Official support for Yakkety Yak
- Official support for Wily Werewolf
- Official support for Vivid Vervet
- Official support for Saucy Salamander
- Official support for Raring Ringtail
- Official support for Quantal Quetzal
- Official support for Fedora24
- Official support for Fedora25
- Official support for Debian 7
- Official support for Debian 9
Note: Official support typically associates a Travis CI test associated with the platform.
2.3: Weregopher
The weregopher release introduces two key features which were removed from the 2.2 release.
- Building from source is once again supported.
- Official support for Precise (Ubuntu 12.04) is once again present with Travis tests.
If you would like the ability to build from master, please log an issue for it - It is something I'm considering again.
2.2: Vampire build
v2.2 Is basically a rewrite and refactor of many core functionalities for the sake of simplicity.
Changes since v2.1
- Complete rewrite of role.
- No more GVM - statistics show a very small portion of users actually use GVM.
- GoPM tasks are more contextually literate
- Variables are more flexible and standardised
- Configurations ($GOOS & $GOARCH) are limitless, automatic and configurable.
- Problems with user permissions on go get are resolved.
- Default version is updated to 1.8.1
- Documentation is now up to date and accurate.
- Travis CI tests are now passing
- Idempotence tests pass
- Significant performance gains
Features no longer available
The following are features which are no longer available, but are likely in the roadmap to be re-introduced.
Go version manager implementation.
- Building from source
- Official Ubuntu 12.04 support
Go Re-get!
- Fixes file permission changes after
go get
commands have executed. - Default path now matches the standard Go path conventions at ~/go
- Binaries of go packages are no longer created
- Fixes incorrect environment variables
- Adds
go_reget
variable for removal of packages before runninggo get
- Updates default version to 1.8
Effective rerelease
All of my recent changes are packaged up.
Among the highlights (so many changes it's basically a new role) include:
- Building from source now compiles from source
- Go get works again
- Uses a custom gvm use script and it actually works
- Better segregation of tasks - it's much easier to manage now
- Many other little changes
- Tests now pass.
Restructure, bugfixes and features
Changes
- Official support for CentOS6 has been ceased completely, and will not be returning
- Installation types have been segregated into independent files and things are much cleaner now.
- gopm tasks have been segregated into independent files
- gvm-specific tasks have been segregated into independent files
- gopm environment variables have been audited
- go get commands now symlink binaries into the ROOT/bin folder with a new format for
go_get
- everything has been retested for the sake of integrity.
Notes
- CentOS6 isn't supported by Drupal VM (one of Jeff Geerling's flagship products). His docker images are not featured in the Travis tests and so I will no longer be supporting CentOS6 officially - but it does in fact work equally as well as CentOS7.
Roadmap
- Planned for immediate implementation beyond this is #7 to ensure source installations actually compile - as they're currently using binary installations.
Official release
- Clean install optional - recommended if changing between static and gvm installations.
- Static binary installs are still available
- Install multiple versions of Go using GVM
- Install from Go Source
- Installs using the Ansible way, the GVM installation script has been converted into Ansible tasks.
- Install allows additional flags to be passed in (ie --binary --prefer-binary --source)
- Install from mirror URL
- Install to any location
Initial release
- Install Go on many supported platforms
- Install gopm and modules.
- Tested on mac
- Lacks CentOS6 support - probably to come at a later date.
I'll have a think about features etc and how to make it awesome and I'll go through another cycle to get a version 1.0 going. I want this to be as awesome as possible, so time to think will help - it's already rock solid and off to a fantastic start!