diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index dc83a81d2b421de89432d5d80756b977f740ce29..a732a7646b2bf78bbab00f999cfecd95ebb53e01 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,5 +1,6 @@ stages: - build + - publish before_script: - apk update @@ -19,6 +20,52 @@ build: - ./build.sh $TAG $VERSION $CI_REGISTRY_IMAGE - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN registry.e-biz.fr - docker push $CI_REGISTRY_IMAGE/$VERSION:$TAG - only: - - master - - tags + rules: + - if: $CI_COMMIT_BRANCH == "main" + - if: $CI_COMMIT_TAG != null + + +desktop_extension:package:pre-release: + stage: build + cache: + paths: + - ./deadlock-plugins/deadlock-extension/ + script: + - ./build-desktop.sh staging + rules: + - if: $CI_COMMIT_BRANCH == "develop" + +desktop_extension:publish:pre-release: + stage: publish + cache: + paths: + - ./deadlock-plugins/deadlock-extension/ + policy: pull + script: + - cd ./deadlock-plugins/deadlock-extension + - npm run vsce-publish -- -pre-release -p $VSCODE_EXTENSION_MARKET_PLACE_ACCESS_TOKEN + rules: + - if: $CI_COMMIT_BRANCH == "develop" + + +desktop_extension:package:release: + stage: build + cache: + paths: + - ./deadlock-plugins/deadlock-extension/ + script: + - ./build-desktop.sh prod + rules: + - if: $CI_COMMIT_BRANCH == "main" + +desktop_extension:publish:release: + stage: publish + cache: + paths: + - ./deadlock-plugins/deadlock-extension/ + policy: pull + script: + - cd ./deadlock-plugins/deadlock-extension + - npm run vsce-publish -- -p $VSCODE_EXTENSION_MARKET_PLACE_ACCESS_TOKEN + rules: + - if: $CI_COMMIT_BRANCH == "main" diff --git a/build-desktop.sh b/build-desktop.sh new file mode 100755 index 0000000000000000000000000000000000000000..d7b91cafc058e4ed609036d9e3ce40c0acd16345 --- /dev/null +++ b/build-desktop.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +set -e + +cd ./deadlock-plugins/deadlock-extension/ + +./install.sh +./build.sh $@ diff --git a/deadlock-plugins/deadlock-extension/README.md b/deadlock-plugins/deadlock-extension/README.md index c24101e2f3ea48b3dbe46de58278e86a648bc763..f5847f3f171a675bbcd426c96f244369f98ca1c9 100644 --- a/deadlock-plugins/deadlock-extension/README.md +++ b/deadlock-plugins/deadlock-extension/README.md @@ -1,15 +1,3 @@ -# Deadlock Coding +## Deadlock Coding extension -Vscode extension to show a panel with : - -- adresses availables for the current challenge pulled from `/home/config/user-challenge.json` -- challenge instruction pulled from the `README.md` - -## Quick start - -- Run `setup-dev-env.sh` to mock challenge configuration -- Run `install.sh` -- Run `build.sh` -- Press `F5` (or use `Run and Debug` tab). - -If something goes wrong, you may need to kill watch Task terminal between restarts. +This extension was created to allow you to do some of the [Deadlock](https://www.deadlock.io) platform exercises directly on your Visual Studio Code IDE diff --git a/deadlock-plugins/deadlock-extension/build.sh b/deadlock-plugins/deadlock-extension/build.sh index 77a6867456b2d485d48814efe422a3c5856ea6e5..5cb1d85ec85fda4fc0c2522dba7b6a15fb99faf6 100755 --- a/deadlock-plugins/deadlock-extension/build.sh +++ b/deadlock-plugins/deadlock-extension/build.sh @@ -2,5 +2,16 @@ set -e +CONFIG_FILE=$1 + +if ! [ -z "$CONFIG_FILE" ] + then + echo $CONFIG_FILE + mv -f src/config.$CONFIG_FILE.ts src/config.ts + # Remove all other configs + rm src/config.*.ts +fi + + npm run build-extension -npm run vsce +npm run vsce-package diff --git a/deadlock-plugins/deadlock-extension/docs/README.md b/deadlock-plugins/deadlock-extension/docs/README.md new file mode 100644 index 0000000000000000000000000000000000000000..c24101e2f3ea48b3dbe46de58278e86a648bc763 --- /dev/null +++ b/deadlock-plugins/deadlock-extension/docs/README.md @@ -0,0 +1,15 @@ +# Deadlock Coding + +Vscode extension to show a panel with : + +- adresses availables for the current challenge pulled from `/home/config/user-challenge.json` +- challenge instruction pulled from the `README.md` + +## Quick start + +- Run `setup-dev-env.sh` to mock challenge configuration +- Run `install.sh` +- Run `build.sh` +- Press `F5` (or use `Run and Debug` tab). + +If something goes wrong, you may need to kill watch Task terminal between restarts. diff --git a/deadlock-plugins/deadlock-extension/media/logo.png b/deadlock-plugins/deadlock-extension/media/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..a53213f88159e56e029222335fa7876c9c2ee9bd Binary files /dev/null and b/deadlock-plugins/deadlock-extension/media/logo.png differ diff --git a/deadlock-plugins/deadlock-extension/package-lock.json b/deadlock-plugins/deadlock-extension/package-lock.json index b295b7667c31cb60e1d9f701b2cefc4ce3da03cb..4bc90941aa70ab33151d69820d7fa35f7c522129 100644 --- a/deadlock-plugins/deadlock-extension/package-lock.json +++ b/deadlock-plugins/deadlock-extension/package-lock.json @@ -32,12 +32,12 @@ "terser-webpack-plugin": "^5.2.5", "ts-node": "^9.1.1", "typescript": "^3.9.10", - "vsce": "^2.5.1", + "vsce": "^2.7.0", "webpack": "^5.65.0", "webpack-cli": "^4.9.1" }, "engines": { - "vscode": "^1.63.0" + "vscode": "^1.66.0" } }, "node_modules/@babel/code-frame": { @@ -2419,9 +2419,9 @@ } }, "node_modules/linkify-it": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.2.0.tgz", - "integrity": "sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz", + "integrity": "sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==", "dev": true, "dependencies": { "uc.micro": "^1.0.1" @@ -2497,14 +2497,14 @@ "dev": true }, "node_modules/markdown-it": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-10.0.0.tgz", - "integrity": "sha512-YWOP1j7UbDNz+TumYP1kpwnP0aEa711cJjrAQrzd0UXlbJfc5aAq0F/PZHjiioqDC1NKgvIMX+o+9Bk7yuM2dg==", + "version": "12.3.2", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz", + "integrity": "sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==", "dev": true, "dependencies": { - "argparse": "^1.0.7", - "entities": "~2.0.0", - "linkify-it": "^2.0.0", + "argparse": "^2.0.1", + "entities": "~2.1.0", + "linkify-it": "^3.0.1", "mdurl": "^1.0.1", "uc.micro": "^1.0.5" }, @@ -2512,12 +2512,21 @@ "markdown-it": "bin/markdown-it.js" } }, - "node_modules/markdown-it/node_modules/entities": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz", - "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==", + "node_modules/markdown-it/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, + "node_modules/markdown-it/node_modules/entities": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", + "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==", + "dev": true, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, "node_modules/marked": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/marked/-/marked-4.0.6.tgz", @@ -3885,9 +3894,9 @@ "dev": true }, "node_modules/vsce": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/vsce/-/vsce-2.5.1.tgz", - "integrity": "sha512-vJ+xY93Wv3NhgeriMyIC2oMA+niifOI9XGIqEToIq/rFRoQnXlmO4PSyis/OxBl9hw8OKKC/VcI9CijfFufEkw==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/vsce/-/vsce-2.7.0.tgz", + "integrity": "sha512-CKU34wrQlbKDeJCRBkd1a8iwF9EvNxcYMg9hAUH6AxFGR6Wo2IKWwt3cJIcusHxx6XdjDHWlfAS/fJN30uvVnA==", "dev": true, "dependencies": { "azure-devops-node-api": "^11.0.1", @@ -3898,7 +3907,7 @@ "hosted-git-info": "^4.0.2", "keytar": "^7.7.0", "leven": "^3.1.0", - "markdown-it": "^10.0.0", + "markdown-it": "^12.3.2", "mime": "^1.3.4", "minimatch": "^3.0.3", "parse-semver": "^1.1.1", @@ -6026,9 +6035,9 @@ } }, "linkify-it": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.2.0.tgz", - "integrity": "sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz", + "integrity": "sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==", "dev": true, "requires": { "uc.micro": "^1.0.1" @@ -6092,22 +6101,28 @@ "dev": true }, "markdown-it": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-10.0.0.tgz", - "integrity": "sha512-YWOP1j7UbDNz+TumYP1kpwnP0aEa711cJjrAQrzd0UXlbJfc5aAq0F/PZHjiioqDC1NKgvIMX+o+9Bk7yuM2dg==", + "version": "12.3.2", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz", + "integrity": "sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==", "dev": true, "requires": { - "argparse": "^1.0.7", - "entities": "~2.0.0", - "linkify-it": "^2.0.0", + "argparse": "^2.0.1", + "entities": "~2.1.0", + "linkify-it": "^3.0.1", "mdurl": "^1.0.1", "uc.micro": "^1.0.5" }, "dependencies": { + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, "entities": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz", - "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", + "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==", "dev": true } } @@ -7130,9 +7145,9 @@ "dev": true }, "vsce": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/vsce/-/vsce-2.5.1.tgz", - "integrity": "sha512-vJ+xY93Wv3NhgeriMyIC2oMA+niifOI9XGIqEToIq/rFRoQnXlmO4PSyis/OxBl9hw8OKKC/VcI9CijfFufEkw==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/vsce/-/vsce-2.7.0.tgz", + "integrity": "sha512-CKU34wrQlbKDeJCRBkd1a8iwF9EvNxcYMg9hAUH6AxFGR6Wo2IKWwt3cJIcusHxx6XdjDHWlfAS/fJN30uvVnA==", "dev": true, "requires": { "azure-devops-node-api": "^11.0.1", @@ -7143,7 +7158,7 @@ "hosted-git-info": "^4.0.2", "keytar": "^7.7.0", "leven": "^3.1.0", - "markdown-it": "^10.0.0", + "markdown-it": "^12.3.2", "mime": "^1.3.4", "minimatch": "^3.0.3", "parse-semver": "^1.1.1", diff --git a/deadlock-plugins/deadlock-extension/package.json b/deadlock-plugins/deadlock-extension/package.json index 69aa8ecd31ee4a426c3aee800ade330a3baf4327..feab6975fc998549dab6963dc38c47c743025d34 100644 --- a/deadlock-plugins/deadlock-extension/package.json +++ b/deadlock-plugins/deadlock-extension/package.json @@ -1,8 +1,9 @@ { "name": "deadlock-coding", "description": "Deadlock Coding", - "version": "0.0.2", + "version": "0.0.3", "publisher": "Deadlock", + "icon": "media/logo.png", "engines": { "vscode": "^1.66.0" }, @@ -16,10 +17,6 @@ "onWebviewPanel:deadlockHelp", "onStartupFinished" ], - "repository": { - "type": "git", - "url": "https://github.com/microsoft/vscode-extension-samples.git" - }, "main": "./out/main.js", "contributes": { "commands": [ @@ -85,7 +82,8 @@ } }, "scripts": { - "vsce": "vsce package", + "vsce-package": "vsce package --allow-missing-repository", + "vsce-publish": "vsce publish --allow-missing-repository", "esbuild-base": "esbuild --bundle --format=cjs --platform=node", "build-extension": "npm run esbuild-base -- --external:vscode ./src/extension.ts --outfile=out/main.js --minify", "build-recorder": "npm run esbuild-base -- ./src/recorder/index.ts --outfile=out/recorder.js --minify", @@ -120,7 +118,7 @@ "terser-webpack-plugin": "^5.2.5", "ts-node": "^9.1.1", "typescript": "^3.9.10", - "vsce": "^2.5.1", + "vsce": "^2.7.0", "webpack": "^5.65.0", "webpack-cli": "^4.9.1" }