beaker-hcloud 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.github/dependabot.yml +18 -0
- data/.github/workflows/ci.yml +57 -0
- data/.github/workflows/codeql-analysis.yml +70 -0
- data/.github/workflows/release.yml +32 -0
- data/.gitignore +7 -0
- data/.rubocop.yml +5 -0
- data/.rubocop_todo.yml +20 -0
- data/CHANGELOG.md +37 -0
- data/Gemfile +15 -0
- data/LICENSE +661 -0
- data/README.md +53 -0
- data/Rakefile +26 -0
- data/beaker-hcloud.gemspec +29 -0
- data/lib/beaker/hypervisor/hcloud.rb +95 -0
- data/lib/beaker-hcloud/ssh_data_patches.rb +66 -0
- data/lib/beaker-hcloud/version.rb +5 -0
- data/spec/beaker/hypervisor/hcloud_spec.rb +168 -0
- data/spec/spec_helper.rb +29 -0
- metadata +185 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 4f5c821c0ea39733284ea3d70220e085155221384a33df8395dd7cd3cf0cea7f
|
4
|
+
data.tar.gz: 908acad7d375b2499443bc3201db069021b02b529a9d0d94457bb014c2bbee3c
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 4a3223bbffcaed617da9db8e0eb82b710035beb400e7ed77c04a9fc5d66f37068a572e791c2e5cf2eb14a8354c8e0350cb3ce7502386cdd41f7dc3c1b014b80f
|
7
|
+
data.tar.gz: 0411310e0b93bc71e3a06c8ddd9570ccdf6e7c990c5f2c52660f4695cad1d556f6afc74d104bf2b5ec448b581758659d6bf65f9cad580361ee83c551990d18d3
|
@@ -0,0 +1,18 @@
|
|
1
|
+
---
|
2
|
+
version: 2
|
3
|
+
updates:
|
4
|
+
# raise PRs for gem updates
|
5
|
+
- package-ecosystem: bundler
|
6
|
+
directory: "/"
|
7
|
+
schedule:
|
8
|
+
interval: daily
|
9
|
+
time: "13:00"
|
10
|
+
open-pull-requests-limit: 10
|
11
|
+
|
12
|
+
# Maintain dependencies for GitHub Actions
|
13
|
+
- package-ecosystem: github-actions
|
14
|
+
directory: "/"
|
15
|
+
schedule:
|
16
|
+
interval: daily
|
17
|
+
time: "13:00"
|
18
|
+
open-pull-requests-limit: 10
|
@@ -0,0 +1,57 @@
|
|
1
|
+
name: Test
|
2
|
+
|
3
|
+
on:
|
4
|
+
pull_request: {}
|
5
|
+
push:
|
6
|
+
branches:
|
7
|
+
- master
|
8
|
+
|
9
|
+
env:
|
10
|
+
BUNDLE_WITHOUT: release
|
11
|
+
|
12
|
+
jobs:
|
13
|
+
rubocop:
|
14
|
+
runs-on: ubuntu-latest
|
15
|
+
steps:
|
16
|
+
- uses: actions/checkout@v4
|
17
|
+
- name: Install Ruby 3.2
|
18
|
+
uses: ruby/setup-ruby@v1
|
19
|
+
with:
|
20
|
+
ruby-version: "3.2"
|
21
|
+
bundler-cache: true
|
22
|
+
- name: Run rubocop
|
23
|
+
run: bundle exec rake rubocop
|
24
|
+
test:
|
25
|
+
runs-on: ubuntu-latest
|
26
|
+
strategy:
|
27
|
+
fail-fast: false
|
28
|
+
matrix:
|
29
|
+
include:
|
30
|
+
- ruby: "2.7"
|
31
|
+
- ruby: "3.0"
|
32
|
+
- ruby: "3.1"
|
33
|
+
coverage: "yes"
|
34
|
+
- ruby: "3.2"
|
35
|
+
env:
|
36
|
+
COVERAGE: ${{ matrix.coverage }}
|
37
|
+
name: Ruby ${{ matrix.ruby }}
|
38
|
+
steps:
|
39
|
+
- uses: actions/checkout@v4
|
40
|
+
- name: Install Ruby ${{ matrix.ruby }}
|
41
|
+
uses: ruby/setup-ruby@v1
|
42
|
+
with:
|
43
|
+
ruby-version: ${{ matrix.ruby }}
|
44
|
+
bundler-cache: true
|
45
|
+
- name: Verify gem builds
|
46
|
+
run: gem build --strict --verbose *.gemspec
|
47
|
+
- name: Run spec tests
|
48
|
+
run: bundle exec rake
|
49
|
+
|
50
|
+
tests:
|
51
|
+
needs:
|
52
|
+
- rubocop
|
53
|
+
- test
|
54
|
+
runs-on: ubuntu-latest
|
55
|
+
name: Test suite
|
56
|
+
steps:
|
57
|
+
- run: echo Test suite completed
|
@@ -0,0 +1,70 @@
|
|
1
|
+
# For most projects, this workflow file will not need changing; you simply need
|
2
|
+
# to commit it to your repository.
|
3
|
+
#
|
4
|
+
# You may wish to alter this file to override the set of languages analyzed,
|
5
|
+
# or to provide custom queries or build logic.
|
6
|
+
#
|
7
|
+
# ******** NOTE ********
|
8
|
+
# We have attempted to detect the languages in your repository. Please check
|
9
|
+
# the `language` matrix defined below to confirm you have the correct set of
|
10
|
+
# supported CodeQL languages.
|
11
|
+
#
|
12
|
+
name: "CodeQL"
|
13
|
+
|
14
|
+
on:
|
15
|
+
push:
|
16
|
+
branches: [ master ]
|
17
|
+
pull_request:
|
18
|
+
# The branches below must be a subset of the branches above
|
19
|
+
branches: [ master ]
|
20
|
+
schedule:
|
21
|
+
- cron: '30 0 * * 4'
|
22
|
+
|
23
|
+
jobs:
|
24
|
+
analyze:
|
25
|
+
name: Analyze
|
26
|
+
runs-on: ubuntu-latest
|
27
|
+
permissions:
|
28
|
+
actions: read
|
29
|
+
contents: read
|
30
|
+
security-events: write
|
31
|
+
|
32
|
+
strategy:
|
33
|
+
fail-fast: false
|
34
|
+
matrix:
|
35
|
+
language: [ 'ruby' ]
|
36
|
+
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
|
37
|
+
# Learn more about CodeQL language support at https://git.io/codeql-language-support
|
38
|
+
|
39
|
+
steps:
|
40
|
+
- name: Checkout repository
|
41
|
+
uses: actions/checkout@v4
|
42
|
+
|
43
|
+
# Initializes the CodeQL tools for scanning.
|
44
|
+
- name: Initialize CodeQL
|
45
|
+
uses: github/codeql-action/init@v2
|
46
|
+
with:
|
47
|
+
languages: ${{ matrix.language }}
|
48
|
+
# If you wish to specify custom queries, you can do so here or in a config file.
|
49
|
+
# By default, queries listed here will override any specified in a config file.
|
50
|
+
# Prefix the list here with "+" to use these queries and those in the config file.
|
51
|
+
# queries: ./path/to/local/query, your-org/your-repo/queries@main
|
52
|
+
|
53
|
+
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
54
|
+
# If this step fails, then you should remove it and run the build manually (see below)
|
55
|
+
- name: Autobuild
|
56
|
+
uses: github/codeql-action/autobuild@v2
|
57
|
+
|
58
|
+
# ℹ️ Command-line programs to run using the OS shell.
|
59
|
+
# 📚 https://git.io/JvXDl
|
60
|
+
|
61
|
+
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
|
62
|
+
# and modify them (or add more) to build your code if your project
|
63
|
+
# uses a compiled language
|
64
|
+
|
65
|
+
#- run: |
|
66
|
+
# make bootstrap
|
67
|
+
# make release
|
68
|
+
|
69
|
+
- name: Perform CodeQL Analysis
|
70
|
+
uses: github/codeql-action/analyze@v2
|
@@ -0,0 +1,32 @@
|
|
1
|
+
name: Release
|
2
|
+
|
3
|
+
on:
|
4
|
+
push:
|
5
|
+
tags:
|
6
|
+
- '*'
|
7
|
+
|
8
|
+
jobs:
|
9
|
+
release:
|
10
|
+
runs-on: ubuntu-latest
|
11
|
+
if: github.repository_owner == 'voxpupuli'
|
12
|
+
steps:
|
13
|
+
- uses: actions/checkout@v3
|
14
|
+
- name: Install Ruby 3.0
|
15
|
+
uses: ruby/setup-ruby@v1
|
16
|
+
with:
|
17
|
+
ruby-version: '3.0'
|
18
|
+
env:
|
19
|
+
BUNDLE_WITHOUT: release
|
20
|
+
- name: Build gem
|
21
|
+
run: gem build --strict --verbose *.gemspec
|
22
|
+
- name: Publish gem to rubygems.org
|
23
|
+
run: gem push *.gem
|
24
|
+
env:
|
25
|
+
GEM_HOST_API_KEY: '${{ secrets.RUBYGEMS_AUTH_TOKEN }}'
|
26
|
+
- name: Setup GitHub packages access
|
27
|
+
run: |
|
28
|
+
mkdir -p ~/.gem
|
29
|
+
echo ":github: Bearer ${{ secrets.GITHUB_TOKEN }}" >> ~/.gem/credentials
|
30
|
+
chmod 0600 ~/.gem/credentials
|
31
|
+
- name: Publish gem to GitHub packages
|
32
|
+
run: gem push --key github --host https://rubygems.pkg.github.com/voxpupuli *.gem
|
data/.gitignore
ADDED
data/.rubocop.yml
ADDED
data/.rubocop_todo.yml
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
# This configuration was generated by
|
2
|
+
# `rubocop --auto-gen-config`
|
3
|
+
# on 2023-09-22 08:48:45 UTC using RuboCop version 1.54.2.
|
4
|
+
# The point is for the user to remove these configuration records
|
5
|
+
# one by one as the offenses are removed from the code base.
|
6
|
+
# Note that changes in the inspected code, or installation of new
|
7
|
+
# versions of RuboCop, may require this file to be generated again.
|
8
|
+
|
9
|
+
# Offense count: 2
|
10
|
+
# Configuration parameters: Max.
|
11
|
+
RSpec/IndexedLet:
|
12
|
+
Exclude:
|
13
|
+
- 'spec/beaker/hypervisor/hcloud_spec.rb'
|
14
|
+
|
15
|
+
# Offense count: 1
|
16
|
+
# This cop supports safe autocorrection (--autocorrect).
|
17
|
+
# Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, AllowedPatterns.
|
18
|
+
# URISchemes: http, https
|
19
|
+
Layout/LineLength:
|
20
|
+
Max: 149
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1,37 @@
|
|
1
|
+
# Changelog
|
2
|
+
|
3
|
+
All notable changes to this project will be documented in this file.
|
4
|
+
|
5
|
+
## [1.0.0](https://github.com/voxpupuli/beaker-hcloud/tree/1.0.0) (2023-09-22)
|
6
|
+
|
7
|
+
[Full Changelog](https://github.com/voxpupuli/beaker-hcloud/compare/205d48a4c1a5dd11add8d7245ad659bb7536a9d9...1.0.0)
|
8
|
+
|
9
|
+
**Implemented enhancements:**
|
10
|
+
|
11
|
+
- Add Ruby 3.2 support [\#14](https://github.com/voxpupuli/beaker-hcloud/pull/14) ([bastelfreak](https://github.com/bastelfreak))
|
12
|
+
- Initial implementation of hypervisor \#10 [\#11](https://github.com/voxpupuli/beaker-hcloud/pull/11) ([oneiros](https://github.com/oneiros))
|
13
|
+
|
14
|
+
**Closed issues:**
|
15
|
+
|
16
|
+
- Hetzner Cloud integration [\#10](https://github.com/voxpupuli/beaker-hcloud/issues/10)
|
17
|
+
|
18
|
+
**Merged pull requests:**
|
19
|
+
|
20
|
+
- Apply Vox Pupuli CI best practices [\#22](https://github.com/voxpupuli/beaker-hcloud/pull/22) ([bastelfreak](https://github.com/bastelfreak))
|
21
|
+
- switch to voxpupuli-rubocop [\#21](https://github.com/voxpupuli/beaker-hcloud/pull/21) ([bastelfreak](https://github.com/bastelfreak))
|
22
|
+
- beaker: Require 5.4 or newer [\#20](https://github.com/voxpupuli/beaker-hcloud/pull/20) ([bastelfreak](https://github.com/bastelfreak))
|
23
|
+
- dependabot: check for github actions and gems [\#15](https://github.com/voxpupuli/beaker-hcloud/pull/15) ([bastelfreak](https://github.com/bastelfreak))
|
24
|
+
- GHA: Add Dummy job we can depend on for reviews [\#12](https://github.com/voxpupuli/beaker-hcloud/pull/12) ([bastelfreak](https://github.com/bastelfreak))
|
25
|
+
- depend on latest beaker [\#9](https://github.com/voxpupuli/beaker-hcloud/pull/9) ([bastelfreak](https://github.com/bastelfreak))
|
26
|
+
- Add LICENSE/README.md [\#8](https://github.com/voxpupuli/beaker-hcloud/pull/8) ([bastelfreak](https://github.com/bastelfreak))
|
27
|
+
- implement beaker hypervisor skeleton [\#7](https://github.com/voxpupuli/beaker-hcloud/pull/7) ([bastelfreak](https://github.com/bastelfreak))
|
28
|
+
- CI: Run spec tests [\#6](https://github.com/voxpupuli/beaker-hcloud/pull/6) ([bastelfreak](https://github.com/bastelfreak))
|
29
|
+
- Create codeql-analysis.yml [\#5](https://github.com/voxpupuli/beaker-hcloud/pull/5) ([bastelfreak](https://github.com/bastelfreak))
|
30
|
+
- Add basic unit testing [\#4](https://github.com/voxpupuli/beaker-hcloud/pull/4) ([bastelfreak](https://github.com/bastelfreak))
|
31
|
+
- CI: Only run on PRs [\#3](https://github.com/voxpupuli/beaker-hcloud/pull/3) ([bastelfreak](https://github.com/bastelfreak))
|
32
|
+
- do not hardcode version in gemspec [\#2](https://github.com/voxpupuli/beaker-hcloud/pull/2) ([bastelfreak](https://github.com/bastelfreak))
|
33
|
+
- Add boilerplate code [\#1](https://github.com/voxpupuli/beaker-hcloud/pull/1) ([bastelfreak](https://github.com/bastelfreak))
|
34
|
+
|
35
|
+
|
36
|
+
|
37
|
+
\* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)*
|
data/Gemfile
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
source ENV['GEM_SOURCE'] || 'https://rubygems.org'
|
4
|
+
|
5
|
+
gemspec
|
6
|
+
|
7
|
+
group :coverage, optional: ENV['COVERAGE'] != 'yes' do
|
8
|
+
gem 'codecov', require: false
|
9
|
+
gem 'simplecov-console', require: false
|
10
|
+
end
|
11
|
+
|
12
|
+
group :release, optional: true do
|
13
|
+
gem 'faraday-retry', '~> 2.1', require: false
|
14
|
+
gem 'github_changelog_generator', '~> 1.16.4', require: false
|
15
|
+
end
|