ci: Use vmactions
for checks on other platforms
#14
Workflow file for this run
This file contains 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: CI VM | |
on: | |
push: | |
branches: ["main"] | |
paths-ignore: ["*.md", "*.png", "*.svg", "LICENSE-*"] | |
pull_request: | |
branches: ["main"] | |
paths-ignore: ["*.md", "*.png", "*.svg", "LICENSE-*"] | |
merge_group: | |
workflow_dispatch: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref_name }} | |
cancel-in-progress: true | |
permissions: | |
contents: read | |
jobs: | |
check-vm: | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [freebsd, openbsd, netbsd, solaris] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 | |
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 | |
with: | |
repository: nss-dev/nss | |
path: nss | |
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 | |
with: | |
repository: nss-dev/nspr | |
path: nspr | |
- if: matrix.os == 'freebsd' | |
uses: vmactions/freebsd-vm@d7b8fcc7711aa41ad45e8d9b737cf90f035a7e3d | |
with: | |
usesh: true | |
copyback: false | |
prepare: | | |
pkg install -y curl bash ninja python3 | |
echo "gyp-next>=0.18.1" > req.txt | |
python3 -m pip install -r req.txt | |
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | \ | |
sh -s -- --profile minimal --default-toolchain stable | |
run: | | |
export NSS_DIR=$(pwd)/nss | |
export NSS_TARGET=Debug | |
cargo check --all-targets --features ci | |
RUST_LOG=trace cargo test --features ci --no-fail-fast | |
- if: matrix.os == 'openbsd' | |
uses: vmactions/openbsd-vm@ebafa4eac4adf5e7d04e5bbb4aa764b75dd160df | |
with: | |
usesh: true | |
copyback: false | |
prepare: | | |
pkg_add curl bash ninja python-3.10.14 | |
echo "gyp-next>=0.18.1" > req.txt | |
python3 -m pip install -r req.txt | |
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | \ | |
sh -s -- --profile minimal --default-toolchain stable | |
run: | | |
export NSS_DIR=$(pwd)/nss | |
export NSS_TARGET=Debug | |
cargo check --all-targets --features ci | |
RUST_LOG=trace cargo test --features ci --no-fail-fast | |
- if: matrix.os == 'netbsd' | |
uses: vmactions/netbsd-vm@dd0161ecbb6386e562fd098acf367633501487a4 | |
with: | |
usesh: true | |
copyback: false | |
prepare: | | |
/usr/sbin/pkg_add curl bash ninja python312 | |
echo "gyp-next>=0.18.1" > req.txt | |
python3 -m pip install -r req.txt | |
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | \ | |
sh -s -- --profile minimal --default-toolchain stable | |
run: | | |
export NSS_DIR=$(pwd)/nss | |
export NSS_TARGET=Debug | |
cargo check --all-targets --features ci | |
RUST_LOG=trace cargo test --features ci --no-fail-fast | |
- if: matrix.os == 'solaris' | |
uses: vmactions/solaris-vm@960d7483ffd6ac03397964cf6423a2f41332c9c8 | |
with: | |
release: "11.4-gcc" | |
usesh: true | |
copyback: false | |
prepare: | | |
pkg install curl bash ninja python3 | |
echo "gyp-next>=0.18.1" > req.txt | |
python3 -m pip install -r req.txt | |
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | \ | |
sh -s -- --profile minimal --default-toolchain stable | |
run: | | |
export NSS_DIR=$(pwd)/nss | |
export NSS_TARGET=Debug | |
cargo check --all-targets --features ci | |
RUST_LOG=trace cargo test --features ci --no-fail-fast |