[buildbot] ci: add basic config checking with ruff
LEDE Commits
lede-commits at lists.infradead.org
Tue May 16 08:56:00 PDT 2023
ynezz pushed a commit to buildbot.git, annotated tag v3:
https://git.openwrt.org/bc489fdb40c64f899957a139fbe3e4049a9f80d2
commit bc489fdb40c64f899957a139fbe3e4049a9f80d2
Author: Petr Štetiar <ynezz at true.cz>
AuthorDate: Tue May 16 12:57:56 2023 +0200
ci: add basic config checking with ruff
Signed-off-by: Petr Štetiar <ynezz at true.cz>
---
.github/workflows/build-push.yml | 29 +++++++++++++++++++++++++++++
.gitignore | 2 ++
.ruff.toml | 1 +
phase1/master.cfg | 14 +++++++-------
phase2/master.cfg | 9 ++++-----
requirements-dev.txt | 2 ++
6 files changed, 45 insertions(+), 12 deletions(-)
diff --git a/.github/workflows/build-push.yml b/.github/workflows/build-push.yml
index 666c9e3..b6f1c3c 100644
--- a/.github/workflows/build-push.yml
+++ b/.github/workflows/build-push.yml
@@ -15,9 +15,38 @@ concurrency:
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
jobs:
+ test-lint:
+ name: Test with Python ${{ matrix.python-version }}
+ runs-on: ubuntu-latest
+
+ strategy:
+ matrix:
+ python-version:
+ - "3.9"
+ - "3.10"
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout at v3
+
+ - uses: actions/setup-python at v4
+ with:
+ python-version: ${{ matrix.python-version }}
+
+ - name: Install dependencies
+ run: pip install -r requirements-dev.txt
+
+ - name: Lint with ruff
+ run: ruff phase*/master.cfg
+
+# FIXME
+# - name: Stylecheck with black
+# run: black phase*/master.cfg
+
build-test-push:
name: Build, test and push containers
runs-on: ubuntu-latest
+ needs: test-lint
permissions:
packages: write
diff --git a/.gitignore b/.gitignore
index 3a2e179..a94d1d2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -23,3 +23,5 @@ phase[12]/twistd.*
!.gitlab/**/*
!.github
!.github/**/*
+!requirements-dev.txt
+!.ruff.toml
diff --git a/.ruff.toml b/.ruff.toml
new file mode 100644
index 0000000..f419fc5
--- /dev/null
+++ b/.ruff.toml
@@ -0,0 +1 @@
+ignore = ["E501"]
diff --git a/phase1/master.cfg b/phase1/master.cfg
index 00d744c..c392c5f 100644
--- a/phase1/master.cfg
+++ b/phase1/master.cfg
@@ -608,7 +608,7 @@ def UsignSec2Pub(props):
comment = branches[branch].get("usign_comment") or "untrusted comment: secret key"
seckey = branches[branch].get("usign_key")
seckey = base64.b64decode(seckey)
- except:
+ except Exception:
return None
return "{}\n{}".format(re.sub(r"\bsecret key$", "public key", comment),
@@ -710,12 +710,12 @@ for target in targets:
# check out the source
# Git() runs:
- # if repo doesn't exist: 'git clone repourl'
- # method 'clean' runs 'git clean -d -f', method fresh runs 'git clean -f -f -d -x'. Only works with mode='full'
- # git cat-file -e <commit>
- # git checkout -f <commit>
- # git checkout -B <branch>
- # git rev-parse HEAD
+ # if repo doesn't exist: 'git clone repourl'
+ # method 'clean' runs 'git clean -d -f', method fresh runs 'git clean -f -f -d -x'. Only works with mode='full'
+ # git cat-file -e <commit>
+ # git checkout -f <commit>
+ # git checkout -B <branch>
+ # git rev-parse HEAD
factory.addStep(Git(
name = "git",
repourl = repo_url,
diff --git a/phase2/master.cfg b/phase2/master.cfg
index 8b7df6a..e19a731 100644
--- a/phase2/master.cfg
+++ b/phase2/master.cfg
@@ -5,7 +5,6 @@ import os
import re
import sys
import base64
-import random
import subprocess
import configparser
@@ -93,7 +92,7 @@ max_builds = dict()
for section in ini.sections():
if section.startswith("worker "):
if ini.has_option(section, "name") and ini.has_option(section, "password") and \
- ini.has_option(section, "phase") and ini.getint(section, "phase") == 2:
+ ini.has_option(section, "phase") and ini.getint(section, "phase") == 2:
name = ini.get(section, "name")
password = ini.get(section, "password")
sl_props = { 'shared_wd': False }
@@ -324,7 +323,7 @@ def IsArchitectureSelected(target):
def UsignSec2Pub(seckey, comment="untrusted comment: secret key"):
try:
seckey = base64.b64decode(seckey)
- except:
+ except Exception:
return None
return "{}\n{}".format(re.sub(r"\bsecret key$", "public key", comment),
@@ -367,7 +366,7 @@ def getNewestCompleteTime(bldr):
if last_build and last_build[0]:
last_complete_at = last_build[0]['complete_at']
if last_complete_at and (last_complete_at > complete_at):
- return last_complete_at
+ return last_complete_at
return complete_at
@@ -762,7 +761,7 @@ for arch in arches:
description = "Uploading source archives",
workdir = "build/sdk",
command = ["rsync", "--files-from=sourcelist", "-4", "--progress", "--checksum", "--delay-updates",
- WithProperties("--partial-dir=.~tmp~%s~%%(workername)s" %(arch[0])), "-avz", "dl/", "%s/" %(rsync_src_url)],
+ WithProperties("--partial-dir=.~tmp~%s~%%(workername)s" %(arch[0])), "-avz", "dl/", "%s/" %(rsync_src_url)],
env={'RSYNC_PASSWORD': rsync_src_key},
haltOnFailure = False,
flunkOnFailure = False,
diff --git a/requirements-dev.txt b/requirements-dev.txt
new file mode 100644
index 0000000..a14cc03
--- /dev/null
+++ b/requirements-dev.txt
@@ -0,0 +1,2 @@
+black==23.3.0
+ruff==0.0.267
More information about the lede-commits
mailing list