Files
bottom/.github/workflows/bsd_vm_check.yml
2026-03-11 03:52:44 +00:00

69 lines
2.4 KiB
YAML

# Run BSD VM jobs with manually-implemented retries.
name: "BSD VM Check"
on:
workflow_call:
inputs:
os-target:
type: string
description: "BSD target (x86_64-unknown-freebsd, x86_64-unknown-netbsd, or x86_64-unknown-openbsd)"
required: true
os-version:
type: string
description: "Release version"
required: true
# Duplicated because GHA doesn't support passing env vars through without making them all inputs or something.
env:
RUST_BACKTRACE: 1
CARGO_INCREMENTAL: 0
CARGO_PROFILE_DEV_DEBUG: 0
CARGO_HUSKY_DONT_INSTALL_HOOKS: true
jobs:
bsd-vm-test:
runs-on: ubuntu-24.04
timeout-minutes: 20
steps:
- name: Checkout repository
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
fetch-depth: 1
- name: OpenBSD Test (Attempt 1)
uses: vmactions/openbsd-vm@9a8e4351a4a0dc6238e7c69276dcbf6c03bea576 # v1.3.6
if: ${{ inputs.os-target == 'x86_64-unknown-openbsd' }}
with:
release: "${{ inputs.os-version }}"
envs: "RUST_BACKTRACE CARGO_INCREMENTAL CARGO_PROFILE_DEV_DEBUG CARGO_HUSKY_DONT_INSTALL_HOOKS"
usesh: true
run: sh ./scripts/ci/ci_bsd.sh ${{ inputs.os-target }}
id: openbsd_attempt_1
continue-on-error: true
- name: OpenBSD Test (Attempt 2)
uses: vmactions/openbsd-vm@9a8e4351a4a0dc6238e7c69276dcbf6c03bea576 # v1.3.6
if: ${{ inputs.os-target == 'x86_64-unknown-openbsd' && steps.openbsd_attempt_1.outcome == 'failure' }}
with:
release: "${{ inputs.os-version }}"
envs: "RUST_BACKTRACE CARGO_INCREMENTAL CARGO_PROFILE_DEV_DEBUG CARGO_HUSKY_DONT_INSTALL_HOOKS"
usesh: true
run: sh ./scripts/ci/ci_bsd.sh ${{ inputs.os-target }}
id: openbsd_attempt_2
continue-on-error: true
- name: OpenBSD Test (Attempt 3)
uses: vmactions/openbsd-vm@9a8e4351a4a0dc6238e7c69276dcbf6c03bea576 # v1.3.6
if: ${{ inputs.os-target == 'x86_64-unknown-openbsd' && steps.openbsd_attempt_2.outcome == 'failure' }}
with:
release: "${{ inputs.os-version }}"
envs: "RUST_BACKTRACE CARGO_INCREMENTAL CARGO_PROFILE_DEV_DEBUG CARGO_HUSKY_DONT_INSTALL_HOOKS"
usesh: true
run: sh ./scripts/ci/ci_bsd.sh ${{ inputs.os-target }}
id: openbsd_attempt_3
- name: Check result
if: ${{ failure() }}
run: exit 1