Skip to content

Verify Installation #230

Verify Installation

Verify Installation #230

Workflow file for this run

# © 2023 SolarWinds Worldwide, LLC. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at:http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
name: Verify Installation
on:
workflow_dispatch:
inputs:
install-registry:
required: true
description: 'Registry used for install tests, one of: pypi, testpypi'
type: choice
default: 'pypi'
options:
- pypi
- testpypi
solarwinds-version:
required: false
description: 'Optional solarwinds-apm version, e.g. 0.0.3.2'
env:
SOLARWINDS_APM_VERSION: ${{ github.event.inputs.solarwinds-version }}
SW_APM_COLLECTOR_AO_PROD: ${{ secrets.SW_APM_COLLECTOR_AO_PROD }}
SW_APM_COLLECTOR_PROD: ${{ secrets.SW_APM_COLLECTOR_PROD }}
SW_APM_COLLECTOR_STAGING: ${{ secrets.SW_APM_COLLECTOR_STAGING }}
SW_APM_SERVICE_KEY_AO_PROD: ${{ secrets.SW_APM_SERVICE_KEY_AO_PROD }}
SW_APM_SERVICE_KEY_PROD: ${{ secrets.SW_APM_SERVICE_KEY_PROD }}
SW_APM_SERVICE_KEY_STAGING: ${{ secrets.SW_APM_SERVICE_KEY_STAGING }}
jobs:
launch-arm64:
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.launch.outputs.matrix }}
steps:
- uses: getsentry/action-github-app-token@v3
id: github-token
with:
app_id: ${{ vars.APPLICATION_ID }}
private_key: ${{ secrets.APPLICATION_PRIVATE_KEY }}
- uses: aws-actions/configure-aws-credentials@v4
with:
aws-access-key-id: ${{ secrets.API_CI_GHA_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.API_CI_GHA_SECRET_ACCESS_KEY }}
aws-region: us-east-1
- id: launch
uses: solarwinds/ec2-runner-action@main
with:
action: launch
matrix: |
amazonlinux:2023
centos:8
python:3.7-alpine3.12
python:3.7-alpine3.13
python:3.7-alpine3.17
python:3.7-buster
python:3.7-bullseye
python:3.8-alpine3.12
python:3.8-alpine3.13
python:3.8-buster
python:3.8-bullseye
python:3.9-alpine3.12
python:3.9-alpine3.13
python:3.9-alpine3.16
python:3.9-alpine3.17
python:3.9-buster
python:3.9-bullseye
python:3.10-alpine3.13
python:3.10-alpine3.16
python:3.10-alpine3.17
python:3.10-buster
python:3.10-bullseye
python:3.11-alpine3.16
python:3.11-alpine3.17
python:3.11-buster
python:3.11-bullseye
registry.fedoraproject.org/f33/python3
ubuntu:18.04
ubuntu:20.04
ubuntu:22.04
github-token: ${{ steps.github-token.outputs.token }}
runner-user: github
runner-directory: /gh
instance-type: t4g.medium
ami-name: gha-arm64-ubuntu22-.*
ami-owner: "858939916050"
subnet-id: subnet-0fd499f8a50e41807
security-group-ids: sg-0fd8d8cd6effda4a5
install-tests:
needs:
- launch-arm64
runs-on: ${{ matrix.arch == 'arm64' && fromJSON(needs.launch-arm64.outputs.matrix)[matrix.image].label || 'ubuntu-latest' }}
strategy:
matrix:
hostname:
- py3.7-alpine3.12
- py3.7-alpine3.13
- py3.7-alpine3.17
- py3.7-debian10
- py3.7-debian11
- py3.7-ubuntu18.04
- py3.8-alpine3.12
- py3.8-alpine3.13
- py3.8-debian10
- py3.8-debian11
- py3.8-ubuntu18.04
- py3.8-ubuntu20.04
- py3.9-alpine3.12
- py3.9-alpine3.13
- py3.9-alpine3.16
- py3.9-alpine3.17
- py3.9-centos8
- py3.9-debian10
- py3.9-debian11
- py3.9-rhel8
- py3.9-ubuntu20.04
- py3.10-alpine3.13
- py3.10-alpine3.16
- py3.10-alpine3.17
- py3.10-amazon2023
- py3.10-debian10
- py3.10-debian11
- py3.10-ubuntu20.04
- py3.10-ubuntu22.04
- py3.11-alpine3.16
- py3.11-alpine3.17
- py3.11-debian10
- py3.11-debian11
- py3.11-ubuntu20.04
- py3.11-ubuntu22.04
arch:
- x64
- arm64
include:
- hostname: py3.7-alpine3.12
image: python:3.7-alpine3.12
- hostname: py3.7-alpine3.13
image: python:3.7-alpine3.13
- hostname: py3.7-alpine3.17
image: python:3.7-alpine3.17
- hostname: py3.7-debian10
image: python:3.7-buster
- hostname: py3.7-debian11
image: python:3.7-bullseye
- hostname: py3.7-ubuntu18.04
image: ubuntu:18.04
- hostname: py3.8-alpine3.12
image: python:3.8-alpine3.12
- hostname: py3.8-alpine3.13
image: python:3.8-alpine3.13
- hostname: py3.8-debian10
image: python:3.8-buster
- hostname: py3.8-debian11
image: python:3.8-bullseye
- hostname: py3.8-ubuntu18.04
image: ubuntu:18.04
- hostname: py3.8-ubuntu20.04
image: ubuntu:20.04
- hostname: py3.9-alpine3.12
image: python:3.9-alpine3.12
- hostname: py3.9-alpine3.13
image: python:3.9-alpine3.13
- hostname: py3.9-alpine3.16
image: python:3.9-alpine3.16
- hostname: py3.9-alpine3.17
image: python:3.9-alpine3.17
- hostname: py3.9-centos8
image: centos:8
- hostname: py3.9-debian10
image: python:3.9-buster
- hostname: py3.9-debian11
image: python:3.9-bullseye
- hostname: py3.9-rhel8
image: registry.fedoraproject.org/f33/python3
- hostname: py3.9-ubuntu20.04
image: ubuntu:20.04
- hostname: py3.10-alpine3.13
image: python:3.10-alpine3.13
- hostname: py3.10-alpine3.16
image: python:3.10-alpine3.16
- hostname: py3.10-alpine3.17
image: python:3.10-alpine3.17
- hostname: py3.10-amazon2023
image: amazonlinux:2023
- hostname: py3.10-debian10
image: python:3.10-buster
- hostname: py3.10-debian11
image: python:3.10-bullseye
- hostname: py3.10-ubuntu20.04
image: ubuntu:20.04
- hostname: py3.10-ubuntu22.04
image: ubuntu:22.04
- hostname: py3.11-alpine3.16
image: python:3.11-alpine3.16
- hostname: py3.11-alpine3.17
image: python:3.11-alpine3.17
- hostname: py3.11-debian10
image: python:3.11-buster
- hostname: py3.11-debian11
image: python:3.11-bullseye
- hostname: py3.11-ubuntu20.04
image: ubuntu:20.04
- hostname: py3.11-ubuntu22.04
image: ubuntu:22.04
exclude:
- hostname: py3.7-alpine3.12
arch: arm64
- hostname: py3.7-alpine3.13
arch: arm64
- hostname: py3.7-alpine3.17
arch: arm64
- hostname: py3.8-alpine3.12
arch: arm64
- hostname: py3.8-alpine3.13
arch: arm64
- hostname: py3.9-alpine3.12
arch: arm64
- hostname: py3.9-alpine3.13
arch: arm64
- hostname: py3.9-alpine3.16
arch: arm64
- hostname: py3.9-alpine3.17
arch: arm64
- hostname: py3.10-alpine3.13
arch: arm64
- hostname: py3.10-alpine3.16
arch: arm64
- hostname: py3.10-alpine3.17
arch: arm64
- hostname: py3.11-alpine3.16
arch: arm64
- hostname: py3.11-alpine3.17
arch: arm64
container:
image: "${{ matrix.image }}"
options: --hostname "${{ matrix.hostname }}"
steps:
- if: ${{ matrix.image == 'amazonlinux:2023' }}
run: yum install -y tar gzip
- if: ${{ matrix.image == 'ubuntu:18.04' }}
uses: actions/checkout@v3
- if: ${{ matrix.image != 'ubuntu:18.04' }}
uses: actions/checkout@v4
- name: Setup and run install test
working-directory: ./tests/docker/install
run: ./_helper_run_install_tests.sh
shell: sh
env:
MODE: ${{ github.event.inputs.install-registry }}
terminate-arm64:
if: ${{ always() }}
needs:
- launch-arm64
- install-tests
runs-on: ubuntu-latest
steps:
- uses: getsentry/action-github-app-token@v3
id: github-token
with:
app_id: ${{ vars.APPLICATION_ID }}
private_key: ${{ secrets.APPLICATION_PRIVATE_KEY }}
- uses: aws-actions/configure-aws-credentials@v4
with:
aws-access-key-id: ${{ secrets.API_CI_GHA_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.API_CI_GHA_SECRET_ACCESS_KEY }}
aws-region: us-east-1
- uses: solarwinds/ec2-runner-action@main
with:
action: terminate
github-token: ${{ steps.github-token.outputs.token }}
matrix: ${{ needs.launch-arm64.outputs.matrix }}