Add Windows 11 on ARM tests (#219) #617
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |