Skip to content

Add Windows 11 on ARM tests (#219) #619

Add Windows 11 on ARM tests (#219)

Add Windows 11 on ARM tests (#219) #619

name: OS Compatibility
on:
push:
branches: [ main ]
pull_request:
workflow_dispatch:
jobs:
os:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [macos-13, macos-14, macos-15, ubuntu-22.04, ubuntu-24.04, windows-2019, windows-2022, windows-2025, ubuntu-22.04-arm, ubuntu-24.04-arm, windows-11-arm]
#There is no 10.0.0 at the time of writing, but since greater than characters are not allowed in GitHub Actions artifacts names, 9.0.1 - 10.0.0 will be used instead of >9.0.0
version-requirement: ['5.7.19 - 5.7.24', '5.7.25 - 5.7.29', '5.7.30 - 5.7.34', '5.7.35 - 5.7.39', '5.7.40 - 5.7.44', '8.0.0 - 8.0.4', '8.0.4 - 8.0.13', '8.0.14 - 8.0.19', '8.0.20 - 8.0.24', '8.0.25 - 8.0.29', '8.0.30 - 8.0.34', '8.0.35 - 8.0.39', '8.0.40 - 8.3.0', '8.4.0 - 9.0.0', '9.0.1 - 10.0.0']
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup node LTS
uses: actions/setup-node@v4
with:
node-version: lts/*
check-latest: true
- name: Install packages
run: npm ci
- name: Run tests
env:
VERSION_REQUIREMENT: ${{ matrix.version-requirement }}
run: npm run os-compat:ci
- name: Upload mysqlmsn directory (Windows)
if: ${{ failure() && runner.os == 'Windows' }}
uses: actions/[email protected]
with:
name: ${{ matrix.os }}-${{ matrix.version-requirement }}
path: "C:\\Users\\RUNNER~1\\mysqlmsn"
compression-level: 0
- name: Upload mysqlmsn directory (Not Windows)
if: ${{ failure() && runner.os != 'Windows' }}
uses: actions/[email protected]
with:
name: ${{ matrix.os }}-${{ matrix.version-requirement }}
path: /tmp/mysqlmsn
compression-level: 0
fedora-docker:
runs-on: ubuntu-${{ matrix.ubuntu-version}}
strategy:
fail-fast: false
matrix:
version: [40, 41]
#There is no 10.0.0 at the time of writing, but since greater than characters are not allowed in GitHub Actions artifacts names, 9.0.1 - 10.0.0 will be used instead of >9.0.0
version-requirement: ['5.7.19 - 5.7.24', '5.7.25 - 5.7.29', '5.7.30 - 5.7.34', '5.7.35 - 5.7.39', '5.7.40 - 5.7.44', '8.0.0 - 8.0.4', '8.0.4 - 8.0.13', '8.0.14 - 8.0.19', '8.0.20 - 8.0.24', '8.0.25 - 8.0.29', '8.0.30 - 8.0.34', '8.0.35 - 8.0.39', '8.0.40 - 8.3.0', '8.4.0 - 9.0.0', '9.0.1 - 10.0.0']
ubuntu-version: [24.04, 24.04-arm]
container: fedora:${{ matrix.version }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup node LTS
uses: actions/setup-node@v4
with:
node-version: lts/*
check-latest: true
- name: Install required libraries
run: sudo dnf install libaio numactl libxcrypt-compat -y
- name: Install packages
run: npm ci
- name: Print available storage space
run: df -h
- name: Run tests
env:
VERSION_REQUIREMENT: ${{ matrix.version-requirement }}
run: npm run os-compat:ci
- name: Upload mysqlmsn directory
if: ${{ failure() }}
uses: actions/[email protected]
with:
name: docker-fedora-${{ matrix.version }}-${{ matrix.version-requirement }}
path: /tmp/mysqlmsn
compression-level: 0