diff --git a/.zuul.yaml b/.zuul.yaml new file mode 100644 index 000000000..6ac1085ca --- /dev/null +++ b/.zuul.yaml @@ -0,0 +1,61 @@ +--- +- job: + name: shellcheck + description: Check toolbox with shellcheck + timeout: 300 + nodeset: + nodes: + - name: ci-node-30 + label: cloud-fedora-30-small + run: playbooks/shellcheck.yaml + +- job: + name: test-with-podman-stable-f30 + description: Test toolbox with stable Podman in Fedora 30 + timeout: 1200 + nodeset: + nodes: + - name: ci-node-30 + label: cloud-fedora-30-small + pre-run: playbooks/fedora-30/setup-rpm-env.yaml + run: playbooks/fedora-30/test-with-podman-stable.yaml + +- job: + name: test-with-podman-stable-f31 + description: Test toolbox with stable Podman in Fedora 31 + timeout: 1200 + nodeset: + nodes: + - name: ci-node-31 + label: cloud-fedora-31-small + pre-run: playbooks/fedora-31/setup-rpm-env.yaml + run: playbooks/fedora-31/test-with-podman-stable.yaml + +- job: + name: test-with-podman-rawhide + description: Test toolbox with latest Podman in Fedora Rawhide + timeout: 1200 + nodeset: + nodes: + - name: ci-node-rawhide + label: cloud-fedora-rawhide-small + pre-run: playbooks/fedora-rawhide/setup-rpm-env.yaml + run: playbooks/fedora-rawhide/test-with-podman-stable.yaml + +- project: + periodic: + jobs: + - test-with-podman-rawhide + - test-with-podman-stable-f31 + - test-with-podman-stable-f30 + check: + jobs: + - shellcheck + - test-with-podman-stable-f30 + - test-with-podman-stable-f31 + - test-with-podman-rawhide + gate: + jobs: + - test-with-podman-stable-f30 + - test-with-podman-stable-f31 + - test-with-podman-rawhide diff --git a/playbooks/fedora-30/setup-rpm-env.yaml b/playbooks/fedora-30/setup-rpm-env.yaml new file mode 100644 index 000000000..a54a102b2 --- /dev/null +++ b/playbooks/fedora-30/setup-rpm-env.yaml @@ -0,0 +1,22 @@ +--- +- hosts: all + tasks: + - name: Install requirements + become: yes + package: + name: + - golang-github-cpuguy83-go-md2man + - ninja-build + - meson + - flatpak-session-helper + - systemd + - bats + - bash-completion + - udisks2 + - podman + + - name: Setup environment (create missing /run/media) + command: sudo systemd-tmpfiles --create + + - name: Check versions of crucial packages + command: rpm -q podman runc conmon fuse-overlayfs flatpak-session-helper diff --git a/playbooks/fedora-30/test-with-podman-stable.yaml b/playbooks/fedora-30/test-with-podman-stable.yaml new file mode 100644 index 000000000..e538fc5d3 --- /dev/null +++ b/playbooks/fedora-30/test-with-podman-stable.yaml @@ -0,0 +1,21 @@ +--- +- hosts: ci-node-30 + tasks: + - name: Build toolbox + command: meson builddir + args: + chdir: '{{ zuul.project.src_dir }}' + + - name: Install toolbox + become: yes + command: ninja -C builddir install + args: + chdir: '{{ zuul.project.src_dir }}' + + - name: Run system tests + command: bats ./test/system + environment: + PODMAN: '/usr/bin/podman' + TOOLBOX: './toolbox' + args: + chdir: '{{ zuul.project.src_dir }}' diff --git a/playbooks/fedora-31/setup-rpm-env.yaml b/playbooks/fedora-31/setup-rpm-env.yaml new file mode 100644 index 000000000..8c85fbc1e --- /dev/null +++ b/playbooks/fedora-31/setup-rpm-env.yaml @@ -0,0 +1,22 @@ +--- +- hosts: all + tasks: + - name: Install requirements + become: yes + package: + name: + - golang-github-cpuguy83-md2man + - ninja-build + - meson + - flatpak-session-helper + - systemd + - bats + - bash-completion + - udisks2 + - podman + + - name: Setup environment (create missing /run/media) + command: sudo systemd-tmpfiles --create + + - name: Check versions of crucial packages + command: rpm -q podman crun conmon fuse-overlayfs flatpak-session-helper diff --git a/playbooks/fedora-31/test-with-podman-stable.yaml b/playbooks/fedora-31/test-with-podman-stable.yaml new file mode 100644 index 000000000..8fae0104e --- /dev/null +++ b/playbooks/fedora-31/test-with-podman-stable.yaml @@ -0,0 +1,21 @@ +--- +- hosts: ci-node-31 + tasks: + - name: Build toolbox + command: meson builddir + args: + chdir: '{{ zuul.project.src_dir }}' + + - name: Install toolbox + become: yes + command: ninja -C builddir install + args: + chdir: '{{ zuul.project.src_dir }}' + + - name: Run system tests + command: bats ./test/system + environment: + PODMAN: '/usr/bin/podman' + TOOLBOX: './toolbox' + args: + chdir: '{{ zuul.project.src_dir }}' diff --git a/playbooks/fedora-rawhide/setup-rpm-env.yaml b/playbooks/fedora-rawhide/setup-rpm-env.yaml new file mode 100644 index 000000000..9a9c3799c --- /dev/null +++ b/playbooks/fedora-rawhide/setup-rpm-env.yaml @@ -0,0 +1,23 @@ +--- +- hosts: all + tasks: + - name: Install requirements + become: yes + package: + use: dnf + name: + - golang-github-cpuguy83-md2man + - ninja-build + - meson + - flatpak-session-helper + - systemd + - bats + - bash-completion + - udisks2 + - podman + + - name: Setup environment (create missing /run/media) + command: sudo systemd-tmpfiles --create + + - name: Check versions of crucial packages + command: rpm -q podman crun conmon fuse-overlayfs flatpak-session-helper diff --git a/playbooks/fedora-rawhide/test-with-podman-stable.yaml b/playbooks/fedora-rawhide/test-with-podman-stable.yaml new file mode 100644 index 000000000..d72c357a1 --- /dev/null +++ b/playbooks/fedora-rawhide/test-with-podman-stable.yaml @@ -0,0 +1,21 @@ +--- +- hosts: ci-node-rawhide + tasks: + - name: Build toolbox + command: meson builddir + args: + chdir: '{{ zuul.project.src_dir }}' + + - name: Install toolbox + become: yes + command: ninja -C builddir install + args: + chdir: '{{ zuul.project.src_dir }}' + + - name: Run system tests + command: bats ./test/system + environment: + PODMAN: '/usr/bin/podman' + TOOLBOX: './toolbox' + args: + chdir: '{{ zuul.project.src_dir }}' diff --git a/playbooks/shellcheck.yaml b/playbooks/shellcheck.yaml new file mode 100644 index 000000000..ebf160ba9 --- /dev/null +++ b/playbooks/shellcheck.yaml @@ -0,0 +1,21 @@ +--- +- hosts: all + tasks: + - name: Install requirements + become: yes + package: + name: + - golang-github-cpuguy83-go-md2man + - ninja-build + - meson + - ShellCheck + + - name: Build + command: meson builddir + args: + chdir: '{{ zuul.project.src_dir }}' + + - name: Test + command: ninja -C builddir test + args: + chdir: '{{ zuul.project.src_dir }}'