diff --git a/package-lock.json b/package-lock.json index 01550e40a..71d4f2454 100644 --- a/package-lock.json +++ b/package-lock.json @@ -24942,9 +24942,10 @@ "integrity": "sha512-8QqjlekLUFTrU6x7xck1MsPzPA571K5zNqWm0M0oroYEWVOptZ0+ubQSkQ3uxIEhcIHRujJy6emDWX4A7qyFzg==" }, "node_modules/xterm-addon-fit": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/xterm-addon-fit/-/xterm-addon-fit-0.7.0.tgz", - "integrity": "sha512-tQgHGoHqRTgeROPnvmtEJywLKoC/V9eNs4bLLz7iyJr1aW/QFzRwfd3MGiJ6odJd9xEfxcW36/xRU47JkD5NKQ==", + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/xterm-addon-fit/-/xterm-addon-fit-0.8.0.tgz", + "integrity": "sha512-yj3Np7XlvxxhYF/EJ7p3KHaMt6OdwQ+HDu573Vx1lRXsVxOcnVJs51RgjZOouIZOczTsskaS+CpXspK81/DLqw==", + "deprecated": "This package is now deprecated. Move to @xterm/addon-fit instead.", "peerDependencies": { "xterm": "^5.0.0" } @@ -25090,7 +25091,7 @@ "lit": "^2.1.2", "parcel": "^2.11.0", "xterm": "^5.1.0", - "xterm-addon-fit": "^0.7.0" + "xterm-addon-fit": "^0.8.0" }, "devDependencies": { "@typescript-eslint/eslint-plugin": "^5.10.2", @@ -25107,8 +25108,7 @@ } }, "tools/languagelocalizer": { - "version": "1.0.0", - "license": "Mozilla Public License 2.0", + "version": "0.0.1", "dependencies": { "chalk": "^5.2.0", "commander": "^11.1.0", @@ -30490,7 +30490,7 @@ "node-gyp-build": "^4.3.0", "parcel": "^2.11.0", "xterm": "^5.1.0", - "xterm-addon-fit": "^0.7.0" + "xterm-addon-fit": "^0.8.0" } }, "@webassemblyjs/ast": { @@ -42494,9 +42494,9 @@ "integrity": "sha512-8QqjlekLUFTrU6x7xck1MsPzPA571K5zNqWm0M0oroYEWVOptZ0+ubQSkQ3uxIEhcIHRujJy6emDWX4A7qyFzg==" }, "xterm-addon-fit": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/xterm-addon-fit/-/xterm-addon-fit-0.7.0.tgz", - "integrity": "sha512-tQgHGoHqRTgeROPnvmtEJywLKoC/V9eNs4bLLz7iyJr1aW/QFzRwfd3MGiJ6odJd9xEfxcW36/xRU47JkD5NKQ==", + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/xterm-addon-fit/-/xterm-addon-fit-0.8.0.tgz", + "integrity": "sha512-yj3Np7XlvxxhYF/EJ7p3KHaMt6OdwQ+HDu573Vx1lRXsVxOcnVJs51RgjZOouIZOczTsskaS+CpXspK81/DLqw==", "requires": {} }, "y18n": { diff --git a/taskcluster/config.yml b/taskcluster/config.yml index 9d754aacf..b15a56b51 100644 --- a/taskcluster/config.yml +++ b/taskcluster/config.yml @@ -105,6 +105,11 @@ workers: implementation: beetmover-import-from-gcs-to-artifact-registry os: scriptworker worker-type: 'mozillavpn-{level}-beetmover' + shipit: + provisioner: scriptworker-k8s + implementation: scriptworker-shipit + os: scriptworker + worker-type: 'mozillavpn-{level}-shipit' succeed: provisioner: built-in implementation: succeed @@ -126,3 +131,6 @@ release-promotion: - fetch - toolchain - toolchain-openssl + +shipit: + scope-prefix: project:mozillavpn:releng:ship-it diff --git a/taskcluster/kinds/mark-as-shipped/kind.yml b/taskcluster/kinds/mark-as-shipped/kind.yml new file mode 100644 index 000000000..48f53911e --- /dev/null +++ b/taskcluster/kinds/mark-as-shipped/kind.yml @@ -0,0 +1,29 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +--- +loader: taskgraph.loader.transform:loader + +transforms: + - taskgraph.transforms.from_deps + - mozillavpn_taskgraph.transforms.set_name + - mozilla_taskgraph.transforms.scriptworker.shipit.mark_as_shipped + - taskgraph.transforms.task + +kind-dependencies: + - beetmover-ship + +tasks: + mark-as-shipped: + worker-type: shipit + from-deps: + group-by: + attribute: shipping-phase + copy-attributes: true + unique-kinds: false + set-name: false + shipit-product: + by-build-type: + addons/opt: mozilla-vpn-addons + default: mozilla-vpn-client + run-on-tasks-for: [action] diff --git a/taskcluster/mozillavpn_taskgraph/transforms/set_name.py b/taskcluster/mozillavpn_taskgraph/transforms/set_name.py new file mode 100644 index 000000000..628a9a64c --- /dev/null +++ b/taskcluster/mozillavpn_taskgraph/transforms/set_name.py @@ -0,0 +1,20 @@ +from taskgraph.transforms.base import TransformSequence +from taskgraph.util.dependencies import get_primary_dependency + + +transforms = TransformSequence() + + +@transforms.add +def set_name(config, tasks): + for task in tasks: + if config.kind == "mark-as-shipped": + dep = get_primary_dependency(config, task) + assert dep + + product = ( + "addons" if dep.attributes["build-type"] == "addons/opt" else "client" + ) + task["name"] = f"mark-as-shipped-{product}" + + yield task diff --git a/tools/inspector/package.json b/tools/inspector/package.json index 21113b229..1fdc0f8bf 100644 --- a/tools/inspector/package.json +++ b/tools/inspector/package.json @@ -38,7 +38,7 @@ "lit": "^2.1.2", "parcel": "^2.11.0", "xterm": "^5.1.0", - "xterm-addon-fit": "^0.7.0" + "xterm-addon-fit": "^0.8.0" }, "devDependencies": { "@typescript-eslint/eslint-plugin": "^5.10.2",