Skip to content

Commit

Permalink
Add documentation CI job
Browse files Browse the repository at this point in the history
To ensure that 'make docs' functionality does not break.
  • Loading branch information
stuart-mclaren-hpe committed Sep 4, 2024
1 parent d633174 commit ae4cfda
Show file tree
Hide file tree
Showing 3 changed files with 41 additions and 9 deletions.
22 changes: 22 additions & 0 deletions .github/workflows/docs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Copyright 2024 Hewlett Packard Enterprise Development LP
name: Docs

on:
push:
branches:
- main
pull_request:
jobs:
docs:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v2
- uses: actions/setup-go@v2
with:
go-version: '1.22.3'
- uses: hashicorp/setup-terraform@v2
with:
terraform_version: 1.9.5
- run: make install-experimental
- run: go install github.com/hashicorp/terraform-plugin-docs/cmd/tfplugindocs@v0.19.4
- run: make docs
27 changes: 18 additions & 9 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -26,12 +26,21 @@ install-experimental:
go install -tags experimental ./...

docs:
echo -e ${PROVIDER_TF} > __docs.tf; \
tempfile=$$(mktemp); \
terraform providers schema -json | \
sed 's@github.com/hewlettpackard/hpegl-pcbe-terraform-resources@hpegl@g' > $$tempfile; \
tfplugindocs generate --providers-schema $$tempfile -provider-name hpegl;
rm __docs.tf
printf "${PROVIDER_TF}" > __docs.tf; \
tfconfig=$$(mktemp); \
sed "s@__HOME__@${HOME}@g" test/.terraformrc > $$tfconfig; \
schemafile=$$(mktemp); \
env TF_CLI_CONFIG_FILE=$$tfconfig terraform providers schema -json | \
sed 's@github.com/hewlettpackard/hpegl-pcbe-terraform-resources@hpegl@g' > $$schemafile; \
echo xxx ; \
cat test/schema.json | jq; \
echo xxx2 ; \
cat $$schemafile | jq; \
echo xxx3 ; \
diff -u test/schema.json $$schemafile; \
echo xxx4 ; \
tfplugindocs generate --provider-name hpegl --providers-schema $$schemafile
rm __docs.tf; \

test:
go test ./...
Expand All @@ -42,9 +51,9 @@ testacc:

testacc-simulation:
go install -tags experimental,simulation ./cmd/...
tempfile=$$(mktemp); \
sed "s@__HOME__@${HOME}@g" test/.terraformrc > $$tempfile; \
env TF_ACC=1 env TF_CLI_CONFIG_FILE=$$tempfile \
tfconfig=$$(mktemp); \
sed "s@__HOME__@${HOME}@g" test/.terraformrc > $$tfconfig; \
env TF_ACC=1 env TF_CLI_CONFIG_FILE=$$tfconfig \
go test -v -tags simulation ./test/...

lint:
Expand Down
1 change: 1 addition & 0 deletions test/schema.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"format_version":"1.0","provider_schemas":{"hpegl":{"provider":{"version":0,"block":{"block_types":{"pc":{"nesting_mode":"single","block":{"attributes":{"host":{"type":"string","description_kind":"plain","required":true},"http_dump":{"type":"bool","description_kind":"plain","optional":true},"max_polls":{"type":"number","description_kind":"plain","optional":true},"poll_interval":{"type":"number","description_kind":"plain","optional":true},"token":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"resource_schemas":{"hpegl_pc_datastore":{"version":0,"block":{"attributes":{"capacity_in_bytes":{"type":"number","description":"Size of the datastore in bytes.","description_kind":"markdown","required":true},"cluster_info":{"nested_type":{"attributes":{"id":{"type":"string","description":"UUID string uniquely identifying the hypervisor cluster.","description_kind":"markdown","computed":true},"name":{"type":"string","description":"Name of the cluster as reported by the hypervisor manager.","description_kind":"markdown","required":true}},"nesting_mode":"single"},"description_kind":"plain","required":true},"datacenters_info":{"nested_type":{"attributes":{"id":{"type":"string","description":"UUID string uniquely identifier of the datacenter.","description_kind":"markdown","computed":true},"name":{"type":"string","description":"VMware provided name for the datacenter.","description_kind":"markdown","computed":true}},"nesting_mode":"list"},"description":"List of datacenters to which the datastore is presented to.","description_kind":"markdown","computed":true},"datastore_type":{"type":"string","description":"Supported datastore types are VMFS or vVOL","description_kind":"markdown","required":true},"hci_cluster_uuid":{"type":"string","description":"UUID string uniquely identifying the HCI cluster.","description_kind":"markdown","required":true},"id":{"type":"string","description":"UUID string uniquely identifying the datastore","description_kind":"markdown","computed":true},"name":{"type":"string","description":"The data store name","description_kind":"markdown","required":true}},"description_kind":"plain"}},"hpegl_pc_hypervisor_cluster":{"version":0,"block":{"attributes":{"app_info":{"nested_type":{"attributes":{"vmware":{"nested_type":{"attributes":{"datacenter_info":{"nested_type":{"attributes":{"name":{"type":"string","description":"VMware provided name for the datacenter.","description_kind":"markdown","required":true}},"nesting_mode":"single"},"description":"References to the datacenter that house this virtual machine.","description_kind":"markdown","required":true}},"nesting_mode":"single"},"description_kind":"plain","required":true}},"nesting_mode":"single"},"description":"Application specific information for this cluster.","description_kind":"markdown","required":true},"hci_cluster_uuid":{"type":"string","description":"UUID string uniquely identifying the HCI cluster.","description_kind":"markdown","required":true},"id":{"type":"string","description":"UUID string uniquely identifying the hypervisor cluster.","description_kind":"markdown","computed":true},"name":{"type":"string","description":"Name of the cluster as reported by the hypervisor manager.","description_kind":"markdown","required":true}},"description_kind":"plain"}},"hpegl_pc_server":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"An identifier for the resource, usually a UUID.","description_kind":"markdown","computed":true},"name":{"type":"string","description":"A system specified name for the resource.","description_kind":"markdown","required":true},"system_id":{"type":"string","description":"Unique Identifier of the system, usually a UUID.","description_kind":"markdown","required":true}},"description_kind":"plain"}}},"data_source_schemas":{"hpegl_pc_system":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"Unique Identifier of the system, usually a UUID.","description_kind":"markdown","computed":true},"name":{"type":"string","description":"A system specified name for the resource.","description_kind":"markdown","required":true}},"description_kind":"plain"}}}}}}

0 comments on commit ae4cfda

Please sign in to comment.