IZE-776 Goreleaser & Go installer updated #356
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: "Tests: E2E" | |
defaults: | |
run: | |
shell: bash | |
env: | |
AWS_PROFILE: default | |
AWS_REGION: us-east-1 | |
on: | |
workflow_dispatch: | |
pull_request: | |
jobs: | |
build: | |
name: Build | |
strategy: | |
matrix: | |
os: | |
- ubuntu-latest | |
# TODO: re-enable other platforms after Ubuntu is working fine | |
- macos-latest | |
# - windows-latest | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Install Go | |
uses: actions/setup-go@v2 | |
with: | |
go-version: 1.18.x | |
- name: Checkout Code | |
uses: actions/checkout@v2 | |
- name: Build | |
run: | | |
go mod download | |
make bin | |
- name: Upload Artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: ize-${{ matrix.os }}-${{ github.sha }} | |
path: ${{ github.workspace }}/ize | |
test-ecs-apps: | |
name: ECS Apps Monorepo | |
needs: build | |
strategy: | |
max-parallel: 1 | |
matrix: | |
os: | |
- ubuntu-latest | |
# - windows-latest | |
# - macos-latest | |
runs-on: ${{ matrix.os }} | |
env: | |
IZE_EXAMPLES_PATH: ${{ github.workspace }}/examples/ecs-apps-monorepo | |
steps: | |
- name: Configure Environment Variables | |
run: | | |
echo "${{ github.workspace }}/bin/" >> $GITHUB_PATH | |
echo "ENV=${{ github.job }}-$(echo $GITHUB_SHA | cut -c 1-6)" >> $GITHUB_ENV | |
- name: Configure AWS Credentials | |
uses: aws-actions/configure-aws-credentials@v1 | |
with: | |
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID_PROD }} | |
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY_PROD }} | |
aws-region: ${{ env.AWS_REGION }} | |
- name: Install Go | |
uses: actions/setup-go@v2 | |
with: | |
go-version: 1.18.x | |
- name: Checkout Code | |
uses: actions/checkout@v2 | |
- name: Prepare Test Environment | |
run: mv "${{ env.IZE_EXAMPLES_PATH }}/.ize/env/testnut" "${{ env.IZE_EXAMPLES_PATH }}/.ize/env/${{ env.ENV }}" | |
- uses: actions/download-artifact@v3 | |
with: | |
name: ize-${{ matrix.os }}-${{ github.sha }} | |
path: bin | |
- name: Make Executable | |
run: | | |
chmod +rx "${{ github.workspace }}/bin/ize" | |
ize --version | |
- name: Create AWS Profile | |
run: ize gen aws-profile | |
- name: Generate Test SSH Key | |
run: ssh-keygen -q -f ~/.ssh/id_rsa | |
- name: Run Tests | |
run: | | |
go test -v --timeout 0 --tags="e2e ecs_apps" ./tests/e2e | |
- name: Cleanup Infra | |
if: ${{ always() }} | |
run: | | |
cd "${{ env.IZE_EXAMPLES_PATH }}" | |
ize down --auto-approve | |
test-tunnel: | |
name: Bastion Tunnel Monorepo | |
needs: build | |
strategy: | |
max-parallel: 1 | |
matrix: | |
os: | |
- ubuntu-latest | |
# TODO: re-enable other platforms after Ubuntu is working fine | |
# - windows-latest | |
- macos-latest | |
runs-on: ${{ matrix.os }} | |
env: | |
IZE_EXAMPLES_PATH: ${{ github.workspace }}/examples/bastion-tunnel-monorepo | |
steps: | |
- name: Configure Environment Variables | |
run: | | |
echo "${{ github.workspace }}/bin/" >> $GITHUB_PATH | |
echo "ENV=${{ github.job }}-$(echo $GITHUB_SHA | cut -c 1-6)" >> $GITHUB_ENV | |
- name: Configure AWS Credentials | |
uses: aws-actions/configure-aws-credentials@v1 | |
with: | |
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID_PROD }} | |
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY_PROD }} | |
aws-region: ${{ env.AWS_REGION }} | |
- name: Install Go | |
uses: actions/setup-go@v2 | |
with: | |
go-version: 1.18.x | |
- name: Checkout Code | |
uses: actions/checkout@v2 | |
- name: Prepare Test Environment | |
run: mv "${{ env.IZE_EXAMPLES_PATH }}/.ize/env/testnut" "${{ env.IZE_EXAMPLES_PATH }}/.ize/env/${{ env.ENV }}" | |
- uses: actions/download-artifact@v3 | |
with: | |
name: ize-${{ matrix.os }}-${{ github.sha }} | |
path: bin | |
- name: Make Executable | |
run: | | |
chmod +rx "${{ github.workspace }}/bin/ize" | |
ize --version | |
- name: Create AWS Profile | |
run: ize gen aws-profile | |
- name: Generate Test SSH Key | |
run: | | |
ssh-keygen -q -f ~/.ssh/id_rsa -t rsa -N '' | |
ssh-keygen -q -f ~/.ssh/id_rsa_tunnel_test -t rsa -N '' | |
chmod 600 ~/.ssh/id_rsa_tunnel_test | |
chmod 600 ~/.ssh/id_rsa_tunnel_test.pub | |
cat ~/.ssh/id_rsa_tunnel_test.pub | |
ls -ld ~/.ssh/* | |
- name: Run Tests | |
run: | | |
go test -v --timeout 0 --tags="e2e bastion_tunnel" ./tests/e2e | |
- name: Cleanup Infra | |
if: ${{ always() }} | |
run: | | |
cd "${{ env.IZE_EXAMPLES_PATH }}" | |
ize down --auto-approve | |
test-terraform: | |
name: Terraform Commands | |
needs: build | |
strategy: | |
max-parallel: 1 | |
matrix: | |
os: | |
- ubuntu-latest | |
# TODO: re-enable other platforms after Ubuntu is working fine | |
# - macos-latest | |
# - windows-latest | |
runs-on: ${{ matrix.os }} | |
env: | |
IZE_EXAMPLES_PATH: ${{ github.workspace }}/examples/sls-apps-monorepo | |
steps: | |
- name: Configure Environment Variables | |
run: | | |
echo "${{ github.workspace }}/bin/" >> $GITHUB_PATH | |
echo "ENV=${{ github.job }}-$(echo $GITHUB_SHA | cut -c 1-6)" >> $GITHUB_ENV | |
- name: Configure AWS Credentials | |
uses: aws-actions/configure-aws-credentials@v1 | |
with: | |
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID_PROD }} | |
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY_PROD }} | |
aws-region: ${{ env.AWS_REGION }} | |
- name: Install Go | |
uses: actions/setup-go@v2 | |
with: | |
go-version: 1.18.x | |
- name: Checkout Code | |
uses: actions/checkout@v2 | |
- name: Prepare Test Environment | |
run: mv "${{ env.IZE_EXAMPLES_PATH }}/.ize/env/testnut" "${{ env.IZE_EXAMPLES_PATH }}/.ize/env/${{ env.ENV }}" | |
- uses: actions/download-artifact@v3 | |
with: | |
name: ize-${{ matrix.os }}-${{ github.sha }} | |
path: bin | |
- name: Make Executable | |
run: | | |
chmod +rx "${{ github.workspace }}/bin/ize" | |
ize --version | |
- name: Create AWS Profile | |
run: ize gen aws-profile | |
- name: Generate Test SSH Key | |
run: ssh-keygen -q -f ~/.ssh/id_rsa | |
- name: Run Tests | |
run: | | |
go test -v --timeout 0 --tags="e2e terraform" ./tests/e2e |