mirror of
https://github.com/containers/fuse-overlayfs.git
synced 2025-09-09 23:34:57 -04:00
Merge pull request #267 from giuseppe/github-actions-ci
tests: move to github actions instead of travis
This commit is contained in:
commit
bccc81eb8e
100
.github/workflows/test.yaml
vendored
Normal file
100
.github/workflows/test.yaml
vendored
Normal file
@ -0,0 +1,100 @@
|
|||||||
|
name: Test
|
||||||
|
|
||||||
|
on: [push, pull_request]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build_job:
|
||||||
|
runs-on: ubuntu-20.04
|
||||||
|
name: Build on ${{ matrix.arch }}
|
||||||
|
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- arch: armv7
|
||||||
|
distro: ubuntu20.04
|
||||||
|
- arch: aarch64
|
||||||
|
distro: ubuntu20.04
|
||||||
|
- arch: s390x
|
||||||
|
distro: ubuntu20.04
|
||||||
|
- arch: ppc64le
|
||||||
|
distro: ubuntu20.04
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2.1.0
|
||||||
|
- uses: uraimo/run-on-arch-action@v2.0.5
|
||||||
|
name: Build
|
||||||
|
id: build
|
||||||
|
with:
|
||||||
|
arch: ${{ matrix.arch }}
|
||||||
|
distro: ${{ matrix.distro }}
|
||||||
|
|
||||||
|
githubToken: ${{ github.token }}
|
||||||
|
|
||||||
|
setup: |
|
||||||
|
git submodule update --init --recursive
|
||||||
|
|
||||||
|
install: |
|
||||||
|
apt-get update -q -y
|
||||||
|
apt-get install -q -y attr automake autotools-dev git make gcc pkg-config xz-utils python3.8 g++ python3-setuptools libdevmapper-dev btrfs-progs libbtrfs-dev go-md2man parallel libfuse3-dev bats
|
||||||
|
|
||||||
|
run: |
|
||||||
|
./autogen.sh
|
||||||
|
./configure
|
||||||
|
make -j $(nproc)
|
||||||
|
|
||||||
|
Test:
|
||||||
|
runs-on: ubuntu-20.04
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- test: no-ovl-whiteouts
|
||||||
|
- test: ovl-whiteouts
|
||||||
|
env:
|
||||||
|
GOPATH: /root/go
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: checkout
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: install dependencies
|
||||||
|
run: |
|
||||||
|
sudo apt-get update -q -y
|
||||||
|
sudo apt-get install -q -y attr automake autotools-dev git make gcc pkg-config xz-utils python3.8 g++ python3-setuptools libdevmapper-dev btrfs-progs libbtrfs-dev go-md2man parallel wget libfuse3-dev bats
|
||||||
|
|
||||||
|
sudo mkdir -p /lower /upper /mnt
|
||||||
|
sudo sh -c "(cd /; git clone https://github.com/amir73il/unionmount-testsuite.git)"
|
||||||
|
sudo go get github.com/containers/storage
|
||||||
|
sudo GOPATH=$GOPATH sh -c "(cd /root/go/src/github.com/containers/storage; sed -i -e 's|^AUTOTAGS.*$|AUTOTAGS := exclude_graphdriver_devicemapper exclude_graphdriver_btrfs|' Makefile; make GO111MODULE=on containers-storage)"
|
||||||
|
|
||||||
|
- name: run autogen.sh
|
||||||
|
run: |
|
||||||
|
./autogen.sh
|
||||||
|
|
||||||
|
- name: run configure
|
||||||
|
run: |
|
||||||
|
./configure
|
||||||
|
|
||||||
|
- name: build and install
|
||||||
|
run: |
|
||||||
|
make -j $(nproc)
|
||||||
|
sudo make -j install
|
||||||
|
sudo cp fuse-overlayfs /sbin
|
||||||
|
|
||||||
|
- name: run test
|
||||||
|
run: |
|
||||||
|
case "${{ matrix.test }}" in
|
||||||
|
ovl-whiteouts)
|
||||||
|
sudo sh -c "(cd /unionmount-testsuite; unshare -m ./run --ov --fuse=fuse-overlayfs --xdev)"
|
||||||
|
sudo tests/fedora-installs.sh
|
||||||
|
sudo tests/unlink.sh
|
||||||
|
sudo tests/alpine.sh
|
||||||
|
sudo sh -c "(cd /root/go/src/github.com/containers/storage/tests; JOBS=1 STORAGE_OPTION=overlay.mount_program=/sbin/fuse-overlayfs STORAGE_DRIVER=overlay unshare -m ./test_runner.bash)"
|
||||||
|
;;
|
||||||
|
no-ovl-whiteouts)
|
||||||
|
sudo sh -c "(cd /unionmount-testsuite; FUSE_OVERLAYFS_DISABLE_OVL_WHITEOUT=1 unshare -m ./run --ov --fuse=fuse-overlayfs --xdev)"
|
||||||
|
sudo FUSE_OVERLAYFS_DISABLE_OVL_WHITEOUT=1 tests/fedora-installs.sh
|
||||||
|
sudo FUSE_OVERLAYFS_DISABLE_OVL_WHITEOUT=1 tests/unlink.sh
|
||||||
|
sudo FUSE_OVERLAYFS_DISABLE_OVL_WHITEOUT=1 tests/alpine.sh
|
||||||
|
sudo sh -c "(cd /root/go/src/github.com/containers/storage/tests; JOBS=1 FUSE_OVERLAYFS_DISABLE_OVL_WHITEOUT=1 STORAGE_OPTION=overlay.mount_program=/sbin/fuse-overlayfs STORAGE_DRIVER=overlay unshare -m ./test_runner.bash)"
|
||||||
|
;;
|
||||||
|
esac
|
49
.travis.yml
49
.travis.yml
@ -1,49 +0,0 @@
|
|||||||
services:
|
|
||||||
- docker
|
|
||||||
env:
|
|
||||||
- GOPATH=$HOME/go GOROOT=/usr/local/go GO=/usr/local/go/bin/go PATH=/usr/local/go/bin:$PATH
|
|
||||||
language: c
|
|
||||||
sudo: required
|
|
||||||
dist: focal
|
|
||||||
addons:
|
|
||||||
apt:
|
|
||||||
packages:
|
|
||||||
- attr
|
|
||||||
- automake
|
|
||||||
- autotools-dev
|
|
||||||
- git
|
|
||||||
- make
|
|
||||||
- gcc
|
|
||||||
- pkg-config
|
|
||||||
- wget
|
|
||||||
- xz-utils
|
|
||||||
- python3.8
|
|
||||||
- g++
|
|
||||||
- python3-setuptools
|
|
||||||
- libdevmapper-dev
|
|
||||||
- btrfs-progs
|
|
||||||
- libbtrfs-dev
|
|
||||||
- go-md2man
|
|
||||||
- parallel
|
|
||||||
before_install:
|
|
||||||
- docker pull fedora &
|
|
||||||
- (wget https://dl.google.com/go/go1.13.7.linux-amd64.tar.gz && tar xf go1.13.7.linux-amd64.tar.gz && sudo mv go /usr/local)
|
|
||||||
- sudo mkdir -p /lower /upper /mnt
|
|
||||||
- (cd /; sudo git clone https://github.com/amir73il/unionmount-testsuite.git)
|
|
||||||
- (git clone --depth 1 git://github.com/ninja-build/ninja.git && cd ninja && python3.8 configure.py --bootstrap && sudo cp ninja /usr/bin)
|
|
||||||
- (git clone --depth 1 -b 0.51.1 https://github.com/mesonbuild/meson.git; cd meson; sudo python3.8 ./setup.py install)
|
|
||||||
- (git clone --depth 1 https://github.com/bats-core/bats-core; cd bats-core; sudo ./install.sh /usr/local)
|
|
||||||
- ($GO get github.com/containers/storage; cd $GOPATH/src/github.com/containers/storage; sed -i -e 's|^AUTOTAGS.*$|AUTOTAGS := exclude_graphdriver_devicemapper exclude_graphdriver_btrfs|' Makefile; make GO=$GO GO111MODULE=on containers-storage)
|
|
||||||
- (wget https://github.com/libfuse/libfuse/releases/download/fuse-3.9.1/fuse-3.9.1.tar.xz; tar xf fuse-3.9.1.tar.xz; cd fuse-3.9.1; mkdir build; cd build; meson .. --prefix /usr && ninja && sudo ninja install)
|
|
||||||
script:
|
|
||||||
- ./autogen.sh || travis_terminate 1;
|
|
||||||
- ./configure || travis_terminate 1;
|
|
||||||
- make -j $(nproc) || travis_terminate 1;
|
|
||||||
- sudo make -j install; sudo cp fuse-overlayfs /sbin || travis_terminate 1;
|
|
||||||
- (cd /unionmount-testsuite; sudo unshare -m ./run --ov --fuse=fuse-overlayfs --xdev) || travis_terminate 1;
|
|
||||||
- (cd /unionmount-testsuite; sudo FUSE_OVERLAYFS_DISABLE_OVL_WHITEOUT=1 unshare -m ./run --ov --fuse=fuse-overlayfs --xdev) || travis_terminate 1;
|
|
||||||
- sudo tests/fedora-installs.sh || travis_terminate 1;
|
|
||||||
- sudo tests/unlink.sh || travis_terminate 1;
|
|
||||||
- sudo tests/alpine.sh || travis_terminate 1;
|
|
||||||
- (cd $GOPATH/src/github.com/containers/storage/tests; sudo JOBS=1 STORAGE_OPTION=overlay.mount_program=/sbin/fuse-overlayfs STORAGE_DRIVER=overlay unshare -m ./test_runner.bash) || travis_terminate 1;
|
|
||||||
- (cd $GOPATH/src/github.com/containers/storage/tests; sudo JOBS=1 FUSE_OVERLAYFS_DISABLE_OVL_WHITEOUT=1 STORAGE_OPTION=overlay.mount_program=/sbin/fuse-overlayfs STORAGE_DRIVER=overlay unshare -m ./test_runner.bash) || travis_terminate 1;
|
|
@ -6,7 +6,7 @@ mkdir lower upper workdir merged
|
|||||||
|
|
||||||
fuse-overlayfs -o sync=0,lowerdir=lower,upperdir=upper,workdir=workdir,suid,dev merged
|
fuse-overlayfs -o sync=0,lowerdir=lower,upperdir=upper,workdir=workdir,suid,dev merged
|
||||||
|
|
||||||
docker run --rm -ti -v $(pwd)/merged:/merged fedora dnf --installroot /merged --releasever 30 install -y glibc-common gedit
|
docker run --rm -v $(pwd)/merged:/merged fedora dnf --installroot /merged --releasever 30 install -y glibc-common gedit
|
||||||
|
|
||||||
umount merged
|
umount merged
|
||||||
|
|
||||||
@ -30,14 +30,14 @@ stat -c %A upper/suid | grep s
|
|||||||
stat -c %a upper/nosuid | grep -v s
|
stat -c %a upper/nosuid | grep -v s
|
||||||
|
|
||||||
# Install some big packages
|
# Install some big packages
|
||||||
docker run --rm -ti -v $(pwd)/merged:/merged fedora dnf --installroot /merged --releasever 30 install -y emacs texlive
|
docker run --rm -v $(pwd)/merged:/merged fedora dnf --installroot /merged --releasever 30 install -y emacs texlive
|
||||||
|
|
||||||
docker run --rm -ti -v $(pwd)/merged:/merged fedora sh -c 'rm /merged/usr/share/glib-2.0/schemas/gschemas.compiled; glib-compile-schemas /merged/usr/share/glib-2.0/schemas/'
|
docker run --rm -v $(pwd)/merged:/merged fedora sh -c 'rm /merged/usr/share/glib-2.0/schemas/gschemas.compiled; glib-compile-schemas /merged/usr/share/glib-2.0/schemas/'
|
||||||
|
|
||||||
umount merged
|
umount merged
|
||||||
fuse-overlayfs -o sync=0,lowerdir=lower,upperdir=upper,workdir=workdir,suid,dev merged
|
fuse-overlayfs -o sync=0,lowerdir=lower,upperdir=upper,workdir=workdir,suid,dev merged
|
||||||
|
|
||||||
docker run --rm -ti -v $(pwd)/merged:/merged fedora sh -c 'rm -rf /merged/usr/share/glib-2.0/'
|
docker run --rm -v $(pwd)/merged:/merged fedora sh -c 'rm -rf /merged/usr/share/glib-2.0/'
|
||||||
|
|
||||||
tar -c --to-stdout $(pwd)/merged > /dev/null
|
tar -c --to-stdout $(pwd)/merged > /dev/null
|
||||||
|
|
||||||
@ -48,14 +48,14 @@ mkdir upper workdir lower
|
|||||||
fuse-overlayfs -o sync=0,lowerdir=lower,upperdir=upper,workdir=workdir,suid,dev merged
|
fuse-overlayfs -o sync=0,lowerdir=lower,upperdir=upper,workdir=workdir,suid,dev merged
|
||||||
|
|
||||||
# https://github.com/containers/fuse-overlayfs/issues/86
|
# https://github.com/containers/fuse-overlayfs/issues/86
|
||||||
docker run --rm -ti -v $(pwd)/merged:/merged centos:6 yum --installroot /merged -y --releasever 6 install https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
|
docker run --rm -v $(pwd)/merged:/merged centos:8 yum --installroot /merged -y --releasever 8 install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
|
||||||
|
|
||||||
umount merged
|
umount merged
|
||||||
|
|
||||||
# fast_ino_check
|
# fast_ino_check
|
||||||
fuse-overlayfs -o fast_ino_check=1,sync=0,lowerdir=lower,upperdir=upper,workdir=workdir,suid,dev merged
|
fuse-overlayfs -o fast_ino_check=1,sync=0,lowerdir=lower,upperdir=upper,workdir=workdir,suid,dev merged
|
||||||
|
|
||||||
docker run --rm -ti -v $(pwd)/merged:/merged centos:6 yum --installroot /merged -y --releasever 6 install nano
|
docker run --rm -v $(pwd)/merged:/merged centos:8 yum --installroot /merged -y --releasever 8 install nano
|
||||||
|
|
||||||
mkdir merged/a-directory
|
mkdir merged/a-directory
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user