You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@buildstream.apache.org by tv...@apache.org on 2021/01/03 14:57:20 UTC

[buildstream] branch tristan/test-workflows created (now 33aae13)

This is an automated email from the ASF dual-hosted git repository.

tvb pushed a change to branch tristan/test-workflows
in repository https://gitbox.apache.org/repos/asf/buildstream.git.


      at 33aae13  .github/workflows/merge.yml: Generate the gh-pages branch with .nojekyll

This branch includes the following new commits:

     new 9fd8558  Test Actions
     new 42d13b7  Remove notes
     new 0b187c8  Move CI_IMAGE to global scope
     new 23e2af9  Add no-usedevelop job
     new be8b9e5  Add tests-plugins-master job
     new bd3a7f3  Add missing-deps test job
     new a4e0056  Move PYTEST_ARGS to top-level env
     new b7c4258  .github/workflows/ci.yml: Use fresh docker images
     new 44ff8e1  .github/workflows/ci.yml: Fix TOXENV, there is no py6-plugins env.
     new 43b9284  .github/workflows/ci.yml: Add py38 to the toxenv list
     new 944d22e  .github/workflows/ci.yml: Disable parallelism in pytest
     new 41d3fe5  .github/workflows/ci.yml: Generate test runner script
     new af87b46  .github/workflows/ci.yml: Upload an artifact from the docs job
     new bf48af7  .github/workflows/ci.yml: Ensure we rebuild the docs sessions in CI
     new 51acea3  .github/workflows/release.yml: Add release.yml workflow for uploading releases
     new e52715c  .github/workflows/merge.yml: Publish docs post merge
     new 6faceda  Fixing merge CI to update github pages
     new 33aae13  .github/workflows/merge.yml: Generate the gh-pages branch with .nojekyll

The 18 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[buildstream] 03/18: Move CI_IMAGE to global scope

Posted by tv...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

tvb pushed a commit to branch tristan/test-workflows
in repository https://gitbox.apache.org/repos/asf/buildstream.git

commit 0b187c8e6c847c9c887fe8c6f9abdfd0fadb3b0b
Author: Chandan Singh <ch...@chandansingh.net>
AuthorDate: Wed Aug 19 19:49:58 2020 +0100

    Move CI_IMAGE to global scope
---
 .github/workflows/ci.yml | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 51bfb06..d382e08 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -19,6 +19,9 @@ on: push
 # - run tests on mac (GitHub provides MacOS runners)
 # - standardize WSL tasks by using GitHub-provided runners
 
+env:
+  CI_IMAGE: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-fedora:30-master-154893333
+
 jobs:
   tests:
     runs-on: ubuntu-20.04
@@ -88,7 +91,6 @@ jobs:
   docs:
     runs-on: ubuntu-20.04
     env:
-      CI_IMAGE: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-fedora:30-master-154893333
       BST_FORCE_SESSION_REBUILD: 1
     steps:
       - name: Check out repository


[buildstream] 02/18: Remove notes

Posted by tv...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

tvb pushed a commit to branch tristan/test-workflows
in repository https://gitbox.apache.org/repos/asf/buildstream.git

commit 42d13b7edc3eccb1c242bf6e2ed96e62d71e7dfb
Author: Chandan Singh <ch...@chandansingh.net>
AuthorDate: Wed Aug 19 19:22:36 2020 +0100

    Remove notes
---
 .github/workflows/ci.yml | 21 ---------------------
 1 file changed, 21 deletions(-)

diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index f5aabb7..51bfb06 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -18,27 +18,6 @@ on: push
 # New opportunities:
 # - run tests on mac (GitHub provides MacOS runners)
 # - standardize WSL tasks by using GitHub-provided runners
-#
-#
-# NOTE:
-#
-# * GitHub Actions do not support YAML variables and/or YAML anchors, which
-#   leads to some repetition. Job matrices solve this to some extent but
-#   combined with some other issues, this seems like a ongoing source of
-#   misery.
-# * Not being able to use the standard `container` directive for running our
-#   tests is one such example that makes this situation seem worse.
-#
-# * We have caches etc in GitHub Actions as well, so I don't think we are
-#   missing any killer feature.
-#
-# * Fixing most of the to-do items is mostly mostly a matter of adding more
-#   configuration.
-# * Some of these tasks can probably live in a different yaml file as a
-#   separate workflow.
-#
-# * Similar to GitLab, GitHub also has a container registry, so we can move our
-#   testsuite images there if/when we want to fully migrate off of GitLab.
 
 jobs:
   tests:


[buildstream] 11/18: .github/workflows/ci.yml: Disable parallelism in pytest

Posted by tv...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

tvb pushed a commit to branch tristan/test-workflows
in repository https://gitbox.apache.org/repos/asf/buildstream.git

commit 944d22e586ac82b23851cdc41efae7af2ab02fe5
Author: Tristan van Berkom <tr...@codethink.co.uk>
AuthorDate: Wed Oct 7 13:43:47 2020 +0900

    .github/workflows/ci.yml: Disable parallelism in pytest
    
    There are a lot of INTERNALERROR failures, lets get rid of them by
    disabling the shakey parallelism thing.
---
 .github/workflows/ci.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index b741e28..74f6e4b 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -21,7 +21,7 @@ on: push
 
 env:
   CI_IMAGE: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-fedora:32-master-177137613
-  PYTEST_ARGS: --color=yes --integration -n 4
+  PYTEST_ARGS: --color=yes --integration
 
 jobs:
   tests:


[buildstream] 10/18: .github/workflows/ci.yml: Add py38 to the toxenv list

Posted by tv...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

tvb pushed a commit to branch tristan/test-workflows
in repository https://gitbox.apache.org/repos/asf/buildstream.git

commit 43b928432dc0e36bf3f49154c9d70f611338596f
Author: Tristan van Berkom <tr...@codethink.co.uk>
AuthorDate: Wed Oct 7 12:53:21 2020 +0900

    .github/workflows/ci.yml: Add py38 to the toxenv list
    
    Ensure that we use `nocover` with py38, as there is a bug with coverage
    and python 3.8
---
 .github/workflows/ci.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index a10b6d9..b741e28 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -31,7 +31,7 @@ jobs:
     env:
       CI_IMAGE_PREFIX: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite
       CI_IMAGE_SUFFIX: master-177137613
-      TOXENV: py36,py36-plugins,py37,py37-plugins,py38,py38-plugins
+      TOXENV: py36,py37,py38-nocover,py36-plugins,py37-plugins,py38-plugins-nocover
       # FIXME: De-duplicate against tox.ini
       BST_PLUGINS_EXPERIMENTAL_VERSION: 1.93.4
 


[buildstream] 05/18: Add tests-plugins-master job

Posted by tv...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

tvb pushed a commit to branch tristan/test-workflows
in repository https://gitbox.apache.org/repos/asf/buildstream.git

commit be8b9e5136d20048285e65b97dc3492f66d64b7e
Author: Chandan Singh <ch...@chandansingh.net>
AuthorDate: Wed Aug 19 20:27:26 2020 +0100

    Add tests-plugins-master job
---
 .github/workflows/ci.yml | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 9bed010..e934f9a 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -25,12 +25,15 @@ env:
 jobs:
   tests:
     runs-on: ubuntu-20.04
+    continue-on-error: ${{ matrix.allow-failure || false }}
 
     env:
       CI_IMAGE_PREFIX: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite
       CI_IMAGE_SUFFIX: master-154893333
       PYTEST_ARGS: --color=yes --integration -n 4
       TOXENV: py36,py6-plugins,py37,py37-plugins,py38,py38-plugins
+      # FIXME: De-duplicate against tox.ini
+      BST_PLUGINS_EXPERIMENTAL_VERSION: 1.93.4
 
     strategy:
       fail-fast: false
@@ -45,11 +48,17 @@ jobs:
           - ubuntu:18.04
           - centos:7.7.1908
 
-        # Ensure that tests also pass without `--develop` flag.
         include:
+          # Ensure that tests also pass without `--develop` flag.
           - test-name: no-usedevelop
+            image-name: fedora:31
             toxenv: py36-nocover,py37-nocover,py38-nocover
+
+          # Test the master version of some external plugins
+          - test-name: plugins-master
             image-name: fedora:31
+            bst-plugins-experimental-version: master
+            allow-failure: true
 
     steps:
       - name: Check out repository
@@ -74,6 +83,7 @@ jobs:
               --device /dev/fuse \
               --env PYTEST_ARGS \
               --env TOXENV=${{ matrix.toxenv || env.TOXENV }} \
+              --env BST_PLUGINS_EXPERIMENTAL_VERSION=${{ matrix.bst-plugins-experimental-version || env.BST_PLUGINS_EXPERIMENTAL_VERSION }} \
               --volume /home/runner/work:/__w \
               --workdir /__w/buildstream/buildstream \
               "$CI_IMAGE_PREFIX"-${{ matrix.image-name || matrix.test-name }}-"$CI_IMAGE_SUFFIX" \


[buildstream] 06/18: Add missing-deps test job

Posted by tv...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

tvb pushed a commit to branch tristan/test-workflows
in repository https://gitbox.apache.org/repos/asf/buildstream.git

commit bd3a7f3c5025e8c1eab3c0daf481bf2806f532cd
Author: Chandan Singh <ch...@chandansingh.net>
AuthorDate: Wed Aug 19 20:58:11 2020 +0100

    Add missing-deps test job
---
 .github/workflows/ci.yml | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index e934f9a..e1487ed 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -89,6 +89,29 @@ jobs:
               "$CI_IMAGE_PREFIX"-${{ matrix.image-name || matrix.test-name }}-"$CI_IMAGE_SUFFIX" \
               bash -c 'useradd -Um buildstream && chown -R buildstream:buildstream . && su buildstream -c "tox -- $PYTEST_ARGS"'
 
+  tests-fedora-missing-deps:
+    runs-on: ubuntu-20.04
+    container: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-fedora:30-master-154893333
+    steps:
+      - name: Check out repository
+        uses: actions/checkout@v2
+        # BuildStream requires tags to be able to find its version.
+        with:
+          fetch-depth: 0
+      - name: Uninstall Bubblewrap and OSTree
+        # We remove the Bubblewrap and OSTree packages here so that we catch any
+        # codepaths that try to use them. Removing OSTree causes fuse-libs to
+        # disappear unless we mark it as user-installed.
+        run: |
+          dnf mark install fuse-libs systemd-udev
+          dnf erase -y bubblewrap ostree
+      - name: Add test user
+        run: |
+          useradd -Um buildstream
+          chown -R buildstream:buildstream .
+      - name: Run tests
+        run: su buildstream -c "tox -- $PYTEST_ARGS"
+
   mypy:
     runs-on: ubuntu-20.04
     container: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-fedora:30-master-154893333


[buildstream] 13/18: .github/workflows/ci.yml: Upload an artifact from the docs job

Posted by tv...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

tvb pushed a commit to branch tristan/test-workflows
in repository https://gitbox.apache.org/repos/asf/buildstream.git

commit af87b46b193194b4be6bcf527d4e41c5c5d14263
Author: Chris Polin <ch...@codethink.co.uk>
AuthorDate: Thu Oct 8 16:21:12 2020 +0100

    .github/workflows/ci.yml: Upload an artifact from the docs job
---
 .github/workflows/ci.yml | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 54af9c1..61396b9 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -170,3 +170,10 @@ jobs:
               --workdir /__w/buildstream/buildstream \
               $CI_IMAGE \
               tox -e docs
+
+      - name: Upload artifacts
+        uses: actions/upload-artifact@v2
+        with:
+          name: docs
+          path: doc/build/html
+


[buildstream] 07/18: Move PYTEST_ARGS to top-level env

Posted by tv...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

tvb pushed a commit to branch tristan/test-workflows
in repository https://gitbox.apache.org/repos/asf/buildstream.git

commit a4e00564f084a809f319688ef98fa645adc79596
Author: Chandan Singh <ch...@chandansingh.net>
AuthorDate: Fri Aug 21 20:56:55 2020 +0100

    Move PYTEST_ARGS to top-level env
---
 .github/workflows/ci.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index e1487ed..bdc5c2e 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -21,6 +21,7 @@ on: push
 
 env:
   CI_IMAGE: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-fedora:30-master-154893333
+  PYTEST_ARGS: --color=yes --integration -n 4
 
 jobs:
   tests:
@@ -30,7 +31,6 @@ jobs:
     env:
       CI_IMAGE_PREFIX: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite
       CI_IMAGE_SUFFIX: master-154893333
-      PYTEST_ARGS: --color=yes --integration -n 4
       TOXENV: py36,py6-plugins,py37,py37-plugins,py38,py38-plugins
       # FIXME: De-duplicate against tox.ini
       BST_PLUGINS_EXPERIMENTAL_VERSION: 1.93.4


[buildstream] 04/18: Add no-usedevelop job

Posted by tv...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

tvb pushed a commit to branch tristan/test-workflows
in repository https://gitbox.apache.org/repos/asf/buildstream.git

commit 23e2af95bae23c3e3708134ff7cb1eec1687f2ba
Author: Chandan Singh <ch...@chandansingh.net>
AuthorDate: Wed Aug 19 19:51:36 2020 +0100

    Add no-usedevelop job
---
 .github/workflows/ci.yml | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index d382e08..9bed010 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -35,13 +35,22 @@ jobs:
     strategy:
       fail-fast: false
       matrix:
-        ci_image_name:
+
+        # Main test targets, the name defines the image that will be used as
+        # the base for running tests.
+        test-name:
           - debian:10
           - fedora:30
           - fedora:31
           - ubuntu:18.04
           - centos:7.7.1908
 
+        # Ensure that tests also pass without `--develop` flag.
+        include:
+          - test-name: no-usedevelop
+            toxenv: py36-nocover,py37-nocover,py38-nocover
+            image-name: fedora:31
+
     steps:
       - name: Check out repository
         uses: actions/checkout@v2
@@ -64,10 +73,10 @@ jobs:
               --privileged \
               --device /dev/fuse \
               --env PYTEST_ARGS \
-              --env TOXENV \
+              --env TOXENV=${{ matrix.toxenv || env.TOXENV }} \
               --volume /home/runner/work:/__w \
               --workdir /__w/buildstream/buildstream \
-              "$CI_IMAGE_PREFIX"-${{ matrix.ci_image_name }}-"$CI_IMAGE_SUFFIX" \
+              "$CI_IMAGE_PREFIX"-${{ matrix.image-name || matrix.test-name }}-"$CI_IMAGE_SUFFIX" \
               bash -c 'useradd -Um buildstream && chown -R buildstream:buildstream . && su buildstream -c "tox -- $PYTEST_ARGS"'
 
   mypy:


[buildstream] 14/18: .github/workflows/ci.yml: Ensure we rebuild the docs sessions in CI

Posted by tv...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

tvb pushed a commit to branch tristan/test-workflows
in repository https://gitbox.apache.org/repos/asf/buildstream.git

commit bf48af7ae5cbfac8b29dc46bef2bb70ead878a75
Author: Tristan van Berkom <tr...@codethink.co.uk>
AuthorDate: Fri Oct 9 15:04:59 2020 +0900

    .github/workflows/ci.yml: Ensure we rebuild the docs sessions in CI
---
 .github/workflows/ci.yml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 61396b9..a820522 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -166,6 +166,7 @@ jobs:
           docker run \
               --privileged \
               --device /dev/fuse \
+              --env BST_FORCE_SESSION_REBUILD \
               --volume /home/runner/work:/__w \
               --workdir /__w/buildstream/buildstream \
               $CI_IMAGE \


[buildstream] 17/18: Fixing merge CI to update github pages

Posted by tv...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

tvb pushed a commit to branch tristan/test-workflows
in repository https://gitbox.apache.org/repos/asf/buildstream.git

commit 6faceda7e4e7733115096f106792e7edf1d80eed
Author: Tristan van Berkom <tr...@codethink.co.uk>
AuthorDate: Fri Oct 16 16:21:53 2020 +0900

    Fixing merge CI to update github pages
---
 .github/workflows/merge.yml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/.github/workflows/merge.yml b/.github/workflows/merge.yml
index 11a1fbd..c63f380 100644
--- a/.github/workflows/merge.yml
+++ b/.github/workflows/merge.yml
@@ -57,10 +57,10 @@ jobs:
 
     - name: Update repo
       run: |
-        cp -a doc/* pages/
+        cp -a docs/* pages/
         cd pages/
         git add .
-        git config --local user.email "me+nightly-ci@pony"
+        git config --local user.email "merge-ci@ponyland"
         git config --local user.name  "Github Actions Nightly Job"
         git commit -m "Update repo for docs build $GITHUB_RUN_NUMBER"
         git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$GITHUB_REPOSITORY.git" gh-pages


[buildstream] 08/18: .github/workflows/ci.yml: Use fresh docker images

Posted by tv...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

tvb pushed a commit to branch tristan/test-workflows
in repository https://gitbox.apache.org/repos/asf/buildstream.git

commit b7c42582fd97cdef5ce701d2978318cff231b26e
Author: Tristan van Berkom <tr...@codethink.co.uk>
AuthorDate: Tue Oct 6 15:16:35 2020 +0900

    .github/workflows/ci.yml: Use fresh docker images
---
 .github/workflows/ci.yml | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index bdc5c2e..26d4d85 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -20,7 +20,7 @@ on: push
 # - standardize WSL tasks by using GitHub-provided runners
 
 env:
-  CI_IMAGE: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-fedora:30-master-154893333
+  CI_IMAGE: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-fedora:32-master-177137613
   PYTEST_ARGS: --color=yes --integration -n 4
 
 jobs:
@@ -30,7 +30,7 @@ jobs:
 
     env:
       CI_IMAGE_PREFIX: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite
-      CI_IMAGE_SUFFIX: master-154893333
+      CI_IMAGE_SUFFIX: master-177137613
       TOXENV: py36,py6-plugins,py37,py37-plugins,py38,py38-plugins
       # FIXME: De-duplicate against tox.ini
       BST_PLUGINS_EXPERIMENTAL_VERSION: 1.93.4
@@ -43,20 +43,20 @@ jobs:
         # the base for running tests.
         test-name:
           - debian:10
-          - fedora:30
           - fedora:31
+          - fedora:32
           - ubuntu:18.04
           - centos:7.7.1908
 
         include:
           # Ensure that tests also pass without `--develop` flag.
           - test-name: no-usedevelop
-            image-name: fedora:31
+            image-name: fedora:32
             toxenv: py36-nocover,py37-nocover,py38-nocover
 
           # Test the master version of some external plugins
           - test-name: plugins-master
-            image-name: fedora:31
+            image-name: fedora:32
             bst-plugins-experimental-version: master
             allow-failure: true
 
@@ -91,7 +91,7 @@ jobs:
 
   tests-fedora-missing-deps:
     runs-on: ubuntu-20.04
-    container: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-fedora:30-master-154893333
+    container: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-fedora:32-master-177137613
     steps:
       - name: Check out repository
         uses: actions/checkout@v2
@@ -114,7 +114,7 @@ jobs:
 
   mypy:
     runs-on: ubuntu-20.04
-    container: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-fedora:30-master-154893333
+    container: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-fedora:32-master-177137613
     steps:
       - name: Check out repository
         uses: actions/checkout@v2
@@ -123,7 +123,7 @@ jobs:
 
   lint:
     runs-on: ubuntu-20.04
-    container: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-fedora:30-master-154893333
+    container: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-fedora:32-master-177137613
     steps:
       - name: Check out repository
         uses: actions/checkout@v2


[buildstream] 16/18: .github/workflows/merge.yml: Publish docs post merge

Posted by tv...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

tvb pushed a commit to branch tristan/test-workflows
in repository https://gitbox.apache.org/repos/asf/buildstream.git

commit e52715c927d79b954e2d80700917d85d18e7347f
Author: Tristan van Berkom <tr...@codethink.co.uk>
AuthorDate: Thu Oct 15 17:54:00 2020 +0900

    .github/workflows/merge.yml: Publish docs post merge
---
 .github/workflows/ci.yml    |  6 ++++-
 .github/workflows/merge.yml | 66 +++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 71 insertions(+), 1 deletion(-)

diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index a820522..b99b0ce 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -5,7 +5,11 @@ name: PR Checks
 #    request, and
 # 2. running on both pushes and pull requests results in the classic problem of
 #    having double jobs.
-on: push
+on:
+  push:
+    branches-ignore:
+    - gh-pages
+    - master
 
 # Left to-do:
 # - coverage
diff --git a/.github/workflows/merge.yml b/.github/workflows/merge.yml
new file mode 100644
index 0000000..11a1fbd
--- /dev/null
+++ b/.github/workflows/merge.yml
@@ -0,0 +1,66 @@
+name: Merge actions
+
+env:
+  CI_IMAGE: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-debian:10-master-132813612
+  BST_FORCE_SESSION_REBUILD: 1
+
+on:
+  push:
+    branches:
+    - master
+
+jobs:
+  build:
+    name: Build documentation
+    runs-on: ubuntu-20.04
+    steps:
+    - name: Checkout code
+      uses: actions/checkout@v2
+      # BuildStream requires tags to be able to find its version.
+      with:
+        fetch-depth: 0
+
+    - name: Build documentation
+      run: |
+        docker run \
+            --privileged \
+            --device /dev/fuse \
+            --env BST_FORCE_SESSION_REBUILD \
+            --volume /home/runner/work:/__w \
+            --workdir /__w/buildstream/buildstream \
+            $CI_IMAGE \
+            tox -e docs
+        tar -C doc/build/html -zcf docs.tgz .
+
+    - name: Upload artifacts
+      uses: actions/upload-artifact@v2
+      with:
+        name: docs
+        path: doc/build/html
+
+  publish:
+    needs: build
+    runs-on: ubuntu-20.04
+    steps:
+
+    - name: Download artifact
+      uses: actions/download-artifact@v2
+      with:
+        name: docs
+        path: docs
+
+    - name: Checkout code
+      uses: actions/checkout@v2
+      with:
+        ref: gh-pages
+        path: pages
+
+    - name: Update repo
+      run: |
+        cp -a doc/* pages/
+        cd pages/
+        git add .
+        git config --local user.email "me+nightly-ci@pony"
+        git config --local user.name  "Github Actions Nightly Job"
+        git commit -m "Update repo for docs build $GITHUB_RUN_NUMBER"
+        git push "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$GITHUB_REPOSITORY.git" gh-pages


[buildstream] 15/18: .github/workflows/release.yml: Add release.yml workflow for uploading releases

Posted by tv...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

tvb pushed a commit to branch tristan/test-workflows
in repository https://gitbox.apache.org/repos/asf/buildstream.git

commit 51acea3028bef5b947134fd92e5fb3d502264d7f
Author: Tristan van Berkom <tr...@codethink.co.uk>
AuthorDate: Fri Oct 9 15:36:41 2020 +0900

    .github/workflows/release.yml: Add release.yml workflow for uploading releases
---
 .github/workflows/release.yml | 40 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
new file mode 100644
index 0000000..1153eab
--- /dev/null
+++ b/.github/workflows/release.yml
@@ -0,0 +1,40 @@
+name: Upload Release Asset
+
+env:
+  CI_IMAGE: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-fedora:32-master-177137613
+  BST_FORCE_SESSION_REBUILD: 1
+
+on:
+  push:
+    tags:
+    - '*.*.*'
+
+jobs:
+  build:
+    name: Upload Release Asset
+    runs-on: ubuntu-20.04
+    steps:
+      - name: Checkout code
+        uses: actions/checkout@v2
+        # BuildStream requires tags to be able to find its version.
+        with:
+          fetch-depth: 0
+
+      - name: Build documentation
+        run: |
+          docker run \
+              --privileged \
+              --device /dev/fuse \
+              --env BST_FORCE_SESSION_REBUILD \
+              --volume /home/runner/work:/__w \
+              --workdir /__w/buildstream/buildstream \
+              $CI_IMAGE \
+              tox -e docs
+          tar -C doc/build/html -zcf docs.tgz .
+
+      - name: Upload release assets
+        run: |
+          tag_name="${GITHUB_REF##*/}"
+          hub release create -a "docs.tgz" -m "$tag_name" "$tag_name"
+        env:
+          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}


[buildstream] 18/18: .github/workflows/merge.yml: Generate the gh-pages branch with .nojekyll

Posted by tv...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

tvb pushed a commit to branch tristan/test-workflows
in repository https://gitbox.apache.org/repos/asf/buildstream.git

commit 33aae132aefc69fc6928690e5e050746da2e7668
Author: Tristan van Berkom <tr...@codethink.co.uk>
AuthorDate: Fri Oct 16 17:29:56 2020 +0900

    .github/workflows/merge.yml: Generate the gh-pages branch with .nojekyll
    
    This disables the jekyll on GitHub which interferes with the proper
    rendering of the site.
---
 .github/workflows/merge.yml | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/.github/workflows/merge.yml b/.github/workflows/merge.yml
index c63f380..3fb50e1 100644
--- a/.github/workflows/merge.yml
+++ b/.github/workflows/merge.yml
@@ -57,7 +57,14 @@ jobs:
 
     - name: Update repo
       run: |
+
+        # Copy the docs asset over and overwrite the orphan gh-pages branch, ensure
+        # that we disable GitHub's jekyll by creating the .nojekyll file, otherwise
+        # it will interfere with the rendering of the site.
+        #
         cp -a docs/* pages/
+        touch pages/.nojekyll
+
         cd pages/
         git add .
         git config --local user.email "merge-ci@ponyland"


[buildstream] 12/18: .github/workflows/ci.yml: Generate test runner script

Posted by tv...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

tvb pushed a commit to branch tristan/test-workflows
in repository https://gitbox.apache.org/repos/asf/buildstream.git

commit 41d3fe51a64303ee793942642b7f7e068b1bfcc8
Author: Tristan van Berkom <tr...@codethink.co.uk>
AuthorDate: Wed Oct 7 15:56:14 2020 +0900

    .github/workflows/ci.yml: Generate test runner script
    
    This allows us to have a more robust scaffolding inside the container
    once it's launched.
    
    Here we:
      - Add some diagnostic info
      - Maximize verbosity of tox invocations, helps to debug if anything goes wrong
      - Ensure that we run tox in a login shell, the ubuntu 18.04 breaks at
        the time of installing cython without this change.
---
 .github/workflows/ci.yml | 23 ++++++++++++++++++++++-
 1 file changed, 22 insertions(+), 1 deletion(-)

diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 74f6e4b..54af9c1 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -78,6 +78,27 @@ jobs:
       # TODO: Have test user pre-created in the test image.
       - name: Run tox inside a container
         run: |
+
+          cat << EOF > runtox.sh
+          #!/bin/bash
+
+          # Create user
+          useradd -Um buildstream
+          chown -R buildstream:buildstream .
+
+          # Diagnostics
+          echo "Running diagnostics checks"
+          mount
+          df -h
+          tox --version
+
+          # Run tox as user, ensure we have a login shell
+          echo "Running tests"
+          su buildstream -c '/bin/bash --login -c "tox -vvvvv -- $PYTEST_ARGS"'
+          EOF
+
+          chmod +x runtox.sh
+
           docker run \
               --privileged \
               --device /dev/fuse \
@@ -87,7 +108,7 @@ jobs:
               --volume /home/runner/work:/__w \
               --workdir /__w/buildstream/buildstream \
               "$CI_IMAGE_PREFIX"-${{ matrix.image-name || matrix.test-name }}-"$CI_IMAGE_SUFFIX" \
-              bash -c 'useradd -Um buildstream && chown -R buildstream:buildstream . && su buildstream -c "tox -- $PYTEST_ARGS"'
+              ./runtox.sh
 
   tests-fedora-missing-deps:
     runs-on: ubuntu-20.04


[buildstream] 01/18: Test Actions

Posted by tv...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

tvb pushed a commit to branch tristan/test-workflows
in repository https://gitbox.apache.org/repos/asf/buildstream.git

commit 9fd855890443850bc1df56bea72acc0dd7790ad3
Author: Chandan Singh <ch...@chandansingh.net>
AuthorDate: Mon Aug 10 20:58:45 2020 +0100

    Test Actions
---
 .github/workflows/ci.yml | 128 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 128 insertions(+)

diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
new file mode 100644
index 0000000..f5aabb7
--- /dev/null
+++ b/.github/workflows/ci.yml
@@ -0,0 +1,128 @@
+name: PR Checks
+
+# We don't run these jobs on pull requests because:
+# 1. it is often useful to run tests on one's branch without creating a pull
+#    request, and
+# 2. running on both pushes and pull requests results in the classic problem of
+#    having double jobs.
+on: push
+
+# Left to-do:
+# - coverage
+# - publishing docs to gh-pages
+# - persistent artifact cache
+# - overnight jobs
+# - other one-off jobs like missing-deps, plugin jobs etc
+# - wsl tasks (TODO: Check if GitHub's Windows runners allow WSL)
+#
+# New opportunities:
+# - run tests on mac (GitHub provides MacOS runners)
+# - standardize WSL tasks by using GitHub-provided runners
+#
+#
+# NOTE:
+#
+# * GitHub Actions do not support YAML variables and/or YAML anchors, which
+#   leads to some repetition. Job matrices solve this to some extent but
+#   combined with some other issues, this seems like a ongoing source of
+#   misery.
+# * Not being able to use the standard `container` directive for running our
+#   tests is one such example that makes this situation seem worse.
+#
+# * We have caches etc in GitHub Actions as well, so I don't think we are
+#   missing any killer feature.
+#
+# * Fixing most of the to-do items is mostly mostly a matter of adding more
+#   configuration.
+# * Some of these tasks can probably live in a different yaml file as a
+#   separate workflow.
+#
+# * Similar to GitLab, GitHub also has a container registry, so we can move our
+#   testsuite images there if/when we want to fully migrate off of GitLab.
+
+jobs:
+  tests:
+    runs-on: ubuntu-20.04
+
+    env:
+      CI_IMAGE_PREFIX: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite
+      CI_IMAGE_SUFFIX: master-154893333
+      PYTEST_ARGS: --color=yes --integration -n 4
+      TOXENV: py36,py6-plugins,py37,py37-plugins,py38,py38-plugins
+
+    strategy:
+      fail-fast: false
+      matrix:
+        ci_image_name:
+          - debian:10
+          - fedora:30
+          - fedora:31
+          - ubuntu:18.04
+          - centos:7.7.1908
+
+    steps:
+      - name: Check out repository
+        uses: actions/checkout@v2
+        # BuildStream requires tags to be able to find its version.
+        with:
+          fetch-depth: 0
+      # XXX: Our run command looks like a monstrosity because we need to
+      # specify `--device /dev/fuse` and there's no way to do that using the
+      # `container` directive directly.
+      # This is also why we have forward environment variables by hand.
+      # TODO: In future, we should find a way to simplify this. See some
+      # relevant discussion at:
+      # https://github.community/t/how-to-run-privileged-docker-container/16431.
+      # XXX: Value of `volume` and `workdir` must match how GitHub
+      # Actions sets up paths.
+      # TODO: Have test user pre-created in the test image.
+      - name: Run tox inside a container
+        run: |
+          docker run \
+              --privileged \
+              --device /dev/fuse \
+              --env PYTEST_ARGS \
+              --env TOXENV \
+              --volume /home/runner/work:/__w \
+              --workdir /__w/buildstream/buildstream \
+              "$CI_IMAGE_PREFIX"-${{ matrix.ci_image_name }}-"$CI_IMAGE_SUFFIX" \
+              bash -c 'useradd -Um buildstream && chown -R buildstream:buildstream . && su buildstream -c "tox -- $PYTEST_ARGS"'
+
+  mypy:
+    runs-on: ubuntu-20.04
+    container: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-fedora:30-master-154893333
+    steps:
+      - name: Check out repository
+        uses: actions/checkout@v2
+      - name: Run tox inside a container
+        run: tox -e mypy
+
+  lint:
+    runs-on: ubuntu-20.04
+    container: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-fedora:30-master-154893333
+    steps:
+      - name: Check out repository
+        uses: actions/checkout@v2
+      - name: Run tox inside a container
+        run: tox -e format-check,lint
+
+  docs:
+    runs-on: ubuntu-20.04
+    env:
+      CI_IMAGE: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-fedora:30-master-154893333
+      BST_FORCE_SESSION_REBUILD: 1
+    steps:
+      - name: Check out repository
+        uses: actions/checkout@v2
+        # BuildStream requires tags to be able to find its version.
+        with:
+          fetch-depth: 0
+      - name: Run tox inside a container
+        run: |
+          docker run \
+              --privileged \
+              --device /dev/fuse \
+              --volume /home/runner/work:/__w \
+              --workdir /__w/buildstream/buildstream \
+              $CI_IMAGE \
+              tox -e docs


[buildstream] 09/18: .github/workflows/ci.yml: Fix TOXENV, there is no py6-plugins env.

Posted by tv...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

tvb pushed a commit to branch tristan/test-workflows
in repository https://gitbox.apache.org/repos/asf/buildstream.git

commit 44ff8e1d979417fbab19cdb5511b87ee93aad6af
Author: Tristan van Berkom <tr...@codethink.co.uk>
AuthorDate: Tue Oct 6 16:10:06 2020 +0900

    .github/workflows/ci.yml: Fix TOXENV, there is no py6-plugins env.
---
 .github/workflows/ci.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 26d4d85..a10b6d9 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -31,7 +31,7 @@ jobs:
     env:
       CI_IMAGE_PREFIX: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite
       CI_IMAGE_SUFFIX: master-177137613
-      TOXENV: py36,py6-plugins,py37,py37-plugins,py38,py38-plugins
+      TOXENV: py36,py36-plugins,py37,py37-plugins,py38,py38-plugins
       # FIXME: De-duplicate against tox.ini
       BST_PLUGINS_EXPERIMENTAL_VERSION: 1.93.4