diff mbox series

[1/1] GitHub Actions: run SELinux testsuite in Fedora virtual machine

Message ID 20201230200821.3454892-1-nicolas.iooss@m4x.org (mailing list archive)
State Accepted
Headers show
Series [1/1] GitHub Actions: run SELinux testsuite in Fedora virtual machine | expand

Commit Message

Nicolas Iooss Dec. 30, 2020, 8:08 p.m. UTC
Use the Vagrant configuration in scripts/ci in a workflow for GitHub
Actions.

Signed-off-by: Nicolas Iooss <nicolas.iooss@m4x.org>
---
Example of run: https://github.com/fishilico/selinux/runs/1627586446

 .github/workflows/vm_testsuite.yml | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)
 create mode 100644 .github/workflows/vm_testsuite.yml

Comments

Nicolas Iooss Dec. 30, 2020, 8:13 p.m. UTC | #1
Right after sending the patch, I realized there could be some
confusion about this patch: it is for SELinux userspace repository
(https://github.com/SELinuxProject/selinux).

On Wed, Dec 30, 2020 at 9:09 PM Nicolas Iooss <nicolas.iooss@m4x.org> wrote:
>
> Use the Vagrant configuration in scripts/ci in a workflow for GitHub
> Actions.
>
> Signed-off-by: Nicolas Iooss <nicolas.iooss@m4x.org>
> ---
> Example of run: https://github.com/fishilico/selinux/runs/1627586446
>
>  .github/workflows/vm_testsuite.yml | 22 ++++++++++++++++++++++
>  1 file changed, 22 insertions(+)
>  create mode 100644 .github/workflows/vm_testsuite.yml
>
> diff --git a/.github/workflows/vm_testsuite.yml b/.github/workflows/vm_testsuite.yml
> new file mode 100644
> index 000000000000..af2fad1e73f5
> --- /dev/null
> +++ b/.github/workflows/vm_testsuite.yml
> @@ -0,0 +1,22 @@
> +name: Run SELinux testsuite in a virtual machine
> +
> +on: [push, pull_request]
> +
> +jobs:
> +  vm_testsuite:
> +
> +    # Use VirtualBox+vagrant on macOS, as described in https://github.com/actions/virtual-environments/issues/433
> +    runs-on: macos-latest
> +
> +    steps:
> +    - uses: actions/checkout@v2
> +
> +    - name: Create Vagrant VM
> +      run: |
> +        cd scripts/ci
> +        vagrant up
> +
> +    - name: Run SELinux testsuite in the VM
> +      run: |
> +        cd scripts/ci
> +        vagrant ssh -- ./run-selinux-test.sh
> --
> 2.29.2
>
William Roberts Dec. 31, 2020, 2:42 p.m. UTC | #2
On Wed, Dec 30, 2020 at 2:12 PM Nicolas Iooss <nicolas.iooss@m4x.org> wrote:
>
> Use the Vagrant configuration in scripts/ci in a workflow for GitHub
> Actions.
>
> Signed-off-by: Nicolas Iooss <nicolas.iooss@m4x.org>
> ---
> Example of run: https://github.com/fishilico/selinux/runs/1627586446
>
>  .github/workflows/vm_testsuite.yml | 22 ++++++++++++++++++++++
>  1 file changed, 22 insertions(+)
>  create mode 100644 .github/workflows/vm_testsuite.yml
>
> diff --git a/.github/workflows/vm_testsuite.yml b/.github/workflows/vm_testsuite.yml
> new file mode 100644
> index 000000000000..af2fad1e73f5
> --- /dev/null
> +++ b/.github/workflows/vm_testsuite.yml
> @@ -0,0 +1,22 @@
> +name: Run SELinux testsuite in a virtual machine
> +
> +on: [push, pull_request]
> +
> +jobs:
> +  vm_testsuite:
> +
> +    # Use VirtualBox+vagrant on macOS, as described in https://github.com/actions/virtual-environments/issues/433
> +    runs-on: macos-latest

Good find, they support nested virtualization.

> +
> +    steps:
> +    - uses: actions/checkout@v2
> +
> +    - name: Create Vagrant VM
> +      run: |
> +        cd scripts/ci
> +        vagrant up
> +
> +    - name: Run SELinux testsuite in the VM
> +      run: |
> +        cd scripts/ci
> +        vagrant ssh -- ./run-selinux-test.sh
> --
> 2.29.2
>

LGTM ack. Do you have any fork that has a build with this just to see
it running?
Nicolas Iooss Jan. 2, 2021, 10:35 a.m. UTC | #3
On Thu, Dec 31, 2020 at 3:43 PM William Roberts
<bill.c.roberts@gmail.com> wrote:
>
> On Wed, Dec 30, 2020 at 2:12 PM Nicolas Iooss <nicolas.iooss@m4x.org> wrote:
> >
> > Use the Vagrant configuration in scripts/ci in a workflow for GitHub
> > Actions.
> >
> > Signed-off-by: Nicolas Iooss <nicolas.iooss@m4x.org>
> > ---
> > Example of run: https://github.com/fishilico/selinux/runs/1627586446
> >
> >  .github/workflows/vm_testsuite.yml | 22 ++++++++++++++++++++++
> >  1 file changed, 22 insertions(+)
> >  create mode 100644 .github/workflows/vm_testsuite.yml
> >
> > diff --git a/.github/workflows/vm_testsuite.yml b/.github/workflows/vm_testsuite.yml
> > new file mode 100644
> > index 000000000000..af2fad1e73f5
> > --- /dev/null
> > +++ b/.github/workflows/vm_testsuite.yml
> > @@ -0,0 +1,22 @@
> > +name: Run SELinux testsuite in a virtual machine
> > +
> > +on: [push, pull_request]
> > +
> > +jobs:
> > +  vm_testsuite:
> > +
> > +    # Use VirtualBox+vagrant on macOS, as described in https://github.com/actions/virtual-environments/issues/433
> > +    runs-on: macos-latest
>
> Good find, they support nested virtualization.
>
> > +
> > +    steps:
> > +    - uses: actions/checkout@v2
> > +
> > +    - name: Create Vagrant VM
> > +      run: |
> > +        cd scripts/ci
> > +        vagrant up
> > +
> > +    - name: Run SELinux testsuite in the VM
> > +      run: |
> > +        cd scripts/ci
> > +        vagrant ssh -- ./run-selinux-test.sh
> > --
> > 2.29.2
> >
>
> LGTM ack. Do you have any fork that has a build with this just to see
> it running?

Yes, I have been testing it on
https://github.com/fishilico/selinux/actions, with several successful
builds such as https://github.com/fishilico/selinux/runs/1627586446.

Thanks,
Nicolas
Nicolas Iooss Jan. 6, 2021, 8:17 a.m. UTC | #4
On Sat, Jan 2, 2021 at 11:35 AM Nicolas Iooss <nicolas.iooss@m4x.org> wrote:
>
> On Thu, Dec 31, 2020 at 3:43 PM William Roberts
> <bill.c.roberts@gmail.com> wrote:
> >
> > On Wed, Dec 30, 2020 at 2:12 PM Nicolas Iooss <nicolas.iooss@m4x.org> wrote:
> > >
> > > Use the Vagrant configuration in scripts/ci in a workflow for GitHub
> > > Actions.
> > >
> > > Signed-off-by: Nicolas Iooss <nicolas.iooss@m4x.org>
> > > ---
> > > Example of run: https://github.com/fishilico/selinux/runs/1627586446
> > >
> > >  .github/workflows/vm_testsuite.yml | 22 ++++++++++++++++++++++
> > >  1 file changed, 22 insertions(+)
> > >  create mode 100644 .github/workflows/vm_testsuite.yml
> > >
> > > diff --git a/.github/workflows/vm_testsuite.yml b/.github/workflows/vm_testsuite.yml
> > > new file mode 100644
> > > index 000000000000..af2fad1e73f5
> > > --- /dev/null
> > > +++ b/.github/workflows/vm_testsuite.yml
> > > @@ -0,0 +1,22 @@
> > > +name: Run SELinux testsuite in a virtual machine
> > > +
> > > +on: [push, pull_request]
> > > +
> > > +jobs:
> > > +  vm_testsuite:
> > > +
> > > +    # Use VirtualBox+vagrant on macOS, as described in https://github.com/actions/virtual-environments/issues/433
> > > +    runs-on: macos-latest
> >
> > Good find, they support nested virtualization.
> >
> > > +
> > > +    steps:
> > > +    - uses: actions/checkout@v2
> > > +
> > > +    - name: Create Vagrant VM
> > > +      run: |
> > > +        cd scripts/ci
> > > +        vagrant up
> > > +
> > > +    - name: Run SELinux testsuite in the VM
> > > +      run: |
> > > +        cd scripts/ci
> > > +        vagrant ssh -- ./run-selinux-test.sh
> > > --
> > > 2.29.2
> > >
> >
> > LGTM ack. Do you have any fork that has a build with this just to see
> > it running?
>
> Yes, I have been testing it on
> https://github.com/fishilico/selinux/actions, with several successful
> builds such as https://github.com/fishilico/selinux/runs/1627586446.
>
> Thanks,
> Nicolas

For information, I have been experiencing some failures due to timeout
issues while Github Actions creates the Vagrant environment, for
example in https://github.com/fishilico/selinux/runs/1652713066. I am
currently trying to run test jobs with "config.vm.boot_timeout = 600"
(the default value is 300 seconds) in scripts/ci/Vagrantfile and would
like to wait a little bit before merging this patch, to see whether
this fixes my issue. I do not want to introduce instability in our CI
pipeline.

Nicolas
Ondrej Mosnacek Jan. 19, 2021, 2:32 p.m. UTC | #5
On Wed, Jan 6, 2021 at 9:19 AM Nicolas Iooss <nicolas.iooss@m4x.org> wrote:
>
> On Sat, Jan 2, 2021 at 11:35 AM Nicolas Iooss <nicolas.iooss@m4x.org> wrote:
> >
> > On Thu, Dec 31, 2020 at 3:43 PM William Roberts
> > <bill.c.roberts@gmail.com> wrote:
> > >
> > > On Wed, Dec 30, 2020 at 2:12 PM Nicolas Iooss <nicolas.iooss@m4x.org> wrote:
> > > >
> > > > Use the Vagrant configuration in scripts/ci in a workflow for GitHub
> > > > Actions.
> > > >
> > > > Signed-off-by: Nicolas Iooss <nicolas.iooss@m4x.org>
> > > > ---
> > > > Example of run: https://github.com/fishilico/selinux/runs/1627586446
> > > >
> > > >  .github/workflows/vm_testsuite.yml | 22 ++++++++++++++++++++++
> > > >  1 file changed, 22 insertions(+)
> > > >  create mode 100644 .github/workflows/vm_testsuite.yml
> > > >
> > > > diff --git a/.github/workflows/vm_testsuite.yml b/.github/workflows/vm_testsuite.yml
> > > > new file mode 100644
> > > > index 000000000000..af2fad1e73f5
> > > > --- /dev/null
> > > > +++ b/.github/workflows/vm_testsuite.yml
> > > > @@ -0,0 +1,22 @@
> > > > +name: Run SELinux testsuite in a virtual machine
> > > > +
> > > > +on: [push, pull_request]
> > > > +
> > > > +jobs:
> > > > +  vm_testsuite:
> > > > +
> > > > +    # Use VirtualBox+vagrant on macOS, as described in https://github.com/actions/virtual-environments/issues/433
> > > > +    runs-on: macos-latest
> > >
> > > Good find, they support nested virtualization.
> > >
> > > > +
> > > > +    steps:
> > > > +    - uses: actions/checkout@v2
> > > > +
> > > > +    - name: Create Vagrant VM
> > > > +      run: |
> > > > +        cd scripts/ci
> > > > +        vagrant up
> > > > +
> > > > +    - name: Run SELinux testsuite in the VM
> > > > +      run: |
> > > > +        cd scripts/ci
> > > > +        vagrant ssh -- ./run-selinux-test.sh
> > > > --
> > > > 2.29.2
> > > >
> > >
> > > LGTM ack. Do you have any fork that has a build with this just to see
> > > it running?
> >
> > Yes, I have been testing it on
> > https://github.com/fishilico/selinux/actions, with several successful
> > builds such as https://github.com/fishilico/selinux/runs/1627586446.
> >
> > Thanks,
> > Nicolas
>
> For information, I have been experiencing some failures due to timeout
> issues while Github Actions creates the Vagrant environment, for
> example in https://github.com/fishilico/selinux/runs/1652713066. I am
> currently trying to run test jobs with "config.vm.boot_timeout = 600"
> (the default value is 300 seconds) in scripts/ci/Vagrantfile and would
> like to wait a little bit before merging this patch, to see whether
> this fixes my issue. I do not want to introduce instability in our CI
> pipeline.

Hi Nicholas, any update here? I have drafted a similar patch for
selinux-testsuite's own CI, but have been waiting on your findings
regarding the timeouts to avoid needless followups.

Thanks a lot for finding a way to make this work with GH Actions!

--
Ondrej Mosnacek
Software Engineer, Platform Security - SELinux kernel
Red Hat, Inc.
Nicolas Iooss Jan. 20, 2021, 4 p.m. UTC | #6
On Tue, Jan 19, 2021 at 3:32 PM Ondrej Mosnacek <omosnace@redhat.com> wrote:
>
> On Wed, Jan 6, 2021 at 9:19 AM Nicolas Iooss <nicolas.iooss@m4x.org> wrote:
> >
> > On Sat, Jan 2, 2021 at 11:35 AM Nicolas Iooss <nicolas.iooss@m4x.org> wrote:
> > >
> > > On Thu, Dec 31, 2020 at 3:43 PM William Roberts
> > > <bill.c.roberts@gmail.com> wrote:
> > > >
> > > > On Wed, Dec 30, 2020 at 2:12 PM Nicolas Iooss <nicolas.iooss@m4x.org> wrote:
> > > > >
> > > > > Use the Vagrant configuration in scripts/ci in a workflow for GitHub
> > > > > Actions.
> > > > >
> > > > > Signed-off-by: Nicolas Iooss <nicolas.iooss@m4x.org>
> > > > > ---
> > > > > Example of run: https://github.com/fishilico/selinux/runs/1627586446
> > > > >
> > > > >  .github/workflows/vm_testsuite.yml | 22 ++++++++++++++++++++++
> > > > >  1 file changed, 22 insertions(+)
> > > > >  create mode 100644 .github/workflows/vm_testsuite.yml
> > > > >
> > > > > diff --git a/.github/workflows/vm_testsuite.yml b/.github/workflows/vm_testsuite.yml
> > > > > new file mode 100644
> > > > > index 000000000000..af2fad1e73f5
> > > > > --- /dev/null
> > > > > +++ b/.github/workflows/vm_testsuite.yml
> > > > > @@ -0,0 +1,22 @@
> > > > > +name: Run SELinux testsuite in a virtual machine
> > > > > +
> > > > > +on: [push, pull_request]
> > > > > +
> > > > > +jobs:
> > > > > +  vm_testsuite:
> > > > > +
> > > > > +    # Use VirtualBox+vagrant on macOS, as described in https://github.com/actions/virtual-environments/issues/433
> > > > > +    runs-on: macos-latest
> > > >
> > > > Good find, they support nested virtualization.
> > > >
> > > > > +
> > > > > +    steps:
> > > > > +    - uses: actions/checkout@v2
> > > > > +
> > > > > +    - name: Create Vagrant VM
> > > > > +      run: |
> > > > > +        cd scripts/ci
> > > > > +        vagrant up
> > > > > +
> > > > > +    - name: Run SELinux testsuite in the VM
> > > > > +      run: |
> > > > > +        cd scripts/ci
> > > > > +        vagrant ssh -- ./run-selinux-test.sh
> > > > > --
> > > > > 2.29.2
> > > > >
> > > >
> > > > LGTM ack. Do you have any fork that has a build with this just to see
> > > > it running?
> > >
> > > Yes, I have been testing it on
> > > https://github.com/fishilico/selinux/actions, with several successful
> > > builds such as https://github.com/fishilico/selinux/runs/1627586446.
> > >
> > > Thanks,
> > > Nicolas
> >
> > For information, I have been experiencing some failures due to timeout
> > issues while Github Actions creates the Vagrant environment, for
> > example in https://github.com/fishilico/selinux/runs/1652713066. I am
> > currently trying to run test jobs with "config.vm.boot_timeout = 600"
> > (the default value is 300 seconds) in scripts/ci/Vagrantfile and would
> > like to wait a little bit before merging this patch, to see whether
> > this fixes my issue. I do not want to introduce instability in our CI
> > pipeline.
>
> Hi Nicholas, any update here? I have drafted a similar patch for
> selinux-testsuite's own CI, but have been waiting on your findings
> regarding the timeouts to avoid needless followups.
>
> Thanks a lot for finding a way to make this work with GH Actions!

Hi,
Sorry for the delay. I have been quite busy in the past two weeks, but
I am catching up on the latest patches and messages.

I am still experiencing occasional boot timeouts (for example in
https://github.com/fishilico/selinux/runs/1667663667), despite using
"config.vm.boot_timeout = 600" in Vagrantfile. But when this occurs,
restarting the GitHub Actions job works. So this is quite annoying but
I believe we can live with it (this means that someone will need to
click on "Re-run all jobs" on GitHub when this happens). So I merged
my patch, and if it becomes too annoying, this workflow can be
disabled in the future.

Nicolas
Ondrej Mosnacek Jan. 22, 2021, 9:39 a.m. UTC | #7
On Wed, Jan 20, 2021 at 5:07 PM Nicolas Iooss <nicolas.iooss@m4x.org> wrote:
> On Tue, Jan 19, 2021 at 3:32 PM Ondrej Mosnacek <omosnace@redhat.com> wrote:
> >
> > On Wed, Jan 6, 2021 at 9:19 AM Nicolas Iooss <nicolas.iooss@m4x.org> wrote:
> > >
> > > On Sat, Jan 2, 2021 at 11:35 AM Nicolas Iooss <nicolas.iooss@m4x.org> wrote:
> > > >
> > > > On Thu, Dec 31, 2020 at 3:43 PM William Roberts
> > > > <bill.c.roberts@gmail.com> wrote:
> > > > >
> > > > > On Wed, Dec 30, 2020 at 2:12 PM Nicolas Iooss <nicolas.iooss@m4x.org> wrote:
> > > > > >
> > > > > > Use the Vagrant configuration in scripts/ci in a workflow for GitHub
> > > > > > Actions.
> > > > > >
> > > > > > Signed-off-by: Nicolas Iooss <nicolas.iooss@m4x.org>
> > > > > > ---
> > > > > > Example of run: https://github.com/fishilico/selinux/runs/1627586446
> > > > > >
> > > > > >  .github/workflows/vm_testsuite.yml | 22 ++++++++++++++++++++++
> > > > > >  1 file changed, 22 insertions(+)
> > > > > >  create mode 100644 .github/workflows/vm_testsuite.yml
> > > > > >
> > > > > > diff --git a/.github/workflows/vm_testsuite.yml b/.github/workflows/vm_testsuite.yml
> > > > > > new file mode 100644
> > > > > > index 000000000000..af2fad1e73f5
> > > > > > --- /dev/null
> > > > > > +++ b/.github/workflows/vm_testsuite.yml
> > > > > > @@ -0,0 +1,22 @@
> > > > > > +name: Run SELinux testsuite in a virtual machine
> > > > > > +
> > > > > > +on: [push, pull_request]
> > > > > > +
> > > > > > +jobs:
> > > > > > +  vm_testsuite:
> > > > > > +
> > > > > > +    # Use VirtualBox+vagrant on macOS, as described in https://github.com/actions/virtual-environments/issues/433
> > > > > > +    runs-on: macos-latest
> > > > >
> > > > > Good find, they support nested virtualization.
> > > > >
> > > > > > +
> > > > > > +    steps:
> > > > > > +    - uses: actions/checkout@v2
> > > > > > +
> > > > > > +    - name: Create Vagrant VM
> > > > > > +      run: |
> > > > > > +        cd scripts/ci
> > > > > > +        vagrant up
> > > > > > +
> > > > > > +    - name: Run SELinux testsuite in the VM
> > > > > > +      run: |
> > > > > > +        cd scripts/ci
> > > > > > +        vagrant ssh -- ./run-selinux-test.sh
> > > > > > --
> > > > > > 2.29.2
> > > > > >
> > > > >
> > > > > LGTM ack. Do you have any fork that has a build with this just to see
> > > > > it running?
> > > >
> > > > Yes, I have been testing it on
> > > > https://github.com/fishilico/selinux/actions, with several successful
> > > > builds such as https://github.com/fishilico/selinux/runs/1627586446.
> > > >
> > > > Thanks,
> > > > Nicolas
> > >
> > > For information, I have been experiencing some failures due to timeout
> > > issues while Github Actions creates the Vagrant environment, for
> > > example in https://github.com/fishilico/selinux/runs/1652713066. I am
> > > currently trying to run test jobs with "config.vm.boot_timeout = 600"
> > > (the default value is 300 seconds) in scripts/ci/Vagrantfile and would
> > > like to wait a little bit before merging this patch, to see whether
> > > this fixes my issue. I do not want to introduce instability in our CI
> > > pipeline.
> >
> > Hi Nicholas, any update here? I have drafted a similar patch for
> > selinux-testsuite's own CI, but have been waiting on your findings
> > regarding the timeouts to avoid needless followups.
> >
> > Thanks a lot for finding a way to make this work with GH Actions!
>
> Hi,
> Sorry for the delay. I have been quite busy in the past two weeks, but
> I am catching up on the latest patches and messages.
>
> I am still experiencing occasional boot timeouts (for example in
> https://github.com/fishilico/selinux/runs/1667663667), despite using
> "config.vm.boot_timeout = 600" in Vagrantfile. But when this occurs,
> restarting the GitHub Actions job works. So this is quite annoying but
> I believe we can live with it (this means that someone will need to
> click on "Re-run all jobs" on GitHub when this happens). So I merged
> my patch, and if it becomes too annoying, this workflow can be
> disabled in the future.

Ok, thank you for the update. I'll post my testsuite CI patch then.

--
Ondrej Mosnacek
Software Engineer, Platform Security - SELinux kernel
Red Hat, Inc.
diff mbox series

Patch

diff --git a/.github/workflows/vm_testsuite.yml b/.github/workflows/vm_testsuite.yml
new file mode 100644
index 000000000000..af2fad1e73f5
--- /dev/null
+++ b/.github/workflows/vm_testsuite.yml
@@ -0,0 +1,22 @@ 
+name: Run SELinux testsuite in a virtual machine
+
+on: [push, pull_request]
+
+jobs:
+  vm_testsuite:
+
+    # Use VirtualBox+vagrant on macOS, as described in https://github.com/actions/virtual-environments/issues/433
+    runs-on: macos-latest
+
+    steps:
+    - uses: actions/checkout@v2
+
+    - name: Create Vagrant VM
+      run: |
+        cd scripts/ci
+        vagrant up
+
+    - name: Run SELinux testsuite in the VM
+      run: |
+        cd scripts/ci
+        vagrant ssh -- ./run-selinux-test.sh