feat: Create provisioner abstraction (#12)

* feat: Create provisioner abstraction

Creates a provisioner abstraction that takes prior art from the Terraform plugin system. It's safe to assume this code will change a lot when it becomes integrated with provisionerd.

Closes #10.

* Ignore generated files in diff view

* Check for unstaged file changes

* Install protoc-gen-go

* Use proper drpc plugin version

* Fix serve closed pipe

* Install sqlc with curl for speed

* Fix install command

* Format CI action

* Add linguist-generated and closed pipe test

* Cleanup code from comments

* Add dRPC comment

* Add Terraform installer for cross-platform

* Build provisioner tests on Linux only
This commit is contained in:
Kyle Carberry
2022-01-08 11:24:02 -06:00
committed by GitHub
parent 2769f4c2e0
commit 7c260f88d1
20 changed files with 1877 additions and 14 deletions
+23 -1
View File
@@ -38,6 +38,28 @@ jobs:
with:
version: latest
gen:
name: "style/gen"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Install Protoc
uses: arduino/setup-protoc@v1
with:
version: "3.6.1"
- uses: actions/setup-go@v2
with:
go-version: "^1.17"
- run:
curl -sSL
https://github.com/kyleconroy/sqlc/releases/download/v1.11.0/sqlc_1.11.0_linux_amd64.tar.gz
| sudo tar -C /usr/bin -xz sqlc
- run: go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.26
- run: go install storj.io/drpc/cmd/protoc-gen-go-drpc@v0.0.26
- run: "make --output-sync -j gen"
- run: ./scripts/check_unstaged.sh
style:
name: "style/${{ matrix.style }}"
runs-on: ubuntu-latest
@@ -95,7 +117,7 @@ jobs:
- run:
gotestsum --jsonfile="gotests.json" --packages="./..." --
-covermode=atomic -coverprofile="gotests.coverage"
-covermode=atomic -coverprofile="gotests.coverage" -timeout=1m
- uses: codecov/codecov-action@v2
with: