|
1 | 1 | name: Prerelease
|
2 | 2 |
|
3 | 3 | on:
|
4 |
| - ## Uncomment when ready to actually release this thing with automated tests. |
5 | 4 | # Run Every Wednesday at 12:00 AM UTC
|
6 |
| - # schedule: |
7 |
| - # - cron: '0 0 * * 3' |
| 5 | + schedule: |
| 6 | + - cron: '0 0 * * 3' |
8 | 7 | workflow_dispatch:
|
9 | 8 |
|
10 | 9 | permissions: write-all
|
@@ -36,22 +35,57 @@ jobs:
|
36 | 35 | git config user.name "hashicorp-cloud"
|
37 | 36 | git config user.email "hashicorp-cloud@hashicorp.com"
|
38 | 37 |
|
39 |
| - - name: Install Go Binaries |
| 38 | + - name: Install Dependencies |
40 | 39 | env:
|
41 | 40 | GOPRIVATE: 'github.com/hashicorp/*'
|
42 | 41 | run: |
|
43 | 42 | go install github.com/hashicorp/go-changelog/cmd/changelog-build@6ec9be372335f39c5df27e232c3669db7f5183a5
|
44 | 43 | go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.49.0
|
| 44 | + go mod tidy |
| 45 | + sudo wget https://github.com/jmespath/jp/releases/latest/download/jp-linux-amd64 -O /usr/local/bin/jp |
| 46 | + sudo chmod +x /usr/local/bin/jp |
45 | 47 |
|
46 | 48 | - name: Run Unit Tests and Linter
|
47 | 49 | run: make test-ci
|
48 | 50 |
|
49 |
| - - name: Upload Coverage Artifact |
| 51 | + - name: Upload Unit Test Coverage Artifact |
50 | 52 | uses: actions/upload-artifact@v3
|
51 | 53 | with:
|
52 | 54 | name: Test Coverage
|
53 | 55 | path: coverage.html
|
54 | 56 |
|
| 57 | + - name: Run E2E Tests |
| 58 | + env: |
| 59 | + HCP_API_HOST: ${{ secrets.HCP_API_HOST }} |
| 60 | + HCP_AUTH_URL: ${{ secrets.HCP_AUTH_URL }} |
| 61 | + HCP_CLIENT_ID: ${{ secrets.HCP_CLIENT_ID }} |
| 62 | + HCP_CLIENT_SECRET: ${{ secrets.HCP_CLIENT_SECRET }} |
| 63 | + |
| 64 | + AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} |
| 65 | + AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} |
| 66 | + AWS_ROLE_ARN: ${{ secrets.AWS_ROLE_ARN }} |
| 67 | + AWS_REGION: us-west-1 |
| 68 | + |
| 69 | + AZURE_SUBSCRIPTION_ID: ${{ secrets.ARM_SUBSCRIPTION_ID }} |
| 70 | + AZURE_TENANT_ID: ${{ secrets.ARM_TENANT_ID }} |
| 71 | + |
| 72 | + ARM_SUBSCRIPTION_ID: ${{ secrets.ARM_SUBSCRIPTION_ID }} |
| 73 | + ARM_CLIENT_ID: ${{ secrets.ARM_CLIENT_ID }} |
| 74 | + ARM_CLIENT_SECRET: ${{ secrets.ARM_CLIENT_SECRET }} |
| 75 | + ARM_TENANT_ID: ${{ secrets.ARM_TENANT_ID }} |
| 76 | + run: | |
| 77 | + AWS_OUTPUT=$(aws sts assume-role --role-arn $AWS_ROLE_ARN --role-session-name e2e-test --duration-seconds 43200) |
| 78 | + export AWS_ACCESS_KEY_ID=$(echo $AWS_OUTPUT | jp --unquoted Credentials.AccessKeyId) |
| 79 | + export AWS_SECRET_ACCESS_KEY=$(echo $AWS_OUTPUT | jp --unquoted Credentials.SecretAccessKey) |
| 80 | + export AWS_SESSION_TOKEN=$(echo $AWS_OUTPUT | jp --unquoted Credentials.SessionToken) |
| 81 | + make testacc-ci |
| 82 | +
|
| 83 | + - name: Upload E2E Coverage Artifact |
| 84 | + uses: actions/upload-artifact@v3 |
| 85 | + with: |
| 86 | + name: Test Coverage |
| 87 | + path: coverage-e2e.html |
| 88 | + |
55 | 89 | - name: Release New Version
|
56 | 90 | env:
|
57 | 91 | GOPRIVATE: 'github.com/hashicorp/*'
|
|
0 commit comments