summaryrefslogtreecommitdiff
path: root/.github/workflows
diff options
context:
space:
mode:
authorIlya Maximets <i.maximets@ovn.org>2021-03-12 18:04:57 +0100
committerIlya Maximets <i.maximets@ovn.org>2021-03-30 21:16:27 +0200
commit9801d7c4b8e71df56c439c06f8bab8b74cab5248 (patch)
treed6e2590a8e7cd92b32b39b7aaebee2ba6a0dd8c4 /.github/workflows
parentc3690ccbce3e6ac009ff7695099fdd47705145db (diff)
downloadopenvswitch-9801d7c4b8e71df56c439c06f8bab8b74cab5248.tar.gz
github: Fix handling of python packages.
GitHub Actions doesn't have python locations in PATH and different runners might have different configuration for default python location and versions. For example, on some runners python2 might be installed or not. Missing PATH causes weird situations on older branches where during one run our scripts can locate just installed flake8 and can't do that on a different run. But this might also create other unpredictable issues on all branches. It's required to use actions/setup-python@v2 in order to have predictable version of python installed and paths correctly configured. Due to some bugs in GHA itself it doesn't set $HOME/.local/bin into PATH, so we have to do that manually for now in order to use '--user'. This might be fixed later in actions/setup-python or in base runners. We already setting it for DPDK 20.11 (I think the issue was spotted but not fully investigated). Moving PATH updates to a separate step to make them more explicit and available for all steps of the job. Unfortunately actions/setup-python@v2 also makes invisible python packages installed from Ubuntu repositories. Switching them to 'pip3 install'. Fixes: 6cb2f5a630e3 ("github: Add GitHub Actions workflow.") Reported-by: Numan Siddique <numans@ovn.org> Acked-by: Aaron Conole <aconole@redhat.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/build-and-test.yml26
1 files changed, 21 insertions, 5 deletions
diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml
index 1bb72bbb1..ce98a9f98 100644
--- a/.github/workflows/build-and-test.yml
+++ b/.github/workflows/build-and-test.yml
@@ -8,9 +8,7 @@ jobs:
dependencies: |
automake libtool gcc bc libjemalloc1 libjemalloc-dev \
libssl-dev llvm-dev libelf-dev libnuma-dev libpcap-dev \
- ninja-build python3-openssl python3-pip \
- python3-setuptools python3-sphinx python3-wheel \
- selinux-policy-dev
+ ninja-build selinux-policy-dev
deb_dependencies: |
linux-headers-$(uname -r) build-essential fakeroot devscripts equivs
AFXDP: ${{ matrix.afxdp }}
@@ -115,6 +113,16 @@ jobs:
- name: checkout
uses: actions/checkout@v2
+ - name: update PATH
+ run: |
+ echo "$HOME/bin" >> $GITHUB_PATH
+ echo "$HOME/.local/bin" >> $GITHUB_PATH
+
+ - name: set up python
+ uses: actions/setup-python@v2
+ with:
+ python-version: '3.x'
+
- name: create ci signature file for the dpdk cache key
if: matrix.dpdk != '' || matrix.dpdk_shared != ''
# This will collect most of DPDK related lines, so hash will be different
@@ -151,7 +159,7 @@ jobs:
run: ./.ci/linux-prepare.sh
- name: build
- run: PATH="$PATH:$HOME/bin:$HOME/.local/bin" ./.ci/linux-build.sh
+ run: ./.ci/linux-build.sh
- name: upload deb packages
if: matrix.deb_package != ''
@@ -194,12 +202,20 @@ jobs:
steps:
- name: checkout
uses: actions/checkout@v2
+ - name: update PATH
+ run: |
+ echo "$HOME/bin" >> $GITHUB_PATH
+ echo "$HOME/.local/bin" >> $GITHUB_PATH
+ - name: set up python
+ uses: actions/setup-python@v2
+ with:
+ python-version: '3.x'
- name: install dependencies
run: brew install automake libtool
- name: prepare
run: ./.ci/osx-prepare.sh
- name: build
- run: PATH="$PATH:$HOME/bin" ./.ci/osx-build.sh
+ run: ./.ci/osx-build.sh
- name: upload logs on failure
if: failure()
uses: actions/upload-artifact@v2