From: Tim Duesterhus Date: Fri, 14 Oct 2022 17:46:06 +0000 (+0200) Subject: CI: Replace the deprecated `::set-output` command by writing to $GITHUB_OUTPUT in... X-Git-Tag: v2.7-dev8~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8a03bf4052884a38ceb01274b8344676cc71a06f;p=thirdparty%2Fhaproxy.git 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 19ae87d79c..76e0893a7b 100755 --- a/.github/matrix.py +++ b/.github/matrix.py @@ -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)