diff --git a/.reuse/dep5 b/.reuse/dep5 index 520870be287746d910b6aaea5a6d27bf8c1e2bb8..9beec11570bca212eb437e4d6104bae32eed9146 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 diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index 8aa7e5a12eaa83d1f502c82b1d1f5155ec6a747e..986a6745e37bacce39f673b74be7ab2d690e735a 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 d03b7d4ec8fa4b1686be2980b338bbba9a446a1b..41c9159a9ad920a23b20729b5665585e45b13970 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 0000000000000000000000000000000000000000..221c83d2ad2413bac949f2660eed3cc26ba52532 --- /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 5f1831f6efa32a670ddb012f93dd749fdbd6d836..5950ab33af6cc563b915560ec76b9c9847f21336 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 e8e18a151001496be03f43bd0502c1e4b699e79c..b73eb04b70b75e69d3b78f853c15b3423f318405 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": { diff --git a/package-lock.json b/package-lock.json index d61c5b7bf2d8fc0e5b4d95c823bbf953967f8d32..94a26c4cb5a548a73b496508aca245e500f2386d 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 71d79a378c6669cc6a75228560d21c8831961ba4..552016cee9723bb9740f464086b0e56a908ec788 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",