Skip to content

Commit

Permalink
fixup! Fix #60: VMs running via QEMU only expose SSE and SSE2 CPU fea…
Browse files Browse the repository at this point in the history
…tures
  • Loading branch information
jacob-carlborg committed Aug 17, 2023
1 parent 7437e7e commit 7050b55
Show file tree
Hide file tree
Showing 2 changed files with 200 additions and 184 deletions.
361 changes: 190 additions & 171 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,13 +26,13 @@ jobs:
matrix:
version:
- '13.2'
# - '13.1'
# - '13.0'
# - '12.4'
# - '12.2'
- '13.1'
- '13.0'
- '12.4'
- '12.2'

architecture:
# - name: arm64
- name: arm64
- name: x86-64
uname: amd64

Expand Down Expand Up @@ -67,169 +67,188 @@ jobs:
uname_hardware: ${{ matrix.architecture.uname || matrix.architecture.name }}
work_directory: ${{ matrix.host.work_directory }}

# OpenBSD:
# name: OpenBSD ${{ matrix.architecture.name }} ${{ matrix.version }} on ${{ matrix.host.name }}
# runs-on: ${{ matrix.host.name }}
# timeout-minutes: 5
# strategy:
# fail-fast: false
# matrix:
# version:
# - '7.3'
# - '7.2'
# - '7.1'
# - '6.9'
# - '6.8'
#
# architecture:
# - name: arm64
# - name: x86-64
# uname: amd64
#
# host:
# - name: ubuntu-latest
# work_directory: /home/runner/work/action/action
#
# - name: macos-latest
# work_directory: /Users/runner/work/action/action
#
# exclude:
# - version: '6.8'
# architecture: { name: arm64 }
#
# - architecture: { name: arm64 }
# host: { name: macos-latest }
#
# steps:
# - name: Checkout
# uses: actions/checkout@v3
# with:
# persist-credentials: false
#
# - name: test
# uses: ./.github/workflows/support/test
# with:
# name: OpenBSD
# architecture: ${{ matrix.architecture.name }}
# version: ${{ matrix.version }}
# uname_hardware: ${{ matrix.architecture.uname || matrix.architecture.name }}
# work_directory: ${{ matrix.host.work_directory }}
#
# NetBSD:
# name: NetBSD ${{ matrix.architecture.name }} ${{ matrix.version }} on ${{ matrix.host.name }}
# runs-on: ${{ matrix.host.name }}
# timeout-minutes: 5
# strategy:
# fail-fast: false
# matrix:
# version:
# - '9.3'
# - '9.2'
#
# architecture:
# - name: x86-64
# uname: amd64
#
# host:
# - name: ubuntu-latest
# work_directory: /home/runner/work/action/action
#
# - name: macos-latest
# work_directory: /Users/runner/work/action/action
#
# steps:
# - name: Checkout
# uses: actions/checkout@v3
# with:
# persist-credentials: false
#
# - name: test
# uses: ./.github/workflows/support/test
# with:
# name: NetBSD
# architecture: ${{ matrix.architecture.name }}
# version: ${{ matrix.version }}
# uname_hardware: ${{ matrix.architecture.uname || matrix.architecture.name }}
# work_directory: ${{ matrix.host.work_directory }}
#
# test-no-env:
# timeout-minutes: 5
# name: Test without environment variables
# runs-on: ubuntu-latest
#
# steps:
# - name: Checkout
# uses: actions/checkout@v3
# with:
# persist-credentials: false
#
# - name: Test
# uses: ./
# with:
# operating_system: freebsd
# architecture: x86-64
# version: '13.0'
# run: env | sort
#
# test-cpu-count-config:
# timeout-minutes: 5
# name: Test configuring CPU count
# runs-on: ubuntu-latest
#
# steps:
# - name: Checkout
# uses: actions/checkout@v3
# with:
# persist-credentials: false
#
# - name: Test
# uses: ./
# with:
# operating_system: freebsd
# architecture: x86-64
# version: '13.1'
# cpu_count: 8
# run: |
# sysctl hw.ncpu
# [ `sysctl -n hw.ncpu` = 8 ]
#
# # Does not automatically verify anything. Only for manual verification
# test-hypervisor-config:
# timeout-minutes: 5
# name: Test configuring hypervisor
# runs-on: macos-latest
#
# steps:
# - name: Checkout
# uses: actions/checkout@v3
# with:
# persist-credentials: false
#
# - name: Test
# uses: ./
# with:
# operating_system: freebsd
# architecture: x86-64
# version: '13.1'
# hypervisor: qemu
# run: sysctl hw.model
#
# test-custom-vm-image:
# timeout-minutes: 5
# name: Test custom VM image
# runs-on: macos-latest
#
# steps:
# - name: Checkout
# uses: actions/checkout@v3
# with:
# persist-credentials: false
#
# - name: Test
# uses: ./
# with:
# operating_system: openbsd
# architecture: x86-64
# version: '7.3'
# image_url: https://github.com/cross-platform-actions/test-custom-image-builder/releases/download/v1.0.0/openbsd-7.3-x86-64.qcow2
# run: test -f /foo
OpenBSD:
name: OpenBSD ${{ matrix.architecture.name }} ${{ matrix.version }} on ${{ matrix.host.name }}
runs-on: ${{ matrix.host.name }}
timeout-minutes: 5
strategy:
fail-fast: false
matrix:
version:
- '7.3'
- '7.2'
- '7.1'
- '6.9'
- '6.8'

architecture:
- name: arm64
- name: x86-64
uname: amd64

host:
- name: ubuntu-latest
work_directory: /home/runner/work/action/action

- name: macos-latest
work_directory: /Users/runner/work/action/action

exclude:
- version: '6.8'
architecture: { name: arm64 }

- architecture: { name: arm64 }
host: { name: macos-latest }

steps:
- name: Checkout
uses: actions/checkout@v3
with:
persist-credentials: false

- name: test
uses: ./.github/workflows/support/test
with:
name: OpenBSD
architecture: ${{ matrix.architecture.name }}
version: ${{ matrix.version }}
uname_hardware: ${{ matrix.architecture.uname || matrix.architecture.name }}
work_directory: ${{ matrix.host.work_directory }}

NetBSD:
name: NetBSD ${{ matrix.architecture.name }} ${{ matrix.version }} on ${{ matrix.host.name }}
runs-on: ${{ matrix.host.name }}
timeout-minutes: 5
strategy:
fail-fast: false
matrix:
version:
- '9.3'
- '9.2'

architecture:
- name: x86-64
uname: amd64

host:
- name: ubuntu-latest
work_directory: /home/runner/work/action/action

- name: macos-latest
work_directory: /Users/runner/work/action/action

steps:
- name: Checkout
uses: actions/checkout@v3
with:
persist-credentials: false

- name: test
uses: ./.github/workflows/support/test
with:
name: NetBSD
architecture: ${{ matrix.architecture.name }}
version: ${{ matrix.version }}
uname_hardware: ${{ matrix.architecture.uname || matrix.architecture.name }}
work_directory: ${{ matrix.host.work_directory }}

test-no-env:
timeout-minutes: 5
name: Test without environment variables
runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@v3
with:
persist-credentials: false

- name: Test
uses: ./
with:
operating_system: freebsd
architecture: x86-64
version: '13.0'
run: env | sort

test-cpu-count-config:
timeout-minutes: 5
name: Test configuring CPU count
runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@v3
with:
persist-credentials: false

- name: Test
uses: ./
with:
operating_system: freebsd
architecture: x86-64
version: '13.1'
cpu_count: 8
run: |
sysctl hw.ncpu
[ `sysctl -n hw.ncpu` = 8 ]
# Does not automatically verify anything. Only for manual verification
test-hypervisor-config:
timeout-minutes: 5
name: Test configuring hypervisor
runs-on: macos-latest

steps:
- name: Checkout
uses: actions/checkout@v3
with:
persist-credentials: false

- name: Test
uses: ./
with:
operating_system: freebsd
architecture: x86-64
version: '13.1'
hypervisor: qemu
run: sysctl hw.model

test-custom-vm-image:
timeout-minutes: 5
name: Test custom VM image
runs-on: macos-latest

steps:
- name: Checkout
uses: actions/checkout@v3
with:
persist-credentials: false

- name: Test
uses: ./
with:
operating_system: openbsd
architecture: x86-64
version: '7.3'
image_url: https://github.com/cross-platform-actions/test-custom-image-builder/releases/download/v1.0.0/openbsd-7.3-x86-64.qcow2
run: test -f /foo

test-cpu-features:
timeout-minutes: 5
name: Test CPU features
runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@v3
with:
persist-credentials: false

- name: Test
uses: ./
with:
operating_system: freebsd
architecture: x86-64
version: '13.2'
run: dmesg | grep -i avx2

0 comments on commit 7050b55

Please sign in to comment.