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.
This commit is contained in:
Tim Duesterhus 2022-10-14 19:46:06 +02:00 committed by Willy Tarreau
parent 5d1e1317c2
commit 8a03bf4052
1 changed files with 4 additions and 1 deletions

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)