diff --git a/jenkins_jobs/modules/publishers.py b/jenkins_jobs/modules/publishers.py
index c3df0620e..aef65bf4a 100755
--- a/jenkins_jobs/modules/publishers.py
+++ b/jenkins_jobs/modules/publishers.py
@@ -144,6 +144,8 @@ def archive(registry, xml_parent, data):
successful build
:arg bool allow-empty: pass the build if no artifacts are
found (default false)
+ :arg bool follow-symlinks: follow symbolic links during archiving
+ (default false)
:arg bool only-if-success: archive artifacts only if build is successful
(default false)
:arg bool fingerprint: fingerprint all archived artifacts (default false)
@@ -166,6 +168,7 @@ def archive(registry, xml_parent, data):
("default-excludes", "defaultExcludes", True),
("case-sensitive", "caseSensitive", True),
("latest-only", "latestOnly", False),
+ ("follow-symlinks", "followSymlinks", False),
]
if "excludes" in data:
diff --git a/tests/__init__.py b/tests/__init__.py
new file mode 100644
index 000000000..e69de29bb
diff --git a/tests/publishers/fixtures/archive001.xml b/tests/publishers/fixtures/archive001.xml
index e95aac653..66f2ab392 100644
--- a/tests/publishers/fixtures/archive001.xml
+++ b/tests/publishers/fixtures/archive001.xml
@@ -9,6 +9,7 @@
false
true
false
+ false
diff --git a/tests/publishers/fixtures/archive002.xml b/tests/publishers/fixtures/archive002.xml
index 8d48f9460..5e52d8d6c 100644
--- a/tests/publishers/fixtures/archive002.xml
+++ b/tests/publishers/fixtures/archive002.xml
@@ -9,6 +9,7 @@
true
true
false
+ false
path
diff --git a/tests/publishers/fixtures/archive003.xml b/tests/publishers/fixtures/archive003.xml
index 0b9747362..3720f9f95 100644
--- a/tests/publishers/fixtures/archive003.xml
+++ b/tests/publishers/fixtures/archive003.xml
@@ -9,6 +9,7 @@
true
false
false
+ true
diff --git a/tests/publishers/fixtures/archive003.yaml b/tests/publishers/fixtures/archive003.yaml
index 00fa79281..64f6c925a 100644
--- a/tests/publishers/fixtures/archive003.yaml
+++ b/tests/publishers/fixtures/archive003.yaml
@@ -5,3 +5,4 @@ publishers:
only-if-success: 'false'
fingerprint: true
case-sensitive: false
+ follow-symlinks: true
diff --git a/tests/publishers/fixtures/conditional-publisher001.xml b/tests/publishers/fixtures/conditional-publisher001.xml
index f0b1a224b..fa8b54b16 100644
--- a/tests/publishers/fixtures/conditional-publisher001.xml
+++ b/tests/publishers/fixtures/conditional-publisher001.xml
@@ -27,6 +27,7 @@
true
true
false
+ false
diff --git a/tests/publishers/fixtures/conditional-publisher003.xml b/tests/publishers/fixtures/conditional-publisher003.xml
index 8da31ea8a..b75392c61 100644
--- a/tests/publishers/fixtures/conditional-publisher003.xml
+++ b/tests/publishers/fixtures/conditional-publisher003.xml
@@ -15,6 +15,7 @@
true
true
false
+ false
true
diff --git a/tests/publishers/fixtures/conditional-publisher004.xml b/tests/publishers/fixtures/conditional-publisher004.xml
index 91a2e633b..1758f1022 100644
--- a/tests/publishers/fixtures/conditional-publisher004.xml
+++ b/tests/publishers/fixtures/conditional-publisher004.xml
@@ -17,6 +17,7 @@
true
true
false
+ false
diff --git a/tests/publishers/fixtures/conditional-publisher005.xml b/tests/publishers/fixtures/conditional-publisher005.xml
index c926661c6..ef0f28ebd 100644
--- a/tests/publishers/fixtures/conditional-publisher005.xml
+++ b/tests/publishers/fixtures/conditional-publisher005.xml
@@ -16,6 +16,7 @@
true
true
false
+ false
diff --git a/tox.ini b/tox.ini
index 05822d942..dceda554c 100644
--- a/tox.ini
+++ b/tox.ini
@@ -23,7 +23,7 @@ commands =
# test that we can call jjb using both variants with same results
bash {toxinidir}/tools/test-commands.sh
pytest {posargs}
-whitelist_externals =
+allowlist_externals =
bash
find