Skip to content

Improve 'updatepacmetafromspec' command to expand rpm spec macros by calling rpmspec to query the data #673

Improve 'updatepacmetafromspec' command to expand rpm spec macros by calling rpmspec to query the data

Improve 'updatepacmetafromspec' command to expand rpm spec macros by calling rpmspec to query the data #673

Workflow file for this run

name: 'build and installation tests'
on:
pull_request:
branches: ['master']
paths-ignore:
- 'AUTHORS'
- 'COPYING'
- 'NEWS'
- 'README.md'
- 'doc/**'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
rpmbuild:
name: 'rpmbuild test'
runs-on: 'ubuntu-latest'
strategy:
fail-fast: false
matrix:
# Testing per python-version using actions/setup-python is not possible,
# because rpm doesn't exist on pypi and cannot be installed via pip on ubuntu.
# That's why we're going to test on the target distros directly.
container:
# Fedora
- 'registry.fedoraproject.org/fedora:38'
- 'registry.fedoraproject.org/fedora:39'
- 'registry.fedoraproject.org/fedora:rawhide'
# OpenSUSE
# leap < 15.2 doesn't contain git-lfs which causes actions/checkout to fail
- 'registry.opensuse.org/opensuse/leap:15.3'
- 'registry.opensuse.org/opensuse/leap:15.4'
- 'registry.opensuse.org/opensuse/leap:15.5'
- 'registry.opensuse.org/opensuse/tumbleweed'
# CentOS Stream
- 'quay.io/centos/centos:stream9'
container:
image: ${{ matrix.container }}
steps:
- name: 'Install packages (OpenSUSE)'
if: ${{ contains(matrix.container, '/opensuse/') }}
run: |
zypper -n modifyrepo --disable repo-openh264 || :
zypper -n --gpg-auto-import-keys refresh
zypper -n lr --details
zypper -n dist-upgrade
zypper -n install git-lfs rpm-build
- name: 'Install packages (Fedora/CentOS)'
if: ${{ contains(matrix.container, '/fedora:') || contains(matrix.container, '/centos:') }}
run: |
dnf -y makecache
dnf -y distro-sync
dnf -y install git-lfs rpm-build dnf-plugins-core
- uses: actions/checkout@v3
with:
fetch-depth: 0
- name: 'Install build dependencies (OpenSUSE)'
if: ${{ contains(matrix.container, '/opensuse/') }}
run: |
zypper --non-interactive install $(rpmspec -q --buildrequires contrib/osc.spec)
- name: 'Install build dependencies (Fedora/CentOS)'
if: ${{ contains(matrix.container, '/fedora:') || contains(matrix.container, '/centos:') }}
run: |
RHEL_VERSION=$(rpm --eval '%{?rhel}')
[ -n "${RHEL_VERSION}" ] && rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-${RHEL_VERSION}.noarch.rpm
[ -n "${RHEL_VERSION}" ] && /usr/bin/crb enable
dnf -y builddep contrib/osc.spec
- name: 'Build SRPM and RPMs'
run: |
git config --global --add safe.directory "$(pwd)"
git remote add upstream https://github.com/openSUSE/osc.git
git fetch upstream --tags --force
./contrib/build_rpm.py --srpm --rpm
- name: 'Install built RPMs (OpenSUSE)'
if: ${{ contains(matrix.container, '/opensuse/') }}
run: |
zypper --non-interactive install --force --allow-vendor-change --allow-unsigned-rpm ./contrib/*/*.rpm
- name: 'Install build RPMs (Fedora/CentOS)'
if: ${{ contains(matrix.container, '/fedora:') || contains(matrix.container, '/centos:') }}
run: |
dnf -y install ./contrib/*/*.rpm
- name: 'Run installed osc'
run: |
osc --help
pip:
name: 'pip install test'
runs-on: 'ubuntu-latest'
strategy:
fail-fast: false
steps:
- name: 'Install packages'
run: |
sudo apt-get -y update
sudo apt-get -y upgrade
sudo apt-get -y --no-install-recommends install git python3-pip python3-rpm
- uses: actions/checkout@v3
- name: 'Install osc from pip'
run: |
pip config set global.break-system-packages 1
pip3 install .
- name: 'Run installed osc'
run: |
osc --help
virtualenv:
name: 'virtualenv install test'
runs-on: 'ubuntu-latest'
strategy:
fail-fast: false
steps:
- name: 'Install packages'
run: |
sudo apt-get -y update
sudo apt-get -y --no-install-recommends install git python3-pip python3-rpm python3-virtualenv
- uses: actions/checkout@v3
- name: 'Initialize virtualenv'
run: |
python3 -m venv .env3
source .env3/bin/activate
pip3 install .
- name: 'Run installed osc'
run: |
source .env3/bin/activate
osc --help