Use Cirrus CI for NetBSD/OpenBSD (#110)

This commit is contained in:
Taiki Endo 2023-04-29 06:05:19 +09:00 committed by GitHub
parent 8d8d2efcc2
commit 5e4410c937
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 43 additions and 74 deletions

View File

@ -4,6 +4,7 @@ env:
CARGO_INCREMENTAL: '0'
CARGO_NET_GIT_FETCH_WITH_CLI: 'true'
CARGO_NET_RETRY: '10'
CARGO_REGISTRIES_CRATES_IO_PROTOCOL: 'sparse'
CARGO_TERM_COLOR: always
RUST_BACKTRACE: '1'
RUSTDOCFLAGS: -D warnings
@ -32,3 +33,44 @@ freebsd_task:
- echo '[patch.crates-io]' >> async-io/Cargo.toml
- echo 'polling = { path = ".." }' >> async-io/Cargo.toml
- cargo test --target $TARGET --manifest-path=async-io/Cargo.toml
netbsd_task:
name: test ($TARGET)
compute_engine_instance:
image_project: pg-ci-images
# https://github.com/anarazel/pg-vm-images/blob/main/packer/netbsd.pkrvars.hcl
image: family/pg-ci-netbsd-vanilla-9-3
platform: netbsd
env:
TARGET: x86_64-unknown-netbsd
setup_script:
- pkgin -y install git
- curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain stable
test_script:
- . $HOME/.cargo/env
- cargo test
# Test async-io
- git clone https://github.com/smol-rs/async-io.git
- echo '[patch.crates-io]' >> async-io/Cargo.toml
- echo 'polling = { path = ".." }' >> async-io/Cargo.toml
- cargo test --manifest-path=async-io/Cargo.toml
openbsd_task:
name: test ($TARGET)
compute_engine_instance:
image_project: pg-ci-images
# https://github.com/anarazel/pg-vm-images/blob/main/packer/openbsd.pkrvars.hcl
image: family/pg-ci-openbsd-vanilla-7-2
platform: openbsd
env:
TARGET: x86_64-unknown-openbsd
setup_script:
# OpenBSD is tier 3 target, so install rust from package manager instead of rustup
- pkg_add git rust
test_script:
- cargo test
# Test async-io
- git clone https://github.com/smol-rs/async-io.git
- echo '[patch.crates-io]' >> async-io/Cargo.toml
- echo 'polling = { path = ".." }' >> async-io/Cargo.toml
- cargo test --manifest-path=async-io/Cargo.toml

View File

@ -77,7 +77,7 @@ jobs:
run: rustup update stable
- name: Install cross
uses: taiki-e/install-action@cross
# We don't test BSDs, since we already test them in Cirrus/vmactions.
# We don't test BSDs, since we already test them in Cirrus.
- name: Android
if: startsWith(matrix.os, 'ubuntu')
run: cross test --target arm-linux-androideabi
@ -102,79 +102,6 @@ jobs:
rustup target add x86_64-unknown-illumos
cargo build --target x86_64-unknown-illumos
netbsd:
runs-on: macos-12
steps:
- uses: actions/checkout@v3
- name: Clone async-io
run: git clone https://github.com/smol-rs/async-io.git
- name: Add patch section
run: echo '[patch.crates-io]' >> async-io/Cargo.toml
- name: Patch polling
run: echo 'polling = { path = ".." }' >> async-io/Cargo.toml
- name: Test NetBSD
id: test
uses: vmactions/netbsd-vm@v0
with:
envs: CARGO_INCREMENTAL CARGO_NET_GIT_FETCH_WITH_CLI CARGO_NET_RETRY RUST_BACKTRACE RUSTFLAGS RUSTDOCFLAGS RUSTUP_MAX_RETRIES
usesh: true
prepare: |
pkg_add curl git
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain stable
run: |
. $HOME/.cargo/env
set -ex
cargo test
cargo test --manifest-path=async-io/Cargo.toml
openbsd:
runs-on: macos-12
steps:
- uses: actions/checkout@v3
- name: Clone async-io
run: git clone https://github.com/smol-rs/async-io.git
- name: Add patch section
run: echo '[patch.crates-io]' >> async-io/Cargo.toml
- name: Patch polling
run: echo 'polling = { path = ".." }' >> async-io/Cargo.toml
- name: Test OpenBSD
id: test
uses: vmactions/openbsd-vm@v0
with:
envs: CARGO_INCREMENTAL CARGO_NET_GIT_FETCH_WITH_CLI CARGO_NET_RETRY RUST_BACKTRACE RUSTFLAGS RUSTDOCFLAGS RUSTUP_MAX_RETRIES
usesh: true
# OpenBSD is tier 3 target, so install rust from package manager instead of rustup
prepare: |
pkg_add git rust
run: |
set -ex
cargo test
cargo test --manifest-path=async-io/Cargo.toml
dragonfly:
runs-on: macos-12
steps:
- uses: actions/checkout@v3
- name: Clone async-io
run: git clone https://github.com/smol-rs/async-io.git
- name: Add patch section
run: echo '[patch.crates-io]' >> async-io/Cargo.toml
- name: Patch polling
run: echo 'polling = { path = ".." }' >> async-io/Cargo.toml
- name: Test Dragonfly BSD
id: test
uses: vmactions/dragonflybsd-vm@v0
with:
envs: CARGO_INCREMENTAL CARGO_NET_GIT_FETCH_WITH_CLI CARGO_NET_RETRY RUST_BACKTRACE RUSTFLAGS RUSTDOCFLAGS RUSTUP_MAX_RETRIES
usesh: true
# Dragonfly BSD is tier 3 target, so install rust from package manager instead of rustup
prepare: |
pkg install -y git rust
run: |
set -ex
cargo test
cargo test --manifest-path=async-io/Cargo.toml
wine:
runs-on: ubuntu-22.04
steps: