Skip to content

Test Installers

Test Installers #16

Workflow file for this run

name: Test Installers
permissions:
contents: read
on:
workflow_dispatch:
inputs:
bucket_name:
type: string
description: 'S3 bucket to download installers from'
required: true
bucket_key_prefix:
type: string
description: 'S3 bucket key prefix to download installers from'
required: true
version:
type: string
description: 'Version of the installer to download'
required: true
jobs:
test:
name: '${{ matrix.test }} test ${{ matrix.format }} on ${{ matrix.platform.name }} (${{ matrix.platform.arch }})'
strategy:
fail-fast: false
matrix:
test:
- time-to-first-query
- auto-update-from
platform:
- name: windows
arch: x64
runs-on: windows-latest
hadron-platform: windows
- name: osx
arch: x64
runs-on: macos-13
hadron-platform: darwin
- name: osx
arch: arm64
runs-on: macos-latest
hadron-platform: darwin
- name: linux
arch: x64
runs-on: ubuntu-latest
hadron-platform: linux
test_command_prefix: "xvfb"
format:
- zip
- setup
- msi
- dmg
- deb
- tar
- rpm
hadron-distribution:
- compass
exclude:
# Excluding formats per platform
- platform:
name: osx
format: setup
- platform:
name: osx
format: msi
- platform:
name: osx
format: deb
- platform:
name: osx
format: tar
- platform:
name: osx
format: rpm
- platform:
name: windows
format: dmg
- platform:
name: windows
format: deb
- platform:
name: windows
format: tar
- platform:
name: windows
format: rpm
- platform:
name: linux
format: setup
- platform:
name: linux
format: msi
- platform:
name: linux
format: dmg
# Temporarily disable running on Windows, Ubuntu
- platform:
name: windows
- platform:
name: linux
runs-on: ${{ matrix.platform.runs-on }}
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: "npm"
- name: Cache downloads
uses: actions/cache@v2
with:
key: smoke-tests-downloads-${{ inputs.version }}-${{ matrix.platform.name }}-${{ matrix.platform.arch }}-${{ matrix.format }}
path: packages/compass-smoke-tests/.downloads
- name: Install dependencies and build packages
run: npm run bootstrap-ci
- name: Create Github App Token
uses: mongodb-js/devtools-shared/actions/setup-bot-token@main
if: matrix.test == 'auto-update-from'
id: app-token
with:
app-id: ${{ vars.DEVTOOLS_BOT_APP_ID }}
private-key: ${{ secrets.DEVTOOLS_BOT_PRIVATE_KEY }}
- name: Install Compass Update server
if: matrix.test == 'auto-update-from'
run: npm install --workspace packages/compass-smoke-tests https://x-access-token:${{ steps.app-token.outputs.token }}@github.com/10gen/compass-mongodb-com
- name: Run tests
env:
EVERGREEN_BUCKET_NAME: ${{ inputs.bucket_name }}
EVERGREEN_BUCKET_KEY_PREFIX: ${{ inputs.bucket_key_prefix }}
DEV_VERSION_IDENTIFIER: ${{ inputs.version }}
HADRON_DISTRIBUTION: ${{ matrix.hadron-distribution }}
PLATFORM: ${{ matrix.platform.hadron-platform }}
ARCH: ${{ matrix.platform.arch }}
working-directory: packages/compass-smoke-tests
run: npm start -- --package ${{ matrix.platform.name }}_${{ matrix.format }} --tests ${{ matrix.test }}