blob: 527a229e2a503a2a9cf954fffbae848d1e270391 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
|
# Maintainer: David Runge <dvzrv@archlinux.org>
pkgname=molecule-plugins
pkgver=25.8.12
pkgrel=3
pkgdesc="Collection of molecule plugins"
arch=(any)
url="https://github.com/ansible-community/molecule-plugins"
license=(MIT)
depends=(
molecule
python
python-boto3 # for ec2 driver
python-cryptography # for ec2 driver
python-jinja # for vagrant driver
python-packaging # required for podman driver
)
makedepends=(
python-build
python-installer
python-setuptools
python-setuptools-scm
python-wheel
)
checkdepends=(
podman
python-filelock
python-google-auth
python-google-api-python-client
python-pexpect
python-pycryptodome
python-pytest
python-pytest-helpers-namespace
python-vagrant
vagrant
)
optdepends=(
'ansible-core: for vagrant driver and validating docker and podman playbooks'
'python-ansible-compat: for podman driver'
'python-docker: for Docker support'
'python-google-auth: for GCE playbooks'
'python-google-api-python-client: for GCE playbooks'
'python-pycryptodome: for GCE playbooks'
'python-requests: for Docker support'
'python-selinux: for SELinux and Docker support'
'python-vagrant: for vagrant module'
)
conflicts=(
molecule-containers
molecule-docker
molecule-podman
molecule-vagrant
)
replaces=(
molecule-containers
molecule-docker
molecule-podman
molecule-vagrant
)
source=(
$url/archive/v$pkgver/$pkgname-v$pkgver.tar.gz
)
sha512sums=('c8cf15d9f0465fe58f62ec7df831fc5ede5b19e6dbf7f8abd740fae325b72de24d2ecafea6c092c49a6ee98e24fd1e162f3845db067eb3ac14c8f234743c6290')
b2sums=('f84abc1b8b9ac9508d8a26b64a0f412a6eaac39bbda39500e812cebef30865454e3ae1c3b425d17bccadacf950cc8f23eaadf59f2b9c119f9e0b6e03d12eb9be')
build() {
export SETUPTOOLS_SCM_PRETEND_VERSION=$pkgver
cd $pkgname-$pkgver
python -m build --wheel --no-isolation
}
check() {
local site_packages=$(python -c "import site; print(site.getsitepackages()[0])")
local pytest_options=(
--deselect test/azure/functional/test_azure.py::test_azure_command_init_scenario
--deselect test/containers/functional/test_containers.py::test_containers_command_init_scenario
--deselect test/podman/test_func.py::test_podman_command_init_scenario
--deselect test/podman/test_func.py::test_sample
--deselect test/podman/test_func.py::test_dockerfile
--deselect test/vagrant/functional/test_func.py::test_vagrant_command_init_scenario
--deselect test/vagrant/functional/test_func.py::test_invalid_settings
--deselect test/vagrant/functional/test_func.py::test_vagrant_root[vagrant_root]
--deselect test/vagrant/functional/test_func.py::test_vagrant_root[config_options]
--deselect test/vagrant/functional/test_func.py::test_vagrant_root[provider_config_options]
--deselect test/vagrant/functional/test_func.py::test_vagrant_root[default]
--deselect test/vagrant/functional/test_func.py::test_vagrant_root[default-compat]
--deselect test/vagrant/functional/test_func.py::test_vagrant_root[network]
--deselect test/vagrant/functional/test_func.py::test_vagrant_root[hostname]
--deselect test/vagrant/functional/test_func.py::test_multi_node
-vv
)
cd $pkgname-$pkgver
# install to temporary location, as importlib is used
python -m installer --destdir=test_dir dist/*.whl
export PYTHONPATH="test_dir/$site_packages:$PYTHONPATH"
# skip tests that would fail because of missing interpreters: https://github.com/pdm-project/pdm/issues/1175
pytest "${pytest_options[@]}"
}
package() {
cd $pkgname-$pkgver
python -m installer --destdir="$pkgdir" dist/*.whl
install -vDm 644 LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/"
install -vDm 644 README.md -t "$pkgdir/usr/share/doc/$pkgname/"
install -vDm 644 doc/ec2/*.rst -t "$pkgdir/usr/share/doc/$pkgname/ec2"
install -vDm 644 doc/vagrant/*.rst -t "$pkgdir/usr/share/doc/$pkgname/vagrant"
}
|