ci: Add a flow that combines C build and Rust integration tests
Today it's just the Jenkins flow which builds our Rust integration tests. Let's add a flow to the GH actions which does this, and also runs inside a (privileged) container. Prep for doing more testing of the ostree-container path here.
This commit is contained in:
parent
f79c7a0a0a
commit
d29eebca5c
|
|
@ -26,6 +26,22 @@ jobs:
|
||||||
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
|
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
|
||||||
- name: Test style
|
- name: Test style
|
||||||
run: ./ci/ci-commitmessage-submodules.sh
|
run: ./ci/ci-commitmessage-submodules.sh
|
||||||
|
build-integration:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
container: quay.io/coreos-assembler/fcos-buildroot:testing-devel
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- name: Cache Dependencies
|
||||||
|
uses: Swatinem/rust-cache@ce325b60658c1b38465c06cc965b79baf32c1e72
|
||||||
|
with:
|
||||||
|
key: "integration"
|
||||||
|
- name: Build
|
||||||
|
run: cd tests/inst && cargo build --verbose --release
|
||||||
|
- name: Upload binary
|
||||||
|
uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
name: ostree-test
|
||||||
|
path: tests/inst/target/release/ostree-test
|
||||||
minimal:
|
minimal:
|
||||||
name: "Build - FCOS minimal"
|
name: "Build - FCOS minimal"
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
@ -44,6 +60,53 @@ jobs:
|
||||||
--without-openssl --without-avahi --without-libmount --disable-rofiles-fuse \
|
--without-openssl --without-avahi --without-libmount --disable-rofiles-fuse \
|
||||||
--without-libsodium &&
|
--without-libsodium &&
|
||||||
make
|
make
|
||||||
|
build-c:
|
||||||
|
name: "Build (Fedora)"
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
container: registry.ci.openshift.org/coreos/fcos-buildroot:testing-devel
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
# https://github.com/actions/checkout/issues/760
|
||||||
|
- name: Mark git checkout as safe
|
||||||
|
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
|
||||||
|
- name: Build
|
||||||
|
run: |
|
||||||
|
env NOCONFIGURE=1 ./autogen.sh &&
|
||||||
|
./configure --with-curl --with-selinux --with-dracut=yesbutnoconf &&
|
||||||
|
make -j 4 && make install DESTDIR=$(pwd)/install && tar -c -C install --zstd -f inst.tar.zst .
|
||||||
|
- name: Upload binary
|
||||||
|
uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
name: inst.tar.zst
|
||||||
|
path: inst.tar.zst
|
||||||
|
privtest:
|
||||||
|
name: "Privileged testing"
|
||||||
|
needs: [build-c, build-integration]
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
container:
|
||||||
|
image: quay.io/fedora/fedora-coreos:testing-devel
|
||||||
|
options: "--privileged --pid=host -v /run/systemd:/run/systemd -v /:/run/host"
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
- name: Download install tree
|
||||||
|
uses: actions/download-artifact@v2
|
||||||
|
with:
|
||||||
|
name: inst.tar.zst
|
||||||
|
- name: Install
|
||||||
|
run: tar -C / -xvf inst.tar.zst && rm -f inst.tar.zst
|
||||||
|
- name: Download test binary
|
||||||
|
uses: actions/download-artifact@v2
|
||||||
|
with:
|
||||||
|
name: ostree-test
|
||||||
|
- name: Install
|
||||||
|
run: install ostree-test /usr/bin
|
||||||
|
- name: Setup
|
||||||
|
# https://github.com/ostreedev/ostree-rs-ext/issues/417
|
||||||
|
run: mkdir -p /var/tmp
|
||||||
|
- name: Integration tests (unit)
|
||||||
|
run: ostree-test
|
||||||
tests:
|
tests:
|
||||||
# Distro configuration matrix
|
# Distro configuration matrix
|
||||||
#
|
#
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue