Skip to content

Commit 1f0772f

Browse files
authored
Check installed packages (#1)
* check installed packages/versions * added CI
1 parent 150cc38 commit 1f0772f

File tree

2 files changed

+66
-8
lines changed

2 files changed

+66
-8
lines changed
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
name: install wheels
2+
3+
on: [push]
4+
5+
jobs:
6+
build:
7+
runs-on: ubuntu-latest
8+
env:
9+
VERSION: "0.9.1"
10+
USER: cms-l1-globaltrigger
11+
strategy:
12+
matrix:
13+
python-version: ["3.6", "3.7", "3.8", "3.9"]
14+
steps:
15+
- uses: actions/checkout@v2
16+
- name: Set up Python ${{ matrix.python-version }}
17+
uses: actions/setup-python@v2
18+
with:
19+
python-version: ${{ matrix.python-version }}
20+
- name: Install dependencies
21+
run: |
22+
python -m pip install --upgrade pip
23+
- name: Install wheels
24+
run: |
25+
python -m pip install git+https://github.com/${{ env.USER }}/tm-python.git@${{ env.VERSION }}
26+
- name: Verify packages
27+
run: |
28+
python -c "from tmTable import __version__; assert __version__ == '${{ env.VERSION }}'"
29+
python -c "from tmGrammar import __version__; assert __version__ == '${{ env.VERSION }}'"
30+
python -c "from tmEventSetup import __version__; assert __version__ == '${{ env.VERSION }}'"

setup.py

Lines changed: 36 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,11 @@
22
from setuptools import setup
33

44
UTM_VERSION = '0.9.1'
5+
BASE_URL = 'https://github.com/cms-l1-globaltrigger'
56

67
def _version():
78
"""Returns major and minor interpreter version."""
8-
return "{}{}".format(sys.version_info[0], sys.version_info[1])
9+
return '{}{}'.format(sys.version_info[0], sys.version_info[1])
910

1011
def _platform():
1112
"""Returns platform signature for wheels."""
@@ -15,19 +16,46 @@ def _platform():
1516
return 'darwin'
1617
raise ValueError("Platform not supported: {}".format(sys.platform))
1718

18-
# Note: no more 'm' abiflag since Python 3.8.0
19-
WHEEL_SIGNATURE = 'cp{0}-cp{0}{2}-{1}_x86_64'.format(_version(), _platform(), sys.abiflags)
19+
def _signature():
20+
# Note: no more 'm' abiflag since Python 3.8
21+
return 'cp{0}-cp{0}{1}-{2}_x86_64'.format(_version(), sys.abiflags, _platform())
22+
23+
def _wheel_name(name, version):
24+
basename = name.replace('-', '_')
25+
return '{0}-{1}-{2}.whl'.format(basename, version, _signature())
26+
27+
def _require(name, version):
28+
filename = _wheel_name(name, version)
29+
return '{0} @ {1}/{0}/releases/download/{2}/{3}'.format(name, BASE_URL, version, filename)
30+
31+
install_requires = []
32+
33+
try:
34+
from tmTable import __version__
35+
assert __version__ == UTM_VERSION
36+
except (ModuleNotFoundError, ImportError, AssertionError):
37+
install_requires.append(_require('tm-table', UTM_VERSION))
38+
39+
try:
40+
from tmGrammar import __version__
41+
assert __version__ == UTM_VERSION
42+
except (ModuleNotFoundError, ImportError, AssertionError):
43+
install_requires.append(_require('tm-grammar', UTM_VERSION))
44+
45+
try:
46+
from tmEventSetup import __version__
47+
assert __version__ == UTM_VERSION
48+
except (ModuleNotFoundError, ImportError, AssertionError):
49+
install_requires.append(_require('tm-eventsetup', UTM_VERSION))
50+
51+
print(install_requires)
2052

2153
setup(
2254
name='tm-python',
2355
version=UTM_VERSION,
2456
author="Bernhard Arnold",
2557
author_email="[email protected]",
2658
description="""Meta package providing Python bindings for tmTable, tmGrammar and tmEventSetup""",
27-
install_requires=[
28-
'tm-table @ https://github.com/cms-l1-globaltrigger/tm-table/releases/download/{0}/tm_table-{0}-{1}.whl'.format(UTM_VERSION, WHEEL_SIGNATURE),
29-
'tm-grammar @ https://github.com/cms-l1-globaltrigger/tm-grammar/releases/download/{0}/tm_grammar-{0}-{1}.whl'.format(UTM_VERSION, WHEEL_SIGNATURE),
30-
'tm-eventsetup @ https://github.com/cms-l1-globaltrigger/tm-eventsetup/releases/download/{0}/tm_eventsetup-{0}-{1}.whl'.format(UTM_VERSION, WHEEL_SIGNATURE)
31-
],
59+
install_requires=install_requires,
3260
license="GPLv3"
3361
)

0 commit comments

Comments
 (0)