Skip to content
Snippets Groups Projects
Commit 26afb658 authored by !! Julian Keck (old Account; do not use) !!'s avatar !! Julian Keck (old Account; do not use) !! :ghost: Committed by Julian Keck
Browse files

ADD initial ci for debian

parent a1273fb2
No related branches found
No related tags found
No related merge requests found
Checking pipeline status
......@@ -50,3 +50,25 @@ build:
only:
- main
- devel
debian:
stage: build
resource_group: deb-${CI_COMMIT_BRANCH} # this prevents parallel (potentially racy) pipeline runs
script:
- apt-get install -y --no-install-recommends build-essential cdbs devscripts equivs fakeroot debhelper curl unzip
- curl https://gitlab.kit.edu/api/v4/projects/170104/jobs/artifacts/debian/download?job=build | funzip /dev/stdin > api-generator.deb
- apt-get install -yf ./api-generator.deb
- rm ./api-generator.deb
- export PROJECT_ROOT=$(pwd)
- mkdir /tmp/build/
- cp -r . /tmp/build/netdb_client
- cd /tmp/build/netdb_client/
- mk-build-deps -ir -t "apt-get -o Debug::pkgProblemResolver=yes -y --no-install-recommends"
- debuild -b -uc -us
- cp /tmp/build/*.deb $PROJECT_ROOT
artifacts:
paths:
- ./*.deb
expire_in: 7 days
only:
- debian
netdb-client (0.1-1) UNRELEASED; urgency=medium
* Initial release.
-- Julian Keck <julian.keck9@kit.edu> Thu, 28 Mar 2024 09:45:10 +0100
Source: netdb-client
Maintainer: Julian Keck <julian.keck9@kit.edu>
Section: python
Priority: optional
Build-Depends:
debhelper-compat (= 13),
dh-python,
python3-all,
python3-setuptools,
python3-semver,
python3-wheel,
python3-requests,
aptitude
Standards-Version: 4.6.2
Homepage: https://gitlab.kit.edu/scc-net/netvs/netdb-client
Vcs-Git: https://gitlab.kit.edu/scc-net/netvs/netdb-client.git
Vcs-Browser: https://gitlab.kit.edu/scc-net/netvs/netdb-client
Rules-Requires-Root: no
Package: python3-netdb-client
Architecture: all
Multi-Arch: foreign
Depends:
${misc:Depends},
${python3:Depends}
Description: TODO Better description
Bla bla blablabl jasfasd a
--- a/setup.py
+++ b/setup.py
@@ -4,12 +4,34 @@
import os
import requests
import semver
+
+
+# True: a is larger
+def cmp_semver(a, b) -> bool:
+ for k in ['major', 'minor', 'patch', 'prerelease', 'build']:
+ if a[k] > b[k]:
+ return True
+ if b[k] > a[k]:
+ return False
+ return True
+
+def semver_str(sv) -> str:
+ result = ""
+ if "major" in sv and sv["major"] is not None:
+ result += str(sv["major"])
+ if "minor" in sv and sv["minor"] is not None:
+ result += str(sv["minor"])
+ if "patch" in sv and sv["patch"] is not None:
+ result += "." + str(sv["patch"])
+ if "prerelease" in sv and sv["prerelease"] is not None:
+ result += "-" + str(sv["prerelease"])
+ return result.lstrip(".").lstrip("-").rstrip(".").rstrip("-")
-vers = requests.get(f"{os.environ.get('NETDB_SCHEME', 'https')}://{os.environ.get('NETDB_ENDPOINT')}").json()[0]
+vers = requests.get(f"{os.environ.get('NETDB_SCHEME', 'https')}://{os.environ.get('NETDB_ENDPOINT')}", proxies={os.environ.get('NETDB_SCHEME', 'https'): ''}).json()[0]
largest_ver = None
for v in vers:
- sem_v = semver.Version.parse(v['numeric'])
- if largest_ver is None or largest_ver < sem_v:
+ sem_v = semver.parse(v['numeric'])
+ if largest_ver is None or cmp_semver(sem_v, largest_ver):
largest_ver = sem_v
latest_previous_util_version = os.environ.get('LATEST_UTIL_VERSION', None)
@@ -19,14 +41,16 @@
post_version = None
def get_gen_version():
- ver = subprocess.run(["pip freeze | grep net_api_generator"], shell=True, text=True, check=True, capture_output=True).stdout
- return ver.split('@')[-1][:12]
+ ver = subprocess.run(["aptitude show python3-net-api-generator | grep Version"], shell=True, text=True, check=True, capture_output=True).stdout
+ return ver.split(': ')[-1]
class APIGenBuild(build_py):
def run(self):
build_versions = [f'{v["major"]}.{v["minor"]}' for v in vers]
- default_version = f'{largest_ver.major}.{largest_ver.minor}'
+ default_version = f'{largest_ver["major"]}.{largest_ver["minor"]}'
environ = os.environ.copy()
+ environ['http_proxy'] = ""
+ environ['https_proxy'] = ""
for version in build_versions:
target_dir = os.path.join(self.build_lib, 'netdb_client', f"api{version.replace('.', '')}")
self.mkpath(target_dir)
@@ -47,7 +71,7 @@
setup(
name='netdb_client',
- version=f'{str(largest_ver)}{".post" + str(post_version) if post_version is not None else ""}{".dev1" if os.environ.get("CI_COMMIT_BRANCH", "local") == "devel" else ""}+{util_version}',
+ version=f'{semver_str(largest_ver)}{".post" + semver_str(post_version) if post_version is not None else ""}{".dev1" if os.environ.get("CI_COMMIT_BRANCH", "local") == "devel" else ""}+{util_version}',
author='NETVS-Team <netvs@scc.kit.edu>',
description='This is a meta package to install the automatically generated NET-API definitions for the currently supported API versions.',
url='https://git.scc.kit.edu/scc-net/net-suite/netdb-client-lib',
01-initial-patch
initial-upload-closes-no-bugs
#!/usr/bin/make -f
export PYBUILD_NAME=netdb-client
export PYBUILD_TEST_PYTEST=0
export NETDB_ENDPOINT=api.netdb.scc.kit.edu
export https_proxy=""
export http_proxy=""
BUILD_DATE = $(shell LC_ALL=C date -u "+%B %d, %Y" -d "@$(SOURCE_DATE_EPOCH)")
%:
dh $@ --with python3 --buildsystem=pybuild
missing-prerequisite-for-pyproject-backend
debian-watch-file-is-missing
very-long-line-length-in-source-file
3.0 (quilt)
Bug-Database: https://gitlab.kit.edu/scc-net/netvs/netdb-client/-/issues
Bug-Submit: https://gitlab.kit.edu/scc-net/netvs/netdb-client/-/issues
Repository: https://gitlab.kit.edu/scc-net/netvs/netdb-client
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment