Skip to content

Ensure to pull paginated SSM output #317

Ensure to pull paginated SSM output

Ensure to pull paginated SSM output #317

Workflow file for this run

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