-
Notifications
You must be signed in to change notification settings - Fork 97
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
chore: use script run for running tests and linter.
Signed-off-by: Tiago Natel <[email protected]>
- Loading branch information
Showing
84 changed files
with
913 additions
and
144 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
# Copyright 2024 Terramate GmbH | ||
# SPDX-License-Identifier: MPL-2.0 | ||
|
||
name: Terramate Deployment | ||
on: | ||
push: | ||
branches: | ||
- main | ||
|
||
jobs: | ||
deploy: | ||
name: Run all tests and create a Terramate Cloud Deployment | ||
|
||
permissions: | ||
id-token: write | ||
contents: read | ||
pull-requests: read | ||
|
||
runs-on: "ubuntu-20.04" | ||
|
||
steps: | ||
### Check out the code | ||
|
||
- name: Checkout | ||
uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: 0 | ||
|
||
### Install tooling | ||
|
||
- name: Install Terramate | ||
uses: terramate-io/terramate-action@v1 | ||
|
||
- name: build | ||
run: make build | ||
|
||
- name: check cloud info | ||
run: ./bin/terramate run --tags golang --no-recursive -- ./bin/terramate cloud info || true | ||
env: | ||
TMC_API_HOST: api.stg.terramate.io | ||
|
||
### Check for changed stacks | ||
|
||
- name: List changed stacks | ||
id: list | ||
run: terramate list --changed | ||
|
||
- name: checking go mod tidyness | ||
if: steps.list.outputs.stdout | ||
run: make mod/check | ||
|
||
- name: linting code | ||
if: steps.list.outputs.stdout | ||
run: make lint | ||
|
||
- name: checking license on source code | ||
if: steps.list.outputs.stdout | ||
run: make license/check | ||
|
||
- name: check and test all | ||
if: steps.list.outputs.stdout | ||
run: ./bin/terramate script run --parallel=5 --changed --tags=golang -- test deploy | ||
env: | ||
TMC_API_HOST: api.stg.terramate.io | ||
GITHUB_TOKEN: ${{ github.token }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,178 @@ | ||
# Copyright 2023 Terramate GmbH | ||
# SPDX-License-Identifier: MPL-2.0 | ||
|
||
name: preview | ||
|
||
on: | ||
pull_request: | ||
branches: | ||
- main | ||
|
||
jobs: | ||
preview: | ||
name: Changed Terramate stacks | ||
runs-on: ${{ matrix.os }} | ||
|
||
permissions: | ||
id-token: write | ||
contents: read | ||
pull-requests: write | ||
|
||
strategy: | ||
matrix: | ||
os: ["ubuntu-20.04", "macos-12", "macos-13"] | ||
go: ["1.22"] | ||
|
||
steps: | ||
- uses: actions/checkout@v4 | ||
with: | ||
ref: ${{ github.head_ref }} | ||
fetch-depth: 0 | ||
|
||
- uses: actions/setup-go@v5 | ||
with: | ||
go-version: ${{ matrix.go }} | ||
|
||
### Create Pull Request comment | ||
|
||
- name: Prepare pull request preview comment | ||
if: github.event.pull_request | ||
uses: marocchino/sticky-pull-request-comment@v2 | ||
with: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
header: preview | ||
message: | | ||
## Preview of Project changes in ${{ github.event.pull_request.head.sha }} | ||
:warning: preview is being created... please stand by! | ||
### Install tooling | ||
|
||
- name: Install Terramate | ||
uses: terramate-io/terramate-action@i4k-fix-macos | ||
|
||
# TODO(i4k): remove this once v0.5.0 is released. | ||
- name: build Terramate | ||
shell: bash | ||
run: make build | ||
|
||
- name: Check Terramate formatting | ||
shell: bash | ||
run: terramate fmt --check | ||
|
||
- name: List changed stacks | ||
shell: bash | ||
id: list | ||
run: terramate list --changed | ||
|
||
- name: checking go mod tidyness | ||
shell: bash | ||
if: steps.list.outputs.stdout && matrix.os == 'ubuntu-20.04' | ||
run: make mod/check | ||
|
||
- name: linting code | ||
shell: bash | ||
if: steps.list.outputs.stdout && matrix.os == 'ubuntu-20.04' | ||
run: make lint | ||
|
||
- name: checking license on source code | ||
shell: bash | ||
if: steps.list.outputs.stdout && matrix.os == 'ubuntu-20.04' | ||
run: make license/check | ||
|
||
### Run the terramate preview script | ||
|
||
- name: check cloud info | ||
shell: bash | ||
if: steps.list.outputs.stdout | ||
run: terramate run --tags golang --no-recursive -- terramate cloud info || true | ||
env: | ||
TMC_API_HOST: api.stg.terramate.io | ||
|
||
- name: Golang test preview | ||
shell: bash | ||
if: steps.list.outputs.stdout | ||
run: | | ||
echo >preview_url.txt "https://cloud.stg.terramate.io/o/test/review-requests" | ||
./bin/terramate script run --parallel=10 --tags golang --changed -- test preview | ||
env: | ||
TMC_API_HOST: api.stg.terramate.io | ||
GITHUB_TOKEN: ${{ github.token }} | ||
|
||
### Update Pull Request comment | ||
|
||
- name: Generate preview details | ||
shell: bash | ||
if: steps.list.outputs.stdout | ||
id: comment | ||
run: | | ||
echo >>pr-comment.txt "## Preview of Terramate changes in ${{ github.event.pull_request.head.sha }}" | ||
echo >>pr-comment.txt | ||
echo >>pr-comment.txt "[:mag: View Details on Terramate Cloud]($(cat preview_url.txt))" | ||
echo >>pr-comment.txt | ||
echo >>pr-comment.txt "### Changed Stacks" | ||
echo >>pr-comment.txt | ||
echo >>pr-comment.txt '```bash' | ||
echo >>pr-comment.txt "${{ steps.list.outputs.stdout }}" | ||
echo >>pr-comment.txt '```' | ||
cat pr-comment.txt >>$GITHUB_STEP_SUMMARY | ||
- name: Generate preview when no stacks changed | ||
shell: bash | ||
if: success() && !steps.list.outputs.stdout | ||
run: | | ||
echo >>pr-comment.txt "## Preview of Terramate changes in ${{ github.event.pull_request.head.sha }}" | ||
echo >>pr-comment.txt | ||
echo >>pr-comment.txt "### Changed Stacks" | ||
echo >>pr-comment.txt | ||
echo >>pr-comment.txt 'No changed stacks, no detailed preview will be generated.' | ||
cat pr-comment.txt >>$GITHUB_STEP_SUMMARY | ||
- name: Generate preview when things failed | ||
shell: bash | ||
if: failure() | ||
run: | | ||
echo >>pr-comment.txt "## Preview of Terraform changes in ${{ github.event.pull_request.head.sha }}" | ||
echo >>pr-comment.txt | ||
echo >>pr-comment.txt "[:mag: View Details on Terramate Cloud]($(cat preview_url.txt))" | ||
echo >>pr-comment.txt | ||
echo >>pr-comment.txt "### Changed Stacks" | ||
echo >>pr-comment.txt | ||
echo >>pr-comment.txt '```bash' | ||
echo >>pr-comment.txt "${{ steps.list.outputs.stdout }}" | ||
echo >>pr-comment.txt '```' | ||
echo >>pr-comment.txt ':boom: Generating preview failed. Please see details in Actions output.' | ||
cat pr-comment.txt >>$GITHUB_STEP_SUMMARY | ||
- name: Publish generated preview as GitHub commnent | ||
uses: marocchino/sticky-pull-request-comment@v2 | ||
with: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
header: preview | ||
path: pr-comment.txt | ||
|
||
release_dry_run: | ||
name: Release Dry Run | ||
|
||
runs-on: ubuntu-20.04 | ||
|
||
steps: | ||
- uses: actions/checkout@v4 | ||
with: | ||
ref: ${{github.event.pull_request.head.ref}} | ||
repository: ${{github.event.pull_request.head.repo.full_name}} | ||
fetch-depth: 0 | ||
|
||
- uses: actions/setup-go@v5 | ||
with: | ||
go-version: '1.21' | ||
|
||
- name: release dry run | ||
run: make release/dry-run | ||
|
||
required_checks: | ||
needs: | ||
- preview | ||
runs-on: ubuntu-20.04 | ||
steps: | ||
- uses: Kesin11/actions-timeline@v1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
terramate 0.4.0 | ||
terramate 0.5.0-rc4 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
// Copyright 2024 Terramate GmbH | ||
// SPDX-License-Identifier: MPL-2.0 | ||
|
||
stack { | ||
name = "deployment" | ||
description = "deployment" | ||
tags = ["golang"] | ||
id = "3705120e-4f6f-42a6-9c45-5a1ff31110da" | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
// Copyright 2024 Terramate GmbH | ||
// SPDX-License-Identifier: MPL-2.0 | ||
|
||
stack { | ||
name = "drift" | ||
description = "drift" | ||
tags = ["golang"] | ||
id = "8e7c2d56-0a76-42b7-b6c6-a9e85ba3f17e" | ||
} |
Oops, something went wrong.