Skip to content

test: plural up tests #1085

test: plural up tests

test: plural up tests #1085

Workflow file for this run

name: E2E
on:
push:
branches:
- main
pull_request:
branches:
- main
workflow_dispatch:
permissions:
id-token: write
contents: read
env:
GOPATH: /home/runner/go/
GOBIN: /home/runner/go/bin
PLURAL_LOGIN_AFFIRM_CURRENT_USER: true
PLURAL_UP_AFFIRM_DEPLOY: true
TESTOUT_PATH: /home/runner/testout
SSH_PATH: /home/runner/.ssh
VENOM_VAR_pluralHome: /home/runner/.plural
VENOM_VAR_directory: /home/runner/testout/azure
VENOM_VAR_gitRepo: [email protected]:pluralsh/plural-cli-e2e.git
VENOM_VAR_gitRepoPrivateKeyPath: /home/runner/.ssh/id_rsa
jobs:
plural-up-gcp:
name: plural up / GCP
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Store test timestamp
run: echo "TIMESTAMP=$(date +'%s')" >> $GITHUB_ENV
- name: Retrieve the test repository private key and decode it to a file
run: |
mkdir -p $SSH_PATH
(base64 -d <<< ${{ secrets.E2E_REPO_PRIVATE_KEY }}) >> $VENOM_VAR_gitRepoPrivateKeyPath
chmod 600 $VENOM_VAR_gitRepoPrivateKeyPath
eval `ssh-agent -s`
ssh-add $VENOM_VAR_gitRepoPrivateKeyPath
- name: Setup Go
uses: actions/[email protected]
with:
go-version-file: go.mod
- name: Add GOBIN to PATH
run: echo $GOBIN >> $GITHUB_PATH
- name: Setup Venom
run: |
curl https://github.com/ovh/venom/releases/download/v1.2.0/venom.linux-amd64 -L -o /usr/local/bin/venom
chmod +x /usr/local/bin/venom
venom version
- name: Setup Plural CLI
run: |
make install-cli
mkdir -p $VENOM_VAR_pluralHome
plural version
- name: Print Terraform version
run: terraform --version
- name: Print Google Cloud CLI version
run: gcloud --version
- name: Run tests
env:
VENOM_VAR_provider: gcp
VENOM_VAR_region: us-central1
VENOM_VAR_gcpEmail: ''
VENOM_VAR_gcpSAKeyFile: ''
VENOM_VAR_gcpOrgID: ''
VENOM_VAR_gcpBillingID: ''
VENOM_VAR_project: e2e-${{ env.TIMESTAMP }}
VENOM_VAR_branch: e2e-${{ env.TIMESTAMP }}-gcp
VENOM_VAR_username: ''
VENOM_VAR_email: ''
VENOM_VAR_token: ''
run: venom run -vv --html-report --format=json --output-dir ${{ env.TESTOUT_PATH }} test/plural
- name: Upload test log
if: always()
uses: actions/upload-artifact@v4
with:
name: gcp
path: |
${{ env.TESTOUT_PATH }}/venom.log
${{ env.TESTOUT_PATH }}/test_results.html
compression-level: 9
plural-up-azure:
name: plural up / Azure
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Store test timestamp
run: echo "TIMESTAMP=$(date +'%s')" >> $GITHUB_ENV
- name: Retrieve the test repository private key and decode it to a file
run: |
mkdir -p $SSH_PATH
(base64 -d <<< ${{ secrets.E2E_REPO_PRIVATE_KEY }}) >> $VENOM_VAR_gitRepoPrivateKeyPath
chmod 600 $VENOM_VAR_gitRepoPrivateKeyPath
eval `ssh-agent -s`
ssh-add $VENOM_VAR_gitRepoPrivateKeyPath
- name: Setup Go
uses: actions/[email protected]
with:
go-version-file: go.mod
- name: Add GOBIN to PATH
run: echo $GOBIN >> $GITHUB_PATH
- name: Setup Venom
run: |
curl https://github.com/ovh/venom/releases/download/v1.2.0/venom.linux-amd64 -L -o /usr/local/bin/venom
chmod +x /usr/local/bin/venom
venom version
- name: Setup Plural CLI
run: |
make install-cli
mkdir -p $VENOM_VAR_pluralHome
plural version
- name: Print Terraform version
run: terraform --version
- name: Print Azure CLI version
run: az --version
- name: Login to Azure
uses: azure/login@v2
with:
client-id: ${{ secrets.E2E_AZURE_CLIENT_ID }}
tenant-id: ${{ secrets.E2E_AZURE_TENANT_ID }}
subscription-id: ${{ secrets.E2E_AZURE_SUBSCRIPTION_ID }}
- name: Run tests
env:
VENOM_VAR_provider: azure
VENOM_VAR_region: polandcentral
VENOM_VAR_azureTenantId: ${{ secrets.E2E_AZURE_TENANT_ID }}
VENOM_VAR_azureSubscriptionId: ${{ secrets.E2E_AZURE_SUBSCRIPTION_ID }}
VENOM_VAR_azureStorageAccount: e2e${{ env.TIMESTAMP }}
VENOM_VAR_project: e2e-${{ env.TIMESTAMP }}
VENOM_VAR_branch: e2e-${{ env.TIMESTAMP }}-azure
VENOM_VAR_username: ${{ secrets.E2E_AZURE_SA_USERNAME }}
VENOM_VAR_email: ${{ secrets.E2E_AZURE_SA_EMAIL }}
VENOM_VAR_token: ${{ secrets.E2E_AZURE_SA_TOKEN }}
run: venom run -vv --html-report --format=json --output-dir ${{ env.TESTOUT_PATH }} test/plural
- name: Upload test log
if: always()
uses: actions/upload-artifact@v4
with:
name: azure
path: |
${{ env.TESTOUT_PATH }}/venom.log
${{ env.TESTOUT_PATH }}/test_results.html
compression-level: 9