6131038c00
As all currently supported distros provide at least python 3.6, we drop the support for 3.5. At time of this commit, the python versions of the supported distros are as following: - Debian: 3.7 (buster) - Ubuntu: 3.7 (18.04) - Fedora: 3.11 (Fedora 36) - RHEL: 2.x (RHEL 7), 3.6 (RHEL 8) - OpenSUSE: 3.6 (Leap / 15.4) While updating the lower bound version, we also unify the upper bound in the setup.py script with the versions tested in the CI. Signed-off-by: Felix Moessbauer <felix.moessbauer@siemens.com> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
113 lines
4.0 KiB
YAML
113 lines
4.0 KiB
YAML
name: next
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- next
|
|
|
|
env:
|
|
SHELLCHECK_VERSION: v0.7.1
|
|
SHELLCHECK_SHA256: 64f17152d96d7ec261ad3086ed42d18232fcb65148b44571b564d688269d36c8
|
|
NEWT_VERSION: 0.52.21
|
|
NEWT_SHA256: 265eb46b55d7eaeb887fca7a1d51fe115658882dfe148164b6c49fccac5abb31
|
|
|
|
jobs:
|
|
perform_tests:
|
|
name: Run tests on kas code
|
|
runs-on: ubuntu-20.04
|
|
strategy:
|
|
matrix:
|
|
python-version: ["3.6", "3.7", "3.8", "3.9", "3.10", "3.11"]
|
|
steps:
|
|
- name: Check out repo
|
|
uses: actions/checkout@v3
|
|
- name: Set up Python
|
|
uses: actions/setup-python@v4
|
|
with:
|
|
python-version: ${{ matrix.python-version }}
|
|
architecture: x64
|
|
- name: Install Python dependencies of kas and tests
|
|
run: |
|
|
# install kas to have all kas dependencies:
|
|
pip install .
|
|
# checkcode dependencies:
|
|
pip install flake8 pycodestyle doc8 Pygments
|
|
# test dependencies:
|
|
pip install -U pytest
|
|
- name: Install recent shellcheck
|
|
run: |
|
|
wget -q https://github.com/koalaman/shellcheck/releases/download/$SHELLCHECK_VERSION/shellcheck-$SHELLCHECK_VERSION.linux.x86_64.tar.xz
|
|
echo "$SHELLCHECK_SHA256 shellcheck-$SHELLCHECK_VERSION.linux.x86_64.tar.xz" | sha256sum -c
|
|
tar -xJf shellcheck-$SHELLCHECK_VERSION.linux.x86_64.tar.xz
|
|
sudo cp shellcheck-$SHELLCHECK_VERSION/shellcheck /usr/local/bin/
|
|
- name: Install python-newt
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install libpopt-dev libslang2-dev
|
|
wget -q https://releases.pagure.org/newt/newt-$NEWT_VERSION.tar.gz
|
|
echo "$NEWT_SHA256 newt-$NEWT_VERSION.tar.gz" | sha256sum -c
|
|
tar -C /tmp -xzf newt-$NEWT_VERSION.tar.gz
|
|
cd /tmp/newt-$NEWT_VERSION
|
|
autoconf
|
|
./configure --with-python=python${{ matrix.python-version }}
|
|
make -j $(nproc)
|
|
sudo make install
|
|
ln -s /usr/local/lib/python${{ matrix.python-version }}/site-packages/_snack.so \
|
|
$(python3 -c 'import site; print(site.getsitepackages()[0])')/
|
|
ln -s /usr/local/lib/python${{ matrix.python-version }}/site-packages/snack.py \
|
|
$(python3 -c 'import site; print(site.getsitepackages()[0])')/
|
|
- name: Run tests
|
|
run: |
|
|
scripts/checkcode.sh .
|
|
TERM=xterm pytest
|
|
|
|
build_containers:
|
|
name: Build, test and deploy container images
|
|
needs: perform_tests
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Check out repo
|
|
uses: actions/checkout@v3
|
|
- name: Set up QEMU
|
|
uses: docker/setup-qemu-action@v2
|
|
- name: Set up Docker Buildx
|
|
uses: docker/setup-buildx-action@v2
|
|
- name: Login to ghcr.io
|
|
uses: docker/login-action@v2
|
|
with:
|
|
registry: ghcr.io
|
|
username: ${{ secrets.PACKAGE_DEPLOY_USER }}
|
|
password: ${{ secrets.PACKAGE_DEPLOY_TOKEN }}
|
|
- name: Build kas image
|
|
uses: docker/build-push-action@v3
|
|
with:
|
|
load: true
|
|
tags: ghcr.io/siemens/kas/kas:next
|
|
- name: Test kas image
|
|
run: |
|
|
cd image-tests/poky
|
|
KAS_IMAGE_VERSION=next ../../kas-container build kas.yml
|
|
- name: Complete build and deploy kas image
|
|
uses: docker/build-push-action@v3
|
|
with:
|
|
platforms: linux/amd64,linux/arm64
|
|
tags: ghcr.io/siemens/kas/kas:next
|
|
push: true
|
|
- name: Build kas-isar image
|
|
uses: docker/build-push-action@v3
|
|
with:
|
|
target: kas-isar
|
|
load: true
|
|
tags: ghcr.io/siemens/kas/kas-isar:next
|
|
- name: Test kas-isar image
|
|
run: |
|
|
cd image-tests/isar
|
|
KAS_IMAGE_VERSION=next ../../kas-container build kas.yml
|
|
- name: Complete build and deploy kas-isar image
|
|
uses: docker/build-push-action@v3
|
|
with:
|
|
target: kas-isar
|
|
platforms: linux/amd64,linux/arm64
|
|
tags: ghcr.io/siemens/kas/kas-isar:next
|
|
push: true
|