From f890f3ee23f31d08efd3baecff28b2776aa14c1d Mon Sep 17 00:00:00 2001 From: Matt Clarkson Date: Thu, 30 Nov 2023 14:21:43 +0000 Subject: [PATCH 1/3] chore: add license for icon --- .reuse/dep5 | 1 + 1 file changed, 1 insertion(+) diff --git a/.reuse/dep5 b/.reuse/dep5 index 520870b..9beec11 100644 --- a/.reuse/dep5 +++ b/.reuse/dep5 @@ -15,6 +15,7 @@ Copyright: 2023 Arm Ltd. License: MIT Files: + icon.svg package.json package-lock.json .releaserc.yml -- GitLab From 6edb8a24d834622ecfe29c49a5e80962a7029121 Mon Sep 17 00:00:00 2001 From: Matt Clarkson Date: Thu, 30 Nov 2023 14:21:53 +0000 Subject: [PATCH 2/3] chore: update release plugins --- package-lock.json | 22 +++++++++++----------- package.json | 6 +++--- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/package-lock.json b/package-lock.json index d61c5b7..94a26c4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6,11 +6,11 @@ "": { "devDependencies": { "@bazel/bazelisk": "^1", - "@semantic-release/bzlmod": "https://gitlab.arm.com/semantic-release/bzlmod/-/releases/permalink/latest/downloads/package.tar.gz", + "@semantic-release/bzlmod": "https://gitlab.arm.com/semantic-release/bzlmod/-/releases/v1.1.0/downloads/package.tar.gz", "@semantic-release/changelog": "^6", "@semantic-release/commit-analyzer": "^11", - "@semantic-release/config-gitlab-bzlmod": "https://gitlab.arm.com/semantic-release/config-gitlab-bzlmod/-/releases/permalink/latest/downloads/package.tar.gz", - "@semantic-release/config-release-channels": "https://gitlab.arm.com/semantic-release/config-release-channels/-/releases/permalink/latest/downloads/package.tar.gz", + "@semantic-release/config-gitlab-bzlmod": "https://gitlab.arm.com/semantic-release/config-gitlab-bzlmod/-/releases/v1.1.3/downloads/package.tar.gz", + "@semantic-release/config-release-channels": "https://gitlab.arm.com/semantic-release/config-release-channels/-/releases/v1.0.1/downloads/package.tar.gz", "@semantic-release/error": "^4", "@semantic-release/exec": "^6", "@semantic-release/git": "^10", @@ -301,9 +301,9 @@ } }, "node_modules/@semantic-release/bzlmod": { - "version": "1.0.3", - "resolved": "https://gitlab.arm.com/semantic-release/bzlmod/-/releases/permalink/latest/downloads/package.tar.gz", - "integrity": "sha512-KT5fOcI7Ux9kFofiRJUTEjacqUAD0gYmmWVL6YjlQku1Klm6zRKFpoqdGe87gsuU6zmhBU2rSqFIF1F/0a8bkA==", + "version": "1.1.0", + "resolved": "https://gitlab.arm.com/semantic-release/bzlmod/-/releases/v1.1.0/downloads/package.tar.gz", + "integrity": "sha512-NFcTCD3eFWaiFeokWz4Nk35VWk2dBvJsQyGp8Nvf39wR0OYvFYz5UJJhnbZlTiluh99AgJw4YjC+hUw4slyUwA==", "dev": true, "license": "MIT", "dependencies": { @@ -366,13 +366,13 @@ } }, "node_modules/@semantic-release/config-gitlab-bzlmod": { - "version": "1.0.7", - "resolved": "https://gitlab.arm.com/semantic-release/config-gitlab-bzlmod/-/releases/permalink/latest/downloads/package.tar.gz", - "integrity": "sha512-KNrGytl9F7hgVvM63D+vYf6RTU3aAybDQhzSwgxtbMn/7gQdb/KErrYC1Mbsh/YQRqeWXDH6QSZTY8xedAFJFA==", + "version": "1.1.3", + "resolved": "https://gitlab.arm.com/semantic-release/config-gitlab-bzlmod/-/releases/v1.1.3/downloads/package.tar.gz", + "integrity": "sha512-zqRVybOCJ50/lLOgs4AmR7JAzSkgH1ooP9NlahOeOrTx4tSQzI1bd17CfSu/NLDCof/BjQDw/eKid5J9Zpnx3Q==", "dev": true, "license": "MIT", "peerDependencies": { - "@semantic-release/bzlmod": ">=1", + "@semantic-release/bzlmod": ">=1.1", "@semantic-release/changelog": ">=4", "@semantic-release/commit-analyzer": ">=9", "@semantic-release/exec": ">=4", @@ -385,7 +385,7 @@ }, "node_modules/@semantic-release/config-release-channels": { "version": "1.0.1", - "resolved": "https://gitlab.arm.com/semantic-release/config-release-channels/-/releases/permalink/latest/downloads/package.tar.gz", + "resolved": "https://gitlab.arm.com/semantic-release/config-release-channels/-/releases/v1.0.1/downloads/package.tar.gz", "integrity": "sha512-70GVAu5jT/GWwA2A93dl6h/3/XFPlzoNQt7qYLMureazoVz04h7zjxT1AgJIHwa1eLDhNkNx65Rx1qS3cD7U2g==", "dev": true, "license": "MIT", diff --git a/package.json b/package.json index 71d79a3..552016c 100644 --- a/package.json +++ b/package.json @@ -2,11 +2,11 @@ "private": true, "devDependencies": { "@bazel/bazelisk": "^1", - "@semantic-release/bzlmod": "https://gitlab.arm.com/semantic-release/bzlmod/-/releases/permalink/latest/downloads/package.tar.gz", + "@semantic-release/bzlmod": "https://gitlab.arm.com/semantic-release/bzlmod/-/releases/v1.1.0/downloads/package.tar.gz", "@semantic-release/changelog": "^6", "@semantic-release/commit-analyzer": "^11", - "@semantic-release/config-gitlab-bzlmod": "https://gitlab.arm.com/semantic-release/config-gitlab-bzlmod/-/releases/permalink/latest/downloads/package.tar.gz", - "@semantic-release/config-release-channels": "https://gitlab.arm.com/semantic-release/config-release-channels/-/releases/permalink/latest/downloads/package.tar.gz", + "@semantic-release/config-gitlab-bzlmod": "https://gitlab.arm.com/semantic-release/config-gitlab-bzlmod/-/releases/v1.1.3/downloads/package.tar.gz", + "@semantic-release/config-release-channels": "https://gitlab.arm.com/semantic-release/config-release-channels/-/releases/v1.0.1/downloads/package.tar.gz", "@semantic-release/error": "^4", "@semantic-release/exec": "^6", "@semantic-release/git": "^10", -- GitLab From 3972d59ecffd9eba40e2e27097f9a2bb01e11bdb Mon Sep 17 00:00:00 2001 From: Matt Clarkson Date: Thu, 30 Nov 2023 16:26:50 +0000 Subject: [PATCH 3/3] chore: add a credentials helper --- MODULE.bazel.lock | 2 +- e2e/.bazelrc | 5 ++- e2e/.credentials.sh | 88 +++++++++++++++++++++++++++++++++++++++++++ e2e/MODULE.bazel | 2 +- e2e/MODULE.bazel.lock | 51 +++++++++++++++---------- 5 files changed, 126 insertions(+), 22 deletions(-) create mode 100755 e2e/.credentials.sh diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index 8aa7e5a..986a674 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -1,6 +1,6 @@ { "lockFileVersion": 3, - "moduleFileHash": "47f1b41bdbc26a4d20fdafd2d7f5a61cdb6c671fd0740095d84b5c46cc442450", + "moduleFileHash": "b45910c8ac50b2f3413fb6ce63a545705cff4158537b6f964da471bb98770f7d", "flags": { "cmdRegistries": [ "https://bcr.bazel.build", diff --git a/e2e/.bazelrc b/e2e/.bazelrc index d03b7d4..41c9159 100644 --- a/e2e/.bazelrc +++ b/e2e/.bazelrc @@ -1,7 +1,10 @@ +# Authentication +common --credential_helper=gitlab.arm.com=%workspace%/.credentials.sh + # Enable `bzlmod` common --enable_bzlmod common --registry https://bcr.bazel.build -common --registry=https://gitlab.arm.com/bazel/rules_toolchain/-/releases/v1.0.0-alpha.5/downloads +common --registry=https://gitlab.arm.com/bazel/rules_toolchain/-/releases/v1.0.0-alpha.6/downloads # Build cache build --experimental_guard_against_concurrent_changes diff --git a/e2e/.credentials.sh b/e2e/.credentials.sh new file mode 100755 index 0000000..221c83d --- /dev/null +++ b/e2e/.credentials.sh @@ -0,0 +1,88 @@ +#! /bin/sh + +# https://github.com/bazelbuild/proposals/blob/main/designs/2022-06-07-bazel-credential-helpers.md +# https://github.com/docker/docker-credential-helpers + +# Strict shell +set -o errexit -o nounset + +# Validate the command +if test ${#} != 1; then + printf >&2 'Error: unexpected number of arguments: %s\n' "${#}" + exit 1 +elif test "${1}" != "get"; then + printf >&2 'Error: unexpected credentials command: %s\n' "${1}" + exit 1 +fi + +# Read in the JSON +while IFS= read -r LINE; do + printf >&2 'Error: unexpected newline on stdin: %s\n' "${LINE}" + exit 2 +done +JSON="${LINE}" +readonly JSON + +# "Process" the JSON +URI="${JSON}" +URI="${URI#*{}" +URI="${URI#*\"uri\"}" +URI="${URI#*:}" +URI="${URI#*\"}" +URI="${URI%\}*}" +URI="${URI%\"*}" +readonly URI +printf >&2 'URI: %s\n' "${URI}" + +# Grab the host +HOST="${URI}" +HOST="${HOST#https://}" +HOST="${HOST#http://}" +HOST="${HOST%%/*}" +readonly HOST +printf >&2 'HOST: %s\n' "${HOST}" + +# Attempt to parse the `.netrc` +if test -f "${HOME}/.netrc"; then + while IFS= read -r LINE <&3; do + # shellcheck disable=SC2249 + case "${LINE}" in + "machine "*"${HOST}") + while IFS= read -r LINE <&3; do + case "${LINE}" in + "machine "*) + break + ;; + "password "*) + printf >&2 'Using network run commands\n' + printf '{"headers":{"Authorization": ["Bearer %s"]}}\n' "${LINE##password }" + exit 0 + ;; + esac + done + ;; + esac + done 3<"${HOME}/.netrc" +fi + +if ! test -z ${BZLMOD_TOKEN+x}; then + printf >&2 'Using Bazel Module Token\n' + printf '{"headers":{"PRIVATE-TOKEN": ["%s"]}}\n' "${BZLMOD_TOKEN}" + exit 0 +fi + +if ! test -z ${GITLAB_TOKEN+x}; then + printf >&2 'Using GitLab Token\n' + printf '{"headers":{"PRIVATE-TOKEN": ["%s"]}}\n' "${GITLAB_TOKEN}" + exit 0 +fi + +if ! test -z ${CI_JOB_TOKEN+x}; then + printf >&2 'Using CI Job Token\n' + printf '{"headers":{"JOB-TOKEN": ["%s"]}}\n' "${CI_JOB_TOKEN}" + exit 0 +fi + +printf >&2 'No authentication found\n' +printf '{}\n' +exit 0 diff --git a/e2e/MODULE.bazel b/e2e/MODULE.bazel index 5f1831f..5950ab3 100644 --- a/e2e/MODULE.bazel +++ b/e2e/MODULE.bazel @@ -11,7 +11,7 @@ local_path_override( path = "..", ) -bazel_dep(name = "rules_toolchain", version = "1.0.0-alpha.5") +bazel_dep(name = "rules_toolchain", version = "1.0.0-alpha.6") archive = use_repo_rule("@rules_download//download:defs.bzl", "download_archive") diff --git a/e2e/MODULE.bazel.lock b/e2e/MODULE.bazel.lock index e8e18a1..b73eb04 100644 --- a/e2e/MODULE.bazel.lock +++ b/e2e/MODULE.bazel.lock @@ -1,10 +1,10 @@ { "lockFileVersion": 3, - "moduleFileHash": "3477b8ef81e93759d604281f074c578babadcc8719b8690d4186929da55dc953", + "moduleFileHash": "c98bed9985e834a886ad4ab6e142a15cd0360bb5b540196b2e7b2255bc7539ed", "flags": { "cmdRegistries": [ "https://bcr.bazel.build", - "https://gitlab.arm.com/bazel/rules_toolchain/-/releases/v1.0.0-alpha.5/downloads" + "https://gitlab.arm.com/bazel/rules_toolchain/-/releases/v1.0.0-alpha.6/downloads" ], "cmdModuleOverrides": {}, "allowedYankedVersions": [], @@ -14,9 +14,8 @@ "compatibilityMode": "ERROR" }, "localOverrideHashes": { - "rules_toolchain": "40376b7f2b286e2b47922cf35c49ab73256806d8f016a140a6e0ca8e3fe94475", "bazel_tools": "922ea6752dc9105de5af957f7a99a6933c0a6a712d23df6aad16a9c399f7e787", - "rules_download": "47f1b41bdbc26a4d20fdafd2d7f5a61cdb6c671fd0740095d84b5c46cc442450" + "rules_download": "b45910c8ac50b2f3413fb6ce63a545705cff4158537b6f964da471bb98770f7d" }, "moduleDepGraph": { "": { @@ -78,7 +77,7 @@ "devDependency": false, "location": { "file": "@@//:MODULE.bazel", - "line": 22, + "line": 18, "column": 8 } }, @@ -98,7 +97,7 @@ "devDependency": false, "location": { "file": "@@//:MODULE.bazel", - "line": 50, + "line": 46, "column": 5 } }, @@ -117,7 +116,7 @@ "devDependency": false, "location": { "file": "@@//:MODULE.bazel", - "line": 62, + "line": 58, "column": 4 } }, @@ -135,7 +134,7 @@ "devDependency": false, "location": { "file": "@@//:MODULE.bazel", - "line": 71, + "line": 67, "column": 8 } }, @@ -153,7 +152,7 @@ "devDependency": false, "location": { "file": "@@//:MODULE.bazel", - "line": 79, + "line": 75, "column": 8 } }, @@ -169,7 +168,7 @@ "devDependency": false, "location": { "file": "@@//:MODULE.bazel", - "line": 89, + "line": 85, "column": 7 } } @@ -180,7 +179,7 @@ ], "deps": { "rules_download": "rules_download@_", - "rules_toolchain": "rules_toolchain@_", + "rules_toolchain": "rules_toolchain@1.0.0-alpha.6", "bazel_tools": "bazel_tools@_", "local_config_platform": "local_config_platform@_" } @@ -198,10 +197,10 @@ "local_config_platform": "local_config_platform@_" } }, - "rules_toolchain@_": { + "rules_toolchain@1.0.0-alpha.6": { "name": "rules_toolchain", - "version": "0.0.0", - "key": "rules_toolchain@_", + "version": "1.0.0-alpha.6", + "key": "rules_toolchain@1.0.0-alpha.6", "repoName": "rules_toolchain", "executionPlatformsToRegister": [], "toolchainsToRegister": [], @@ -209,9 +208,9 @@ { "extensionBzlFile": "//:MODULE.bazel", "extensionName": "_repo_rules", - "usingModule": "rules_toolchain@_", + "usingModule": "rules_toolchain@1.0.0-alpha.6", "location": { - "file": "@@rules_toolchain~override//:MODULE.bazel", + "file": "https://gitlab.arm.com/bazel/rules_toolchain/-/releases/v1.0.0-alpha.6/downloads/modules/rules_toolchain/1.0.0-alpha.6/MODULE.bazel", "line": 0, "column": 0 }, @@ -227,7 +226,7 @@ }, "devDependency": false, "location": { - "file": "@@rules_toolchain~override//:MODULE.bazel", + "file": "https://gitlab.arm.com/bazel/rules_toolchain/-/releases/v1.0.0-alpha.6/downloads/modules/rules_toolchain/1.0.0-alpha.6/MODULE.bazel", "line": 14, "column": 8 } @@ -242,6 +241,20 @@ "platforms": "platforms@0.0.7", "bazel_tools": "bazel_tools@_", "local_config_platform": "local_config_platform@_" + }, + "repoSpec": { + "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_toolchain~1.0.0-alpha.6", + "urls": [ + "https://gitlab.arm.com/bazel/rules_toolchain/-/releases/v1.0.0-alpha.6/downloads/src.tar.gz" + ], + "integrity": "sha512-RV4aLbaSBS8VuA9JR7RhJ+6Ny+Eej8dkCUyY3cBpE9PMCrkbHuvhflMWOK0TqxRNTvO6NxguZ4bF0tvr4HGEew==", + "strip_prefix": "rules_toolchain-v1.0.0-alpha.6", + "remote_patches": {}, + "remote_patch_strip": 0 + } } }, "bazel_tools@_": { @@ -838,7 +851,7 @@ "moduleExtensions": { "//:MODULE.bazel%_repo_rules": { "general": { - "bzlTransitiveDigest": "DB+P5/GOUBNp/lKRPT6uPqyZd7Tg+fmqYZgD6Y9uexo=", + "bzlTransitiveDigest": "GCKKnN7t3GZuia4vflzwjBxUGsnXtaiNg14ezmer5C0=", "accumulatedFileDigests": {}, "envVariables": {}, "generatedRepoSpecs": { @@ -929,7 +942,7 @@ } }, "coreutils": { - "bzlFile": "@@rules_toolchain~override//toolchain/local/select:repository.bzl", + "bzlFile": "@@rules_toolchain~1.0.0-alpha.6//toolchain/local/select:repository.bzl", "ruleClassName": "select", "attributes": { "map": { -- GitLab