Switch around the groups defined in the Gemfile to allow execution
without installing additional tools that are useful for development but
not needed for testing or packaging.
Upstream transitive dependency has dropped support for older rubies
without updating the minimum ruby version required.
Pin the max version of the dependency for older rubies to allow the
tests to run until the upstream project resolves.
Allow control of the reference or version of vagrant-spec to be used
from the dev environment where it is necessary to test with older
versions of the plugin which may depend on different versions of
dependencies compared to vagrant-spec.
In this case the latest vagrant-spec has rolled forward the rspec core
version to 3.10, which works with the latest vagrant-libvirt. However
previous versions of vagrant-libvirt require 3.5, which was the previous
minor version pinned.
Adding the option of VAGRANT_SPEC_VERSION that can be set as an
environment variable should help control this explicitly when needed in
the future the same as how VAGRANT_VERSION is handled.
Retrieve vagrant and ruby-libvirt dependencies and modify as needed to
allow testing against ruby 3.0 until released versions support.
Use conditionals to skip steps when not needed.
Note that in order to use the locally built gem added to the cache
manually, need to disable checksums. However as all other ruby
versions will continue to use it, shouldn't be an issue as long as the
cache for ruby 3.0.0 is wiped clean before being used for anything such
as publishing.
Fixes: #1244
Migrate to github actions as travis has switched to a process that will
require requesting minutes regularly for open source projects, and
current development is slow enough that this additional overhead is too
much.
Correct the generation of the line coverage following the example at
coverallsapp/github-action#29. Remove dependency on coveralls
gem as no longer needed if using the action.
Patch older versions of simplecov to contain a branch_coverage?
method to ensure working with simplecov-lcov.
fixes `bundle install` step from the README, currently broken by https://github.com/hashicorp/vagrant-spec/issues/41
```
~/src/vagrant-libvirt $ bundle install
....
Fetching git://github.com/hashicorp/vagrant-spec.git
fatal: Needed a single revision
Revision master does not exist in the repository git://github.com/hashicorp/vagrant-spec.git. Maybe you misspelled it?
```
Works fine now on my workstation with the new name:
```
Using vagrant-spec 0.0.1 from git://github.com/hashicorp/vagrant-spec.git (at main@b6b56c8)
Bundle complete! 10 Gemfile dependencies, 73 gems now installed.
```
Latest vagrant depends on a vagrant-spec release containing a more
recent dependency on childprocess than is supported for earlier releases
of vagrant.
Adjust dependencies to pin to the specific release of vagrant-spec if
the request version of vagrant is 2.2.7 or older.
Does not attempt to handle the situation where a version is specified
that cannot be parsed.
While it would be useful to test against newer versions of 2.2.x, it
appears this encounters a bug in upstream vagrant when installing in
dev mode see https://github.com/hashicorp/vagrant#11293
Therefore limit latest 2.2.x released version tested against to 2.2.4.
Add some basic spec tests for the WaitTillUp action class to lay some
foundations. Utilize vagrant-spec pinned to a known working commit for
tests to pass consistently until they provide releases.
Requires updating some of the rspec libraries and includes
sharedcontext.rb from the jantman/vagrant-r10k project on github.