Skip to content
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
1 change: 1 addition & 0 deletions docker/config.ini
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ status_password = admin
buildbot_url = http://buildmaster-phase1:8010/
expire = 1209600
port = ssl:9989:privateKey=/certs/master.key:certKey=/certs/master.crt
feeds_host_override = github.com/openwrt
config_seed = # Seed configuration
CONFIG_BUILDBOT=y
CONFIG_DEVEL=y
Expand Down
1 change: 1 addition & 0 deletions phase1/config.ini.example
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ status_bind = tcp:8010:interface=127.0.0.1
status_user = example
status_password = example
port = 9989
feeds_host_override =

[irc]
host = irc.freenode.net
Expand Down
52 changes: 52 additions & 0 deletions phase1/master.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,7 @@ def ini_parse_branch(section):

# PB port can be either a numeric port or a connection string
pb_port = inip1.get("port") or 9989
feeds_host_override = inip1.get("feeds_host_override", "").strip()

# This is the dictionary that the buildmaster pays attention to. We also use
# a shorter alias to save typing.
Expand Down Expand Up @@ -609,6 +610,15 @@ def IsRemoteShaSumsAvailable(step):
return step.getProperty("have_remote_shasums")


def IsFeedsHostOverrideEnabled(step):
return bool(feeds_host_override)


@util.renderer
def GetFeedsHostOverride(props):
return feeds_host_override


def GetBaseVersion(branch):
if re.match(r"^[^-]+-[0-9]+\.[0-9]+$", branch):
return branch.split("-")[1]
Expand Down Expand Up @@ -986,6 +996,37 @@ def prepareFactory(target):
)
)

factory.addStep(
ShellCommand(
name="feeds-backup",
description="Backing up feeds.conf.default",
descriptionDone="feeds.conf.default backed up",
command=["cp", "-p", "feeds.conf.default", "feeds.conf.default.bak"],
doStepIf=IsFeedsHostOverrideEnabled,
haltOnFailure=True,
)
)

factory.addStep(
ShellCommand(
name="feeds-override",
description="Overriding feeds host",
descriptionDone="Feeds host overridden",
command=[
"sed",
"-i",
"-E",
Interpolate(
"s;git.openwrt.org/(feed|project);%(kw:host)s;",
host=GetFeedsHostOverride,
),
"feeds.conf.default",
],
doStepIf=IsFeedsHostOverrideEnabled,
haltOnFailure=True,
)
)

# feed
factory.addStep(
ShellCommand(
Expand All @@ -998,6 +1039,17 @@ def prepareFactory(target):
)
)

factory.addStep(
ShellCommand(
name="feeds-restore",
description="Restoring feeds.conf.default",
descriptionDone="feeds.conf.default restored",
command="test -f feeds.conf.default.bak && mv -f feeds.conf.default.bak feeds.conf.default || true",
doStepIf=IsFeedsHostOverrideEnabled,
haltOnFailure=True,
)
)

# feed
factory.addStep(
ShellCommand(
Expand Down
Loading