Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable packit rpm building for Fedora 35 #3456

Merged
merged 2 commits into from
Mar 20, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
85 changes: 85 additions & 0 deletions .config/molecule.spec
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
# spell-checker:ignore bcond pkgversion buildrequires autosetup PYTHONPATH noarch buildroot bindir sitelib numprocesses
# All tests require Internet access
# to test in mock use: --enable-network --with check
# to test in a privileged environment use:
# --with check --with privileged_tests
%bcond_with check
%bcond_with privileged_tests

Name: molecule
Version: VERSION_PLACEHOLDER
Release: 1%{?dist}
Summary: Molecule testing framework for Ansible content

License: MIT
URL: https://github.com/ansible-community/molecule
Source0: %{pypi_source}

BuildArch: noarch

BuildRequires: pyproject-rpm-macros
BuildRequires: python%{python3_pkgversion}-build
BuildRequires: python%{python3_pkgversion}-devel
BuildRequires: python%{python3_pkgversion}-pip
BuildRequires: python%{python3_pkgversion}-setuptools
BuildRequires: python%{python3_pkgversion}-setuptools_scm
BuildRequires: python%{python3_pkgversion}-wheel
%if %{with check}
# These are required for tests:
BuildRequires: python%{python3_pkgversion}-pyyaml
BuildRequires: python%{python3_pkgversion}-pytest
BuildRequires: python%{python3_pkgversion}-pytest-xdist
BuildRequires: python%{python3_pkgversion}-libselinux
BuildRequires: git
%endif
# Named based on fedora 35:
Requires: ansible-core
Requires: python3-enrich
Requires: python3-packaging
Requires: python3-pyyaml
Requires: python3-rich

# generate_buildrequires
# pyproject_buildrequires

%description
Molecule provides support for testing with multiple instances, operating
systems and distributions, virtualization providers, test frameworks and
testing scenarios.

%prep
%autosetup


%build
%pyproject_wheel


%install
%pyproject_install


%if %{with check}
%check
PYTHONPATH=%{buildroot}%{python3_sitelib} \
pytest-3 \
-v \
--disable-pytest-warnings \
--numprocesses=auto \
%if %{with privileged_tests}
tests
%else
tests/unit
%endif
%endif


%files
%{python3_sitelib}/molecule/
%{python3_sitelib}/molecule-*.dist-info/
%{_bindir}/molecule
%license LICENSE
%doc docs/* README.rst

%changelog
Available at https://github.com/ansible-community/molecule/releases
33 changes: 33 additions & 0 deletions .packit.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# spell-checker:ignore packit specfile copr epel
specfile_path: dist/molecule.spec
actions:
create-archive:
# packit.dev service does have these module pre-installed:
- python3 -m pip install --user build setuptools-scm
- python3 -m build --sdist --outdir dist
- sh -c "ls dist/molecule-*.tar.gz"
get-current-version:
- ./tools/get-version.sh
post-upstream-clone:
- ./tools/update-version.sh
jobs:
- job: copr_build
metadata:
targets:
# Unable to build `centos-stream` due to missing python3-setuptools_scm_git_archive
# which is part of EPEL.
# - centos-stream-x86_64
# - epel-8-x86_64
# Unable to build fedora-stable as it includes both 34 and 35 and on first one we do not have python3-setuptools_scm
# - fedora-stable
- fedora-35
trigger: pull_request
# - job: tests
# trigger: pull_request
# metadata:
# targets:
# - fedora-all
# - job: propose_downstream
# trigger: release
# metadata:
# dist-git-branch: master
7 changes: 7 additions & 0 deletions tools/get-version.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#!/bin/bash
set -e
{
python3 -c "import setuptools_scm" || python3 -m pip install --user setuptools-scm
} 1>&2 # redirect stdout to stderr to avoid polluting the output
python3 -m setuptools_scm | \
sed 's/Guessed Version\([^+]\+\).*/\1/'
7 changes: 7 additions & 0 deletions tools/update-version.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#!/bin/bash
DIR=$(dirname "$0")
VERSION=$(./tools/get-version.sh)
mkdir -p "${DIR}/../dist"
sed -e "s/VERSION_PLACEHOLDER/${VERSION}/" \
"${DIR}/../.config/molecule.spec" \
> "${DIR}/../dist/molecule.spec"