Skip to content

OS Compatibility Test #72759

OS Compatibility Test

OS Compatibility Test #72759

name: OS Compatibility Test
run-name: OS Compatibility Test
on:
pull_request:
merge_group:
jobs:
changes:
name: Check for relevant changes
runs-on: ubuntu-latest
permissions:
pull-requests: read
outputs:
changed: ${{ steps.changes.outputs.changed }}
steps:
- name: Checkout
if: ${{ github.event_name == 'merge_group' }}
uses: actions/checkout@v4
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
with:
base: ${{ github.event.pull_request.base.ref || github.event.merge_group.base_ref }}
ref: ${{ github.event.pull_request.head.ref || github.event.merge_group.head_ref }}
filters: |
changed:
- '.github/workflows/os-compatibility-test.yaml'
- '!(docs|web|rfd)/**'
build:
name: OS Compatibility Build
needs: changes
if: ${{ !startsWith(github.head_ref, 'dependabot/') && needs.changes.outputs.changed == 'true' }}
runs-on: ubuntu-22.04-16core
permissions:
contents: read
container:
image: ghcr.io/gravitational/teleport-buildbox-centos7:teleport16-amd64
env:
GOCACHE: /tmp/gocache
WEBASSETS_SKIP_BUILD: 1
steps:
- name: Checkout Teleport
uses: actions/checkout@v3 # Cannot upgrade to v4 while this runs in centos:7 due to nodejs GLIBC incompatibility
- name: Prepare workspace
uses: ./.github/actions/prepare-workspace
- name: Run make
run: |
make -j"$(nproc)" binaries
- name: Upload binaries
uses: actions/upload-artifact@v3
with:
name: build
path: ${{ github.workspace }}/build/
test-compat:
needs: build
name: OS Compatibility Test
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Download binaries
uses: actions/download-artifact@v3
with:
name: build
path: ${{ github.workspace }}/build
- name: chmod +x
run: chmod +x ${GITHUB_WORKSPACE}/build/*
- name: Run compat matrix
timeout-minutes: 10
run: |
cd ${GITHUB_WORKSPACE} && ./build.assets/build-test-compat.sh