From 3906087e28a515b093e2ef815128da476115e392 Mon Sep 17 00:00:00 2001 From: Istvan Soos Date: Thu, 1 Sep 2022 14:56:25 +0200 Subject: [PATCH 1/3] Automatically create OIDC token for pub.dev. --- setup.sh | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/setup.sh b/setup.sh index 9d04558..6264d6c 100755 --- a/setup.sh +++ b/setup.sh @@ -104,3 +104,11 @@ echo "${RUNNER_TOOL_CACHE}/dart-sdk/bin" >> $GITHUB_PATH # Report success, and print version. echo -e "Successfully installed Dart SDK:" ${RUNNER_TOOL_CACHE}/dart-sdk/bin/dart --version + +# When enabled through env variables, create OIDC token for publishing on pub.dev. +if [[ "${ACTIONS_ID_TOKEN_REQUEST_URL}" != "" && "${ACTIONS_ID_TOKEN_REQUEST_TOKEN}" != "" ]] +then + PUB_TOKEN=$(curl --retry 5 --retry-connrefused -sLS "${ACTIONS_ID_TOKEN_REQUEST_URL}&audience=https://pub.dev" -H "User-Agent: actions/oidc-client" -H "Authorization: Bearer $ACTIONS_ID_TOKEN_REQUEST_TOKEN" | jq -r '.value') + echo "PUB_TOKEN=${PUB_TOKEN}" >> $GITHUB_ENV + ${RUNNER_TOOL_CACHE}/dart-sdk/bin/dart pub token add https://pub.dev --env-var PUB_TOKEN +fi From 143e04bff9365a2591cfa70063f1427b6116facf Mon Sep 17 00:00:00 2001 From: Istvan Soos Date: Tue, 22 Nov 2022 10:04:26 +0100 Subject: [PATCH 2/3] test for jq --- setup.sh | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/setup.sh b/setup.sh index 6264d6c..e731dd4 100755 --- a/setup.sh +++ b/setup.sh @@ -108,7 +108,12 @@ ${RUNNER_TOOL_CACHE}/dart-sdk/bin/dart --version # When enabled through env variables, create OIDC token for publishing on pub.dev. if [[ "${ACTIONS_ID_TOKEN_REQUEST_URL}" != "" && "${ACTIONS_ID_TOKEN_REQUEST_TOKEN}" != "" ]] then - PUB_TOKEN=$(curl --retry 5 --retry-connrefused -sLS "${ACTIONS_ID_TOKEN_REQUEST_URL}&audience=https://pub.dev" -H "User-Agent: actions/oidc-client" -H "Authorization: Bearer $ACTIONS_ID_TOKEN_REQUEST_TOKEN" | jq -r '.value') - echo "PUB_TOKEN=${PUB_TOKEN}" >> $GITHUB_ENV - ${RUNNER_TOOL_CACHE}/dart-sdk/bin/dart pub token add https://pub.dev --env-var PUB_TOKEN + if [[ -x "$(command -v jq)" ]] + then + PUB_TOKEN=$(curl --retry 5 --retry-connrefused -sLS "${ACTIONS_ID_TOKEN_REQUEST_URL}&audience=https://pub.dev" -H "User-Agent: actions/oidc-client" -H "Authorization: Bearer $ACTIONS_ID_TOKEN_REQUEST_TOKEN" | jq -r '.value') + echo "PUB_TOKEN=${PUB_TOKEN}" >> $GITHUB_ENV + ${RUNNER_TOOL_CACHE}/dart-sdk/bin/dart pub token add https://pub.dev --env-var PUB_TOKEN + else + echo "Could not setup OIDC token, 'jq' is not available."; + fi fi From 8307b7f4436d6be1ef56413d94ce202b93d23a4d Mon Sep 17 00:00:00 2001 From: Istvan Soos Date: Tue, 29 Nov 2022 16:01:36 +0100 Subject: [PATCH 3/3] export PUB_TOKEN before calling pub token add --- setup.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/setup.sh b/setup.sh index e731dd4..3096a4d 100755 --- a/setup.sh +++ b/setup.sh @@ -112,6 +112,7 @@ then then PUB_TOKEN=$(curl --retry 5 --retry-connrefused -sLS "${ACTIONS_ID_TOKEN_REQUEST_URL}&audience=https://pub.dev" -H "User-Agent: actions/oidc-client" -H "Authorization: Bearer $ACTIONS_ID_TOKEN_REQUEST_TOKEN" | jq -r '.value') echo "PUB_TOKEN=${PUB_TOKEN}" >> $GITHUB_ENV + export PUB_TOKEN ${RUNNER_TOOL_CACHE}/dart-sdk/bin/dart pub token add https://pub.dev --env-var PUB_TOKEN else echo "Could not setup OIDC token, 'jq' is not available.";