CI: Replace the deprecated `::set-output` command by writing to $GITHUB_OUTPUT in matrix.py
As announced in
https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
the `::set-output` command is deprecated, because processes during the workflow
execution might output untrusted information that might include the
`::set-output` command, thus allowing these untrusted information to hijack the
build.
The replacement is writing to the file indicated by the `$GITHUB_OUTPUT`
environment variable.
diff --git a/.github/matrix.py b/.github/matrix.py
index 19ae87d..76e0893 100755
--- a/.github/matrix.py
+++ b/.github/matrix.py
@@ -12,6 +12,7 @@
import sys
import urllib.request
import re
+from os import environ
if len(sys.argv) == 2:
build_type = sys.argv[1]
@@ -208,4 +209,6 @@
print(json.dumps(matrix, indent=4, sort_keys=True))
-print("::set-output name=matrix::{}".format(json.dumps({"include": matrix})))
+if environ.get('GITHUB_OUTPUT') is not None:
+ with open(environ.get('GITHUB_OUTPUT'), 'a') as f:
+ print("matrix={}".format(json.dumps({"include": matrix})), file=f)