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.

(cherry picked from commit 8a03bf4052)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
This commit is contained in:
Tim Duesterhus 2022-10-14 19:46:06 +02:00 committed by Christopher Faulet
parent 252ac81019
commit 7258191d11

5
.github/matrix.py vendored
View File

@ -12,6 +12,7 @@ import json
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 @@ for CC in ["clang"]:
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)