feat(ibm): databases-for-postgresql (#154) #475
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
name: Go | |
on: | |
push: | |
branches: [ master ] | |
pull_request: | |
branches: [ master ] | |
jobs: | |
build: | |
name: Build | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Go 1.x | |
uses: actions/setup-go@v3 | |
with: | |
go-version: 1.19 | |
- name: Run golangci-lint | |
uses: golangci/[email protected] | |
with: | |
# Required: the version of golangci-lint is required and must be specified without patch version: they always use the latest patch version. | |
version: v1.45 | |
args: --timeout 3m0s | |
- name: Install Terragrunt v0.31.8 | |
run: | | |
sudo wget -q -O /usr/bin/terragrunt "https://github.com/gruntwork-io/terragrunt/releases/download/v0.31.8/terragrunt_linux_amd64" | |
sudo chmod +x /usr/bin/terragrunt | |
terragrunt --version | |
- name: Test (unit and shared integration) | |
run: make test_shared_int | |
env: | |
INFRACOST_API_KEY: "00000000000000000000000000000000" | |
INFRACOST_LOG_LEVEL: info | |
INFRACOST_TERRAFORM_CLOUD_TOKEN: ${{ secrets.TERRAFORM_CLOUD_TOKEN }} | |
- name: Test example works ok from CLI | |
run: | | |
make run --silent ARGS="breakdown --path examples/terraform --usage-file=examples/terraform/infracost-usage.yml --format json" > infracost-output.json | |
[ -s infracost-output.json ] || (echo "file is empty" && exit 1) | |
jq '' infracost-output.json | |
env: | |
INFRACOST_API_KEY: "00000000000000000000000000000000" | |
INFRACOST_LOG_LEVEL: info | |
- name: Test example works ok from config file | |
run: | | |
make run --silent ARGS="breakdown --config-file=infracost-example.yml" | |
[ -s infracost-output.json ] || (echo "file is empty" && exit 1) | |
jq '' infracost-output.json | |
env: | |
INFRACOST_API_KEY: "00000000000000000000000000000000" | |
INFRACOST_LOG_LEVEL: info | |
integration_aws: | |
name: Integration tests (AWS) | |
needs: build | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Go 1.x | |
uses: actions/setup-go@v3 | |
with: | |
go-version: 1.19 | |
- name: Test (AWS) | |
run: make test_aws | |
env: | |
INFRACOST_API_KEY: "00000000000000000000000000000000" | |
INFRACOST_LOG_LEVEL: info | |
integration_google: | |
name: Integration tests (Google) | |
needs: build | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Go 1.x | |
uses: actions/setup-go@v3 | |
with: | |
go-version: 1.19 | |
- name: Test (Google) | |
run: make test_google | |
env: | |
INFRACOST_API_KEY: "00000000000000000000000000000000" | |
INFRACOST_LOG_LEVEL: info | |
integration_azure: | |
name: Integration tests (Azure) | |
needs: build | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Go 1.x | |
uses: actions/setup-go@v3 | |
with: | |
go-version: 1.19 | |
- name: Test (Azure) | |
run: make test_azure | |
if: env.ARM_SUBSCRIPTION_ID != '' | |
env: | |
INFRACOST_API_KEY: "00000000000000000000000000000000" | |
INFRACOST_LOG_LEVEL: info | |
ARM_SUBSCRIPTION_ID: ${{ secrets.ARM_SUBSCRIPTION_ID }} | |
ARM_TENANT_ID: ${{ secrets.ARM_TENANT_ID }} | |
ARM_CLIENT_ID: ${{ secrets.ARM_CLIENT_ID }} | |
ARM_CLIENT_SECRET: ${{ secrets.ARM_CLIENT_SECRET }} |