Nevermind, I saw the other patch :)


On Mon, Dec 12, 2022 at 4:42 PM Albert Esteve <aesteve@redhat.com> wrote:


On Sun, Nov 27, 2022 at 6:39 PM Nir Soffer <nsoffer@redhat.com> wrote:
Add github workflow running on github for every push and pull requests.

The CI run the tests with multiple python versions, ensuring that
sanlock builds and run on Ubuntu latest (20.04), and the python bindings
is compatible with python 3.6-3.10.

The new CI revealed these issues:

- Unneeded chown in lockfile() when not running as root
- Unneeded chown in setup_listener()
- test_write_lockspace_4k[user_4k_path0-1048576] is flaky in python 3.6
- test_write_lockspace_4k[user_4k_path0-1048576] broken in python 3.9
- test_write_resource_invalid_disk[disk5] broken in python 3.9, 3.10, 3.11


Before adding the CI jobs they should be all green.

What do you plan to do with this? 
Either issues are fixed in this (or separate) PR, or failing tests are set
temporarily with xfail until they are fixed.
 
Example run:
https://github.com/nirs/sanlock/actions/runs/3559245867/

Signed-off-by: Nir Soffer <nsoffer@redhat.com>
---
 .github/workflows/ci.yml | 48 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 48 insertions(+)
 create mode 100644 .github/workflows/ci.yml

diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
new file mode 100644
index 0000000..125eee6
--- /dev/null
+++ b/.github/workflows/ci.yml
@@ -0,0 +1,48 @@
+# Copyright (C) 2022 Red Hat, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+
+name: CI
+
+on:
+  - push
+  - pull_request
+
+jobs:
+  test:
+    runs-on: ubuntu-latest
+    strategy:
+      fail-fast: false
+      matrix:
+        include:
+          - python_version: '3.6'
+          - python_version: '3.7'
+          - python_version: '3.8'
+          - python_version: '3.9'
+          - python_version: '3.10'
+          - python_version: '3.11'
+    steps:
+      - name: Checkout source
+        uses: actions/checkout@v3
+
+      - name: Setup python
+        uses: actions/setup-python@v4
+        with:
+          python-version: ${{matrix.python_version}}
+          cache: 'pip'
+          check-latest: true
+
+      - name: Install required packages
+        run: sudo apt install -y gcc make libaio-dev libblkid-dev uuid-dev
+
+      - name: Install pip requirements
+        run: pip install -r requirements.txt
+
+      - name: Setup userstorage
+        run: userstorage create tests/storage.py
+
+      - name: Run tests
+        run: tox
--
2.38.1