Skip to content

feat: meshstack_building_block resource (building block v3) #1297

feat: meshstack_building_block resource (building block v3)

feat: meshstack_building_block resource (building block v3) #1297

Workflow file for this run

# Terraform Provider testing workflow.
name: Tests
# This GitHub action runs your tests for each pull request and push.
# Optionally, you can turn it on using a schedule for regular testing.
on:
pull_request:
paths-ignore:
- 'README.md'
push:
branches:
- main
paths-ignore:
- 'README.md'
# Testing only needs permissions to read the repository contents.
permissions:
contents: read
jobs:
build:
name: Go Build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
with:
go-version-file: 'go.mod'
cache: true
- run: go mod tidy
- run: go build -v .
- name: git diff
run: |
git diff --compact-summary --exit-code || \
(echo; echo "Unexpected difference in directories after 'go mod tidy'. Run 'go mod tidy' command and commit."; exit 1)
golangci:
needs: [ build ]
name: Go Lint and Format Check
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: read # Required for only-new-issues on PRs
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
with:
go-version: stable
- name: golangci-lint
uses: golangci/golangci-lint-action@82606bf257cbaff209d206a39f5134f0cfbfd2ee # v9.2.1
with:
version: latest
only-new-issues: true # Show only issues in changed code on PRs
- name: Suggest fix command on failure
if: failure()
run: |
echo "::error::Linting or formatting issues detected. Run 'golangci-lint run --fix' locally to automatically fix these issues, then commit the changes."
generate:
name: Generate Terraform Provider Docs
needs: [ build ]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
with:
go-version-file: 'go.mod'
cache: true
- uses: hashicorp/setup-terraform@dfe3c3f87815947d99a8997f908cb6525fc44e9e # v4.0.1
with:
terraform_wrapper: false
- run: go generate
- name: git diff
run: |
git diff --compact-summary --exit-code || \
(echo; echo "Unexpected difference in directories after code generation. Run 'go generate ./...' command and commit."; exit 1)
test:
name: Go Test
needs: [ build ]
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write # For PR comments
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
fetch-depth: 0 # For base branch coverage comparison
- uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
with:
go-version-file: 'go.mod'
cache: true
- name: Run tests with gotestsum
run: go tool gotestsum --junitfile junit.xml --format testdox -- -coverprofile=coverage.out -coverpkg=./... ./...
- name: Generate coverage report
if: always()
run: |
# Generate detailed coverage
go tool cover -func=coverage.out > coverage-summary.txt
TOTAL=$(tail -1 coverage-summary.txt | awk '{print $3}')
# Job summary
echo "## Test Coverage: $TOTAL" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "<details><summary>Coverage by file</summary>" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo '```' >> $GITHUB_STEP_SUMMARY
head -50 coverage-summary.txt >> $GITHUB_STEP_SUMMARY
echo '...' >> $GITHUB_STEP_SUMMARY
echo '```' >> $GITHUB_STEP_SUMMARY
echo "</details>" >> $GITHUB_STEP_SUMMARY
- name: Post coverage to PR
if: github.event_name == 'pull_request'
env:
GH_TOKEN: ${{ github.token }}
run: |
TOTAL=$(tail -1 coverage-summary.txt | awk '{print $3}')
# Create comment body
COMMENT="## 📊 Test Coverage: $TOTAL
<details><summary>Top uncovered files</summary>
\`\`\`
$(grep '0.0%' coverage-summary.txt | head -10 || echo 'All files have some coverage!')
\`\`\`
</details>
*Coverage measured across all packages with \`-coverpkg=./...\`*"
# Post or update comment
gh pr comment ${{ github.event.pull_request.number }} --body "$COMMENT" --edit-last || \
gh pr comment ${{ github.event.pull_request.number }} --body "$COMMENT"