Skip to content

Commit

Permalink
Merge pull request #92 from trinitronx/develop
Browse files Browse the repository at this point in the history
Merge develop to master
  • Loading branch information
trinitronx authored May 24, 2022
2 parents f20ee14 + 4bb004e commit a4dcf3e
Show file tree
Hide file tree
Showing 148 changed files with 2,702 additions and 1,023 deletions.
5 changes: 2 additions & 3 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
# These are supported funding model platforms

github: [trinitronx] # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
#patreon: # Replace with a single Patreon username
patreon: phasik # Replace with a single Patreon username
#open_collective: # Replace with a single Open Collective username
#ko_fi: # Replace with a single Ko-fi username
ko_fi: trinitronx # Replace with a single Ko-fi username
#tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
#community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: trinitronx
#issuehunt: # Replace with a single IssueHunt username
#otechie: # Replace with a single Otechie username
custom: ['https://paypal.me/JamesCuzella'] # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']

81 changes: 81 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
---
name: ci

on:
pull_request:
branches:
- master
- main
- develop
push:
branches:
- master
- main
- develop

jobs:
rake-ci:
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v2
- uses: ruby/setup-ruby@v1
with:
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
- name: Run rake ci
run: |
bundle exec rake ci
integration:
needs: [rake-ci]
runs-on: ${{ matrix.os }}
strategy:
matrix:
#exclude:
include:
- os: 'macos-11'
suite: '--log-level debug default'
KITCHEN_LOCAL_YAML: '.kitchen.exec.yml'
- os: 'macos-12'
suite: '--log-level debug default'
KITCHEN_LOCAL_YAML: '.kitchen.exec.yml'
fail-fast: false

steps:
- name: Check out code
uses: actions/checkout@v2
- name: Install Chef
uses: actionshub/chef-install@main
- name: Test Kitchen
uses: actionshub/test-kitchen@main
env:
TERM: xterm-color
CHEF_LICENSE: accept-no-persist
CHEF_INSTALL_STRATEGY: skip
CHEF_OMNIBUS_ROOT: /opt/chef-workstation
KITCHEN_LOCAL_YAML: ${{ matrix.KITCHEN_LOCAL_YAML }}
with:
suite: ${{ matrix.suite }}
os: ${{ matrix.os }}
- name: Print debug output on failure
if: failure()
run: |
set -x
export TERM=xterm-color
log show --color always --last 5m
KITCHEN_LOCAL_YAML=${{ matrix.KITCHEN_LOCAL_YAML }} kitchen exec ${{ matrix.suite }}-${{ matrix.os }} -c "syslog"
integration_result:
needs: [integration]
if: always()
runs-on: [ubuntu-latest]
steps:
- name: check the jobs # get the matrix job status and combination info
run: |
job_status=$(curl -X GET -s --header "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" https://api.github.com/repos/${{ github.repository }}/actions/runs/${{ github.run_id }}/jobs | jq ".jobs[] | {job_status: .conclusion, matrix: .name}")
echo echo ::set-env JOB_STATUS=$job_status
- name: Set matrix job status
if: contains(env.JOB_STATUS, 'failed')
run: |
echo 'One or more integration matrix jobs failed!'
exit 1
21 changes: 21 additions & 0 deletions .github/workflows/pre-commit.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: pre-commit

on:
pull_request:
branches:
- master
- main
- develop
push:
branches:
- master
- main
- develop

jobs:
pre-commit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v3
- uses: pre-commit/[email protected]
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,3 @@ Berksfile.lock
Gemfile.lock
bin/*
.bundle/*

25 changes: 25 additions & 0 deletions .kitchen.exec.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
---
driver:
name: exec

transport:
name: exec

provisioner:
name: chef_zero
deprecations_as_errors: true
install_strategy: <%= ENV['CHEF_INSTALL_STRATEGY'] || 'once' %>
chef_omnibus_root: <%= ENV['CHEF_OMNIBUS_ROOT'] || '/opt/chef-workstation' %>

verifier:
# This will eventually become 'inputs'
# References:
# - https://github.com/inspec/kitchen-inspec/issues/237
# - https://github.com/inspec/inspec/pull/4398
# - https://docs.chef.io/inspec/inputs/#what-happened-to-attributes
attributes:
test_kitchen_user: <%= ENV['USER'] || 'vagrant' %>

platforms:
- name: macos-11
- name: macos-12
95 changes: 95 additions & 0 deletions .kitchen.libvirt.ssh.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
<%
# Hack to fix a bug in TK. TK supports using an SSH gateway in its SSH transport, but appears not to support configuring
# separate keys for the gateway and the destination.
require 'kitchen/transport/ssh'
GATEWAY_KEYS = ["#{ENV['HOME']}/.ssh/identity.lyra"]
class Kitchen::Transport::Ssh::Connection
# Replace this method in TK core with a version that uses the logged in user's key to access the SSH gateway.
def establish_connection_via_gateway(opts)
retry_connection(opts) do
Net::SSH::Gateway.new(ssh_gateway, ssh_gateway_username, options.merge(keys: GATEWAY_KEYS))
.ssh(hostname, username, options)
end
end
end
%>
---
driver:
name: vagrant
provider: libvirt
vagrantfiles:
- 'test/fixtures/Vagrantfile.libvirt-ssh'
synced_folders:
- [".", "/tmp/kitchen/soloist", "disabled: false, type: 'rsync'"]
# TODO: Find & fix bugs in Vagrant where it checks for vagrant-host path... needs to support remote NFS & 9p libvirt mounts
# TODO: Fix mount: false setting for 9p
# TODO: Fix auto-mount capability for Darwin / macOS... needs mount_9p support (see man mount_9p)
# Need to implement mount_9p_shared_folder capability for macOS / Darwin
# https://github.com/vagrant-libvirt/vagrant-libvirt/search?q=mount_9p_shared_folder
# NOTE: For qemu+ssh remote libvirt VM, create a fake directory matching hostpath on the host running vagrant
# In this use case, both hostpath & guestpath live on the same remote libvirt + qemu hypervisor host & VM (guest)
# - ["/opt/export/terabyte", "/System/Volumes/Data/terabyte", "hostpath: '/export/terabyte', guestpath: '/System/Volumes/Data/terabyte', disabled: false, type: '9p', mount: false, accessmode: 'squash', owner:'1000'"]
# - ["/export/terabyte", "/System/Volumes/Data/terabyte", "disabled: false, type: 'nfs', nfs_export: false, bsd__nfs_options: '-fstype=nfs,nolockd,resvport,hard,bg,intr,rw,tcp,nfc'"]
# ssh_gateway_username: trinitronx

# customize:
# memory: 1024

transport:
ssh_gateway: saturn.local
ssh_gateway_username: trinitronx
# username: vagrant

provisioner:
# name: chef_zero
transport:
ssh_gateway: saturn.local
ssh_gateway_username: trinitronx

# deprecations_as_errors: true
deprecations_as_errors: false
# multiple_converge: 2
# enforce_idempotency: true

verifier:
name: inspec
# This will eventually become 'inputs'
# References:
# - https://github.com/inspec/kitchen-inspec/issues/237
# - https://github.com/inspec/inspec/pull/4398
# - https://docs.chef.io/inspec/inputs/#what-happened-to-attributes
attributes:
test_kitchen_user: 'vagrant'
## Client error, can't connect to 'ssh' backend: Only one of proxy_command or bastion_host needs to be specified]
## Apparently the transport ssh_gateway option is actually passed through to InSpec
# proxy_command: ssh saturn.local -q0 %h:%p

platforms:
# - name: ubuntu-20.04
# driver:
# box: generic/ubuntu2004
# lifecycle:
# pre_converge:
# - remote: sudo addgroup --system admin
# - remote: sudo usermod -a -G admin kitchen
- name: macos-12.1
lifecycle:
pre_converge:
- remote: sudo mkdir -p /tmp/kitchen
- remote: sudo chown -R vagrant:vagrant /tmp/kitchen
driver:
box: lyraphase-runner/macos-monterey-base
box_url: http://saturn.local:8888/lyraphase-runner-macos-monterey-base.box
communicator: ssh
gui: true
customize:
memory: 4096
# cpus: 2

#suites:
# - name: default
# run_list:
# - recipe[sprout-base::default]
# includes: [ubuntu-20.04, macos-latest]
18 changes: 17 additions & 1 deletion .kitchen.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,26 @@ driver:

provisioner:
name: chef_zero
client_rb:
ohai.optional_plugins: [ ':Passwd' ]
encrypted_data_bag_secret_key_path: 'test/fixtures/encrypted_data_bag_secret'
data_bags_path: 'test/fixtures/data_bags'

verifier:
name: inspec

platforms:
- name: macosx-10.10

suites:
- name: default
run_list: recipe[lyraphase_workstation::ableton_live]
run_list:
- recipe[lyraphase_workstation::ableton_live]
- recipe[lyraphase_workstation::bashrc]
- recipe[lyraphase_workstation::bitfocus_companion]
attributes:
lyraphase_workstation:
bashrc:
user_fullname: 'vagrant'
user_email: '[email protected]'
user_gpg_keyid: '0xBADC0DE00FEED000'
Loading

0 comments on commit a4dcf3e

Please sign in to comment.