actions: rebuild targets if includes change
This commit is contained in:
parent
3f7c0b3ae8
commit
27cd003d1b
16
.github/filters.yml
vendored
16
.github/filters.yml
vendored
@ -21,7 +21,8 @@
|
||||
"Makefile",
|
||||
"patches/**",
|
||||
"targets/generic",
|
||||
"targets/targets.mk"
|
||||
"targets/targets.mk",
|
||||
"targets/bcm27xx.inc"
|
||||
],
|
||||
"bcm27xx-bcm2709": [
|
||||
"targets/bcm27xx-bcm2709",
|
||||
@ -29,7 +30,8 @@
|
||||
"Makefile",
|
||||
"patches/**",
|
||||
"targets/generic",
|
||||
"targets/targets.mk"
|
||||
"targets/targets.mk",
|
||||
"targets/bcm27xx.inc"
|
||||
],
|
||||
"ipq40xx-generic": [
|
||||
"targets/ipq40xx-generic",
|
||||
@ -133,7 +135,8 @@
|
||||
"Makefile",
|
||||
"patches/**",
|
||||
"targets/generic",
|
||||
"targets/targets.mk"
|
||||
"targets/targets.mk",
|
||||
"targets/x86.inc"
|
||||
],
|
||||
"x86-geode": [
|
||||
"targets/x86-geode",
|
||||
@ -149,7 +152,8 @@
|
||||
"Makefile",
|
||||
"patches/**",
|
||||
"targets/generic",
|
||||
"targets/targets.mk"
|
||||
"targets/targets.mk",
|
||||
"targets/x86.inc"
|
||||
],
|
||||
"x86-64": [
|
||||
"targets/x86-64",
|
||||
@ -158,6 +162,7 @@
|
||||
"patches/**",
|
||||
"targets/generic",
|
||||
"targets/targets.mk",
|
||||
"targets/x86.inc",
|
||||
"contrib/ci/minimal-site/**",
|
||||
"package/**"
|
||||
],
|
||||
@ -167,7 +172,8 @@
|
||||
"Makefile",
|
||||
"patches/**",
|
||||
"targets/generic",
|
||||
"targets/targets.mk"
|
||||
"targets/targets.mk",
|
||||
"targets/bcm27xx.inc"
|
||||
],
|
||||
"mvebu-cortexa9": [
|
||||
"targets/mvebu-cortexa9",
|
||||
|
2
Makefile
2
Makefile
@ -104,7 +104,7 @@ update-modules: FORCE
|
||||
@scripts/update-modules.sh
|
||||
|
||||
update-ci: FORCE
|
||||
@scripts/update-ci.sh
|
||||
@$(GLUON_ENV) scripts/update-ci.sh
|
||||
|
||||
GLUON_TARGETS :=
|
||||
|
||||
|
@ -3,6 +3,8 @@
|
||||
# Update target filters using
|
||||
# make update-ci
|
||||
|
||||
import re
|
||||
import os
|
||||
import sys
|
||||
import json
|
||||
|
||||
@ -23,6 +25,13 @@ extra = [
|
||||
|
||||
_filter = dict()
|
||||
|
||||
# INCLUDE_PATTERN matches:
|
||||
# include '...'
|
||||
# include "..."
|
||||
# include("...")
|
||||
# include('...')
|
||||
INCLUDE_PATTERN = "^\\s*include *\\(? *[\"']([^\"']+)[\"']"
|
||||
|
||||
# construct filters map from stdin
|
||||
for target in sys.stdin:
|
||||
target = target.strip()
|
||||
@ -31,6 +40,11 @@ for target in sys.stdin:
|
||||
f"targets/{target}"
|
||||
] + common
|
||||
|
||||
target_file = os.path.join(os.environ['GLUON_TARGETSDIR'], target)
|
||||
with open(target_file) as f:
|
||||
includes = re.findall(INCLUDE_PATTERN, f.read(), re.MULTILINE)
|
||||
_filter[target].extend([f"targets/{i}" for i in includes])
|
||||
|
||||
if target == "x86-64":
|
||||
_filter[target].extend(extra)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user