From fbfd8ab2710eefbf85e24a2e77b45752ff1dde30 Mon Sep 17 00:00:00 2001 From: Daniel LaCosse Date: Mon, 1 Nov 2021 17:57:44 +0000 Subject: [PATCH 1/2] rename everything (#1006) --- .github/workflows/release_manager.yml | 4 ++-- .github/workflows/test.yml | 17 +++++++---------- .travis.yml | 10 +++++----- README.md | 10 +++++----- package.json | 4 ++-- scripts/{do_action.sh => run_action.sh} | 8 ++++---- src/metrics_server/README.md | 12 ++++++------ .../{build_action.sh => build.action.sh} | 0 ...eploy_dev_action.sh => deploy_dev.action.sh} | 0 ...loy_prod_action.sh => deploy_prod.action.sh} | 0 .../{run_action.sh => start.action.sh} | 0 .../{test_action.sh => test.action.sh} | 0 ...ion_action.sh => test_integration.action.sh} | 0 src/sentry_webhook/README.md | 4 ++-- .../{build_action.sh => build.action.sh} | 0 .../{deploy_action.sh => deploy.action.sh} | 0 src/server_manager/README.md | 14 +++++++------- .../{build_action.sh => build.action.sh} | 2 +- ..._linux_action.sh => package_linux.action.sh} | 0 ..._macos_action.sh => package_macos.action.sh} | 0 ...action.sh => package_only_windows.action.sh} | 0 ..._linux_action.sh => release_linux.action.sh} | 0 ..._macos_action.sh => release_macos.action.sh} | 0 ...dows_action.sh => release_windows.action.sh} | 0 .../{run_action.sh => start.action.sh} | 2 +- ...h => write_production_environment.action.sh} | 0 .../scripts/fill_packaging_opts.sh | 4 ++-- .../{test_action.sh => test.action.sh} | 0 .../{build_action.sh => build.action.sh} | 2 +- ...action.sh => build_install_script.action.sh} | 0 .../web_app/{run_action.sh => start.action.sh} | 2 +- ...allery_action.sh => start_gallery.action.sh} | 0 .../web_app/{test_action.sh => test.action.sh} | 0 .../web_app/ui_components/licenses/README.md | 2 +- .../web_app/ui_components/licenses/licenses.txt | 14 +++++++------- src/shadowbox/README.md | 16 ++++++++-------- src/shadowbox/docker/Dockerfile | 2 +- .../docker/{build_action.sh => build.action.sh} | 0 .../docker/{run_action.sh => start.action.sh} | 2 +- .../{run_action.sh => start.action.sh} | 2 +- .../server/{build_action.sh => build.action.sh} | 0 .../server/{run_action.sh => start.action.sh} | 2 +- .../{test_action.sh => test.action.sh} | 0 43 files changed, 66 insertions(+), 69 deletions(-) rename scripts/{do_action.sh => run_action.sh} (93%) rename src/metrics_server/{build_action.sh => build.action.sh} (100%) rename src/metrics_server/{deploy_dev_action.sh => deploy_dev.action.sh} (100%) rename src/metrics_server/{deploy_prod_action.sh => deploy_prod.action.sh} (100%) rename src/metrics_server/{run_action.sh => start.action.sh} (100%) rename src/metrics_server/{test_action.sh => test.action.sh} (100%) rename src/metrics_server/{test_integration_action.sh => test_integration.action.sh} (100%) rename src/sentry_webhook/{build_action.sh => build.action.sh} (100%) rename src/sentry_webhook/{deploy_action.sh => deploy.action.sh} (100%) rename src/server_manager/electron_app/{build_action.sh => build.action.sh} (97%) rename src/server_manager/electron_app/{package_linux_action.sh => package_linux.action.sh} (100%) rename src/server_manager/electron_app/{package_macos_action.sh => package_macos.action.sh} (100%) rename src/server_manager/electron_app/{package_only_windows_action.sh => package_only_windows.action.sh} (100%) rename src/server_manager/electron_app/{release_linux_action.sh => release_linux.action.sh} (100%) rename src/server_manager/electron_app/{release_macos_action.sh => release_macos.action.sh} (100%) rename src/server_manager/electron_app/{release_windows_action.sh => release_windows.action.sh} (100%) rename src/server_manager/electron_app/{run_action.sh => start.action.sh} (94%) rename src/server_manager/electron_app/{write_production_environment_action.sh => write_production_environment.action.sh} (100%) rename src/server_manager/{test_action.sh => test.action.sh} (100%) rename src/server_manager/web_app/{build_action.sh => build.action.sh} (94%) rename src/server_manager/web_app/{build_install_script_action.sh => build_install_script.action.sh} (100%) rename src/server_manager/web_app/{run_action.sh => start.action.sh} (92%) rename src/server_manager/web_app/{run_gallery_action.sh => start_gallery.action.sh} (100%) rename src/server_manager/web_app/{test_action.sh => test.action.sh} (100%) rename src/shadowbox/docker/{build_action.sh => build.action.sh} (100%) rename src/shadowbox/docker/{run_action.sh => start.action.sh} (98%) rename src/shadowbox/integration_test/{run_action.sh => start.action.sh} (96%) rename src/shadowbox/server/{build_action.sh => build.action.sh} (100%) rename src/shadowbox/server/{run_action.sh => start.action.sh} (97%) rename src/shadowbox/{test_action.sh => test.action.sh} (100%) diff --git a/.github/workflows/release_manager.yml b/.github/workflows/release_manager.yml index fce6a146..95f2596e 100644 --- a/.github/workflows/release_manager.yml +++ b/.github/workflows/release_manager.yml @@ -39,7 +39,7 @@ jobs: - name: Release Linux if: runner.os == 'Linux' - run: npm run do server_manager/electron_app/release_linux + run: npm run action server_manager/electron_app/release_linux - name: Release MacOS if: runner.os == 'macOS' @@ -51,7 +51,7 @@ jobs: run: | openssl aes-256-cbc -K $ENCRYPTED_SIGNING_CERT_KEY -iv $ENCRYPTED_SIGNING_CERT_IV -in macos-signing-certificate.p12.enc -out macos-signing-certificate.p12 -d -md sha256 export CSC_LINK=$(pwd)/macos-signing-certificate.p12 - npm run do server_manager/electron_app/release_macos + npm run action server_manager/electron_app/release_macos - name: Deploy uses: softprops/action-gh-release@v1 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index d24d6ab4..f146d836 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -34,26 +34,23 @@ jobs: run: NODE_DTRACE_PROVIDER_REQUIRE=hard npm ci - name: Lint - run: yarn lint + run: npm lint - name: Manager run: | SENTRY_DSN='test' npm run do server_manager/electron_app/release_linux - npm run do server_manager/test + npm run action server_manager/test - name: Shadowbox if: runner.os == 'Linux' run: | - npm run do shadowbox/server/build - npm run do shadowbox/test - npm run do shadowbox/integration_test/run + npm run action shadowbox/server/build + npm run action shadowbox/test + npm run action shadowbox/integration_test/run - name: Metrics Server if: runner.os == 'Linux' run: | - npm run do metrics_server/build - npm run do metrics_server/test + npm run action metrics_server/build + npm run action metrics_server/test - - name: Sentry Webhook - if: runner.os == 'Linux' - run: npm run do sentry_webhook/build diff --git a/.travis.yml b/.travis.yml index d90104b1..568973c7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -47,15 +47,15 @@ jobs: curl -L https://github.com/docker/compose/releases/download/1.25.5/docker-compose-$(uname -s)-$(uname -m) > docker-compose chmod +x docker-compose sudo mv docker-compose /usr/local/bin - - npm run do shadowbox/test - - npm run do shadowbox/docker/build && cd src/shadowbox/integration_test && ./test.sh + - npm run action shadowbox/test + - npm run action shadowbox/docker/build && cd src/shadowbox/integration_test && ./test.sh - stage: "Deploy Server" name: Server Docker Image sudo: required services: docker script: - - npm run do shadowbox/docker/build + - npm run action shadowbox/docker/build - docker login quay.io -u="$QUAY_IO_USERNAME" -p="$QUAY_IO_PASSWORD" - docker tag outline/shadowbox quay.io/outline/shadowbox:$TRAVIS_TAG - docker push quay.io/outline/shadowbox:$TRAVIS_TAG @@ -70,7 +70,7 @@ jobs: apt: packages: - rpm - script: npm run do server_manager/electron_app/release_linux + script: npm run action server_manager/electron_app/release_linux - stage: "Manager Release" os: osx @@ -81,7 +81,7 @@ jobs: - openssl aes-256-cbc -K $encrypted_61a49da75942_key -iv $encrypted_61a49da75942_iv -in macos-signing-certificate.p12.enc -out macos-signing-certificate.p12 -d - export CSC_LINK=$(pwd)/macos-signing-certificate.p12 # Must run npm again due to the OS change, required for signing to work. - - npm install && npm run do server_manager/electron_app/release_macos + - npm install && npm run action server_manager/electron_app/release_macos deploy: provider: releases diff --git a/README.md b/README.md index f0c1abae..afb21489 100644 --- a/README.md +++ b/README.md @@ -51,20 +51,20 @@ and a thin wrapper for what we call build "actions". We've defined a `do` package.json script that takes an `action` parameter: ```shell -npm run do $ACTION +npm run action $ACTION ``` -This command will define a `do_action()` function and call `${ACTION}_action.sh`, which must exist. -The called action script can use `do_action` to call its dependencies. The $ACTION parameter is +This command will define a `run_action()` function and call `${ACTION}_action.sh`, which must exist. +The called action script can use `run_action` to call its dependencies. The $ACTION parameter is always resolved from the project root, regardless of the caller location. -The idea of `do_action` is to keep the build logic next to where the relevant code is. +The idea of `run_action` is to keep the build logic next to where the relevant code is. It also defines two environmental variables: - ROOT_DIR: the root directory of the project, as an absolute path. - BUILD_DIR: where the build output should go, as an absolute path. -> ⚠️ To find all the actions in this project, run `npm run actions` +> ⚠️ To find all the actions in this project, run `npm run action:list` ### Build output diff --git a/package.json b/package.json index dad82174..926ea095 100644 --- a/package.json +++ b/package.json @@ -18,8 +18,8 @@ }, "scripts": { "clean": "rm -rf src/*/node_modules/ build/ node_modules/ src/server_manager/install_scripts/do_install_script.ts src/server_manager/install_scripts/gcp_install_script.ts third_party/shellcheck/download/", - "do": "bash ./scripts/do_action.sh", - "actions": "find . -name '*_action.sh' | sed -E 's:./src/(.*)_action.sh:\\1:' | grep -v 'scripts/do_action'", + "action": "bash ./scripts/run_action.sh", + "action:list": "find . -name '*.action.sh' | sed -E 's:./src/(.*).action.sh:\\1:' | grep -v 'scripts/run_action'", "lint": "npm run shellcheck && npm run tslint", "shellcheck": "bash ./scripts/shellcheck.sh", "tslint": "npx tslint 'src/**/*.ts' -e '**/node_modules/**'" diff --git a/scripts/do_action.sh b/scripts/run_action.sh similarity index 93% rename from scripts/do_action.sh rename to scripts/run_action.sh index 34c89262..ec98cb70 100755 --- a/scripts/do_action.sh +++ b/scripts/run_action.sh @@ -24,7 +24,7 @@ export ROOT_DIR=${ROOT_DIR:-$(pwd)/$(git rev-parse --show-cdup)} export BUILD_DIR=${BUILD_DIR:-${ROOT_DIR}/build} export _DO_ACTION_INDENT='' -function do_action() { +function run_action() { local -r OLD_INDENT="${_DO_ACTION_INDENT}" _DO_ACTION_INDENT="..${_DO_ACTION_INDENT}" local -r STYLE_BOLD_WHITE='\033[1;37m' @@ -33,7 +33,7 @@ function do_action() { local -r action="$1" echo -e "${OLD_INDENT}${STYLE_BOLD_WHITE}[Running ${action}]${STYLE_RESET}" shift - "${ROOT_DIR}/src/${action}_action.sh" "$@" + "${ROOT_DIR}/src/${action}.action.sh" "$@" local -ir status=$? if ((status == 0)); then echo -e "${OLD_INDENT}${STYLE_BOLD_WHITE}[Done ${action}]${STYLE_RESET}" @@ -43,6 +43,6 @@ function do_action() { _DO_ACTION_INDENT=${OLD_INDENT} return "${status}" } -export -f do_action +export -f run_action -do_action "$@" +run_action "$@" diff --git a/src/metrics_server/README.md b/src/metrics_server/README.md index 6edf0e23..5db3242e 100644 --- a/src/metrics_server/README.md +++ b/src/metrics_server/README.md @@ -47,7 +47,7 @@ The metrics server supports two URL paths: ## Build ```sh -npm run do metrics_server/build +npm run action metrics_server/build ``` ## Run @@ -55,7 +55,7 @@ npm run do metrics_server/build Run a local development metrics server: ```sh -npm run do metrics_server/run +npm run action metrics_server/start ``` ## Deploy @@ -66,20 +66,20 @@ npm run do metrics_server/run ``` * To deploy to dev: ```sh - npm run do metrics_server/deploy_dev + npm run action metrics_server/deploy_dev ``` * To deploy to prod: ```sh - npm run do metrics_server/deploy_prod + npm run action metrics_server/deploy_prod ``` ## Test * Unit test ```sh - npm run do metrics_server/test + npm run action metrics_server/test ``` * Integration test ```sh - npm run do metrics_server/test_integration + npm run action metrics_server/test_integration ``` diff --git a/src/metrics_server/build_action.sh b/src/metrics_server/build.action.sh similarity index 100% rename from src/metrics_server/build_action.sh rename to src/metrics_server/build.action.sh diff --git a/src/metrics_server/deploy_dev_action.sh b/src/metrics_server/deploy_dev.action.sh similarity index 100% rename from src/metrics_server/deploy_dev_action.sh rename to src/metrics_server/deploy_dev.action.sh diff --git a/src/metrics_server/deploy_prod_action.sh b/src/metrics_server/deploy_prod.action.sh similarity index 100% rename from src/metrics_server/deploy_prod_action.sh rename to src/metrics_server/deploy_prod.action.sh diff --git a/src/metrics_server/run_action.sh b/src/metrics_server/start.action.sh similarity index 100% rename from src/metrics_server/run_action.sh rename to src/metrics_server/start.action.sh diff --git a/src/metrics_server/test_action.sh b/src/metrics_server/test.action.sh similarity index 100% rename from src/metrics_server/test_action.sh rename to src/metrics_server/test.action.sh diff --git a/src/metrics_server/test_integration_action.sh b/src/metrics_server/test_integration.action.sh similarity index 100% rename from src/metrics_server/test_integration_action.sh rename to src/metrics_server/test_integration.action.sh diff --git a/src/sentry_webhook/README.md b/src/sentry_webhook/README.md index e7122895..d12eab02 100644 --- a/src/sentry_webhook/README.md +++ b/src/sentry_webhook/README.md @@ -10,7 +10,7 @@ The Outline Sentry webhook is a [Google Cloud Function](https://cloud.google.com ## Build ```sh -npm run do sentry_webhook/build +npm run action sentry_webhook/build ``` ## Deploy @@ -21,7 +21,7 @@ Authenticate with `gcloud`: ``` To deploy: ```sh - npm run do sentry_webhook/deploy + npm run action sentry_webhook/deploy ``` ## Configure Sentry Webhooks diff --git a/src/sentry_webhook/build_action.sh b/src/sentry_webhook/build.action.sh similarity index 100% rename from src/sentry_webhook/build_action.sh rename to src/sentry_webhook/build.action.sh diff --git a/src/sentry_webhook/deploy_action.sh b/src/sentry_webhook/deploy.action.sh similarity index 100% rename from src/sentry_webhook/deploy_action.sh rename to src/sentry_webhook/deploy.action.sh diff --git a/src/server_manager/README.md b/src/server_manager/README.md index daa68d2f..a3d940bf 100644 --- a/src/server_manager/README.md +++ b/src/server_manager/README.md @@ -4,12 +4,12 @@ To run the Outline Manager Electron app: ``` -npm run do server_manager/electron_app/run +npm run action server_manager/electron_app/start ``` To run the Outline Manager Electron app with a development build (code not minified): ``` -BUILD_ENV=development npm run do server_manager/electron_app/run +BUILD_ENV=development npm run action server_manager/electron_app/start ``` ## Development Server @@ -17,7 +17,7 @@ BUILD_ENV=development npm run do server_manager/electron_app/run To run the Outline Manager as a web app on the browser and listen for changes: ``` -npm run do server_manager/web_app/run +npm run action server_manager/web_app/start ``` ## Gallery Server for UI Development @@ -25,7 +25,7 @@ npm run do server_manager/web_app/run We have a server app to for quickly iterating on UI components. To spin it up, run ``` -npm run do server_manager/web_app/run_gallery +npm run action server_manager/web_app/start_gallery ``` Changes to UI components will be hot reloaded into the gallery. @@ -39,7 +39,7 @@ This will enable the Developer menu on the application window. To build the app binary: ``` -npm run do server_manager/electron_app/package_${PLATFORM} +npm run action server_manager/electron_app/package_${PLATFORM} ``` Where `${PLATFORM}` is one of `linux`, `macos`, `only_windows`. @@ -54,7 +54,7 @@ The per-platform standalone apps will be at `build/electron_app/static/dist`. To perform a release, use ``` -npm run do server_manager/electron_app/release +npm run action server_manager/electron_app/release ``` This will perform a clean and reinstall all dependencies to make sure the build is not tainted. @@ -64,7 +64,7 @@ This will perform a clean and reinstall all dependencies to make sure the build To enable error reporting through [Sentry](https://sentry.io/) for local builds, run: ``` bash export SENTRY_DSN=[Sentry development API key] -npm run do server_manager/electron_app/run +npm run action server_manager/electron_app/start ``` Release builds on CI are configured with a production Sentry API key. diff --git a/src/server_manager/electron_app/build_action.sh b/src/server_manager/electron_app/build.action.sh similarity index 97% rename from src/server_manager/electron_app/build_action.sh rename to src/server_manager/electron_app/build.action.sh index 9183dddf..c3398d42 100755 --- a/src/server_manager/electron_app/build_action.sh +++ b/src/server_manager/electron_app/build.action.sh @@ -20,7 +20,7 @@ readonly OUT_DIR="${BUILD_DIR}/server_manager/electron_app" rm -rf "${OUT_DIR}" # Build the Web App. -do_action server_manager/web_app/build +run_action server_manager/web_app/build # Compile the Electron app source. # Since Node.js on Cygwin doesn't like absolute Unix-style paths, diff --git a/src/server_manager/electron_app/package_linux_action.sh b/src/server_manager/electron_app/package_linux.action.sh similarity index 100% rename from src/server_manager/electron_app/package_linux_action.sh rename to src/server_manager/electron_app/package_linux.action.sh diff --git a/src/server_manager/electron_app/package_macos_action.sh b/src/server_manager/electron_app/package_macos.action.sh similarity index 100% rename from src/server_manager/electron_app/package_macos_action.sh rename to src/server_manager/electron_app/package_macos.action.sh diff --git a/src/server_manager/electron_app/package_only_windows_action.sh b/src/server_manager/electron_app/package_only_windows.action.sh similarity index 100% rename from src/server_manager/electron_app/package_only_windows_action.sh rename to src/server_manager/electron_app/package_only_windows.action.sh diff --git a/src/server_manager/electron_app/release_linux_action.sh b/src/server_manager/electron_app/release_linux.action.sh similarity index 100% rename from src/server_manager/electron_app/release_linux_action.sh rename to src/server_manager/electron_app/release_linux.action.sh diff --git a/src/server_manager/electron_app/release_macos_action.sh b/src/server_manager/electron_app/release_macos.action.sh similarity index 100% rename from src/server_manager/electron_app/release_macos_action.sh rename to src/server_manager/electron_app/release_macos.action.sh diff --git a/src/server_manager/electron_app/release_windows_action.sh b/src/server_manager/electron_app/release_windows.action.sh similarity index 100% rename from src/server_manager/electron_app/release_windows_action.sh rename to src/server_manager/electron_app/release_windows.action.sh diff --git a/src/server_manager/electron_app/run_action.sh b/src/server_manager/electron_app/start.action.sh similarity index 94% rename from src/server_manager/electron_app/run_action.sh rename to src/server_manager/electron_app/start.action.sh index a43c18b0..a3c72586 100755 --- a/src/server_manager/electron_app/run_action.sh +++ b/src/server_manager/electron_app/start.action.sh @@ -14,7 +14,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -do_action server_manager/electron_app/build +run_action server_manager/electron_app/build readonly NODE_MODULES_BIN_DIR="${ROOT_DIR}/src/server_manager/node_modules/.bin" diff --git a/src/server_manager/electron_app/write_production_environment_action.sh b/src/server_manager/electron_app/write_production_environment.action.sh similarity index 100% rename from src/server_manager/electron_app/write_production_environment_action.sh rename to src/server_manager/electron_app/write_production_environment.action.sh diff --git a/src/server_manager/scripts/fill_packaging_opts.sh b/src/server_manager/scripts/fill_packaging_opts.sh index 437d4970..ae90d51d 100755 --- a/src/server_manager/scripts/fill_packaging_opts.sh +++ b/src/server_manager/scripts/fill_packaging_opts.sh @@ -23,10 +23,10 @@ # script, allowing fill_packaging_opts.sh to fill variables for the caller. # Input: "/absolute/path/src/server_manager/electron_app/something_action.sh" -# Output: "npm run do server_manager/electron_app/something" +# Output: "npm run action server_manager/electron_app/something" readonly ELECTRON_PATH='server_manager/electron_app/' readonly RELATIVE="${1#*/src/${ELECTRON_PATH}}" -readonly NPM_COMMAND="npm run do ${ELECTRON_PATH}${RELATIVE%_action.sh}" +readonly NPM_COMMAND="npm run action ${ELECTRON_PATH}${RELATIVE%_action.sh}" shift function usage () { diff --git a/src/server_manager/test_action.sh b/src/server_manager/test.action.sh similarity index 100% rename from src/server_manager/test_action.sh rename to src/server_manager/test.action.sh diff --git a/src/server_manager/web_app/build_action.sh b/src/server_manager/web_app/build.action.sh similarity index 94% rename from src/server_manager/web_app/build_action.sh rename to src/server_manager/web_app/build.action.sh index 6937b4e4..45f0fbf5 100755 --- a/src/server_manager/web_app/build_action.sh +++ b/src/server_manager/web_app/build.action.sh @@ -19,7 +19,7 @@ set -eu readonly OUT_DIR="${BUILD_DIR}/server_manager/web_app" rm -rf "${OUT_DIR}" -do_action server_manager/web_app/build_install_script +run_action server_manager/web_app/build_install_script # Node.js on Cygwin doesn't like absolute Unix-style paths. # So, we use a relative path as input to webpack. diff --git a/src/server_manager/web_app/build_install_script_action.sh b/src/server_manager/web_app/build_install_script.action.sh similarity index 100% rename from src/server_manager/web_app/build_install_script_action.sh rename to src/server_manager/web_app/build_install_script.action.sh diff --git a/src/server_manager/web_app/run_action.sh b/src/server_manager/web_app/start.action.sh similarity index 92% rename from src/server_manager/web_app/run_action.sh rename to src/server_manager/web_app/start.action.sh index 90836159..c800a85f 100755 --- a/src/server_manager/web_app/run_action.sh +++ b/src/server_manager/web_app/start.action.sh @@ -18,6 +18,6 @@ set -eu rm -rf "${BUILD_DIR}/server_manager/web_app" -do_action server_manager/web_app/build_install_script +run_action server_manager/web_app/build_install_script webpack-dev-server --config=src/server_manager/browser.webpack.js --open diff --git a/src/server_manager/web_app/run_gallery_action.sh b/src/server_manager/web_app/start_gallery.action.sh similarity index 100% rename from src/server_manager/web_app/run_gallery_action.sh rename to src/server_manager/web_app/start_gallery.action.sh diff --git a/src/server_manager/web_app/test_action.sh b/src/server_manager/web_app/test.action.sh similarity index 100% rename from src/server_manager/web_app/test_action.sh rename to src/server_manager/web_app/test.action.sh diff --git a/src/server_manager/web_app/ui_components/licenses/README.md b/src/server_manager/web_app/ui_components/licenses/README.md index ee2bb7cc..a0a1eb1a 100644 --- a/src/server_manager/web_app/ui_components/licenses/README.md +++ b/src/server_manager/web_app/ui_components/licenses/README.md @@ -3,7 +3,7 @@ ## Steps * `cd` to the root of your clone of this repo -* Ensure `node_modules` is up to date and only include dependencies of the Electron app by running `npm ci && npm run do server_manager/web_app/build` +* Ensure `node_modules` is up to date and only include dependencies of the Electron app by running `npm ci && npm run action server_manager/web_app/build` * `cd src/server_manager` * `npx generate-license-file --input package.json --output web_app/ui_components/licenses/licenses.txt` * `cd web_app/ui_components/licenses` diff --git a/src/server_manager/web_app/ui_components/licenses/licenses.txt b/src/server_manager/web_app/ui_components/licenses/licenses.txt index 5b6bb0b6..72fafa77 100644 --- a/src/server_manager/web_app/ui_components/licenses/licenses.txt +++ b/src/server_manager/web_app/ui_components/licenses/licenses.txt @@ -10,12 +10,12 @@ This package contains the following license and notice below: To run the Outline Manager Electron app: ``` -npm run do server_manager/electron_app/run +npm run action server_manager/electron_app/start ``` To run the Outline Manager Electron app with a development build (code not minified): ``` -BUILD_ENV=development npm run do server_manager/electron_app/run +BUILD_ENV=development npm run action server_manager/electron_app/start ``` ## Development Server @@ -23,7 +23,7 @@ BUILD_ENV=development npm run do server_manager/electron_app/run To run the Outline Manager as a web app on the browser and listen for changes: ``` -npm run do server_manager/web_app/run +npm run action server_manager/web_app/start ``` ## Gallery Server for UI Development @@ -31,7 +31,7 @@ npm run do server_manager/web_app/run We have a server app to for quickly iterating on UI components. To spin it up, run ``` -npm run do server_manager/web_app/run_gallery +npm run action server_manager/web_app/start_gallery ``` Changes to UI components will be hot reloaded into the gallery. @@ -45,7 +45,7 @@ This will enable the Developer menu on the application window. To build the app binary: ``` -npm run do server_manager/electron_app/package_${PLATFORM} +npm run action server_manager/electron_app/package_${PLATFORM} ``` Where `${PLATFORM}` is one of `linux`, `macos`, `only_windows`. @@ -60,7 +60,7 @@ The per-platform standalone apps will be at `build/electron_app/static/dist`. To perform a release, use ``` -npm run do server_manager/electron_app/release +npm run action server_manager/electron_app/release ``` This will perform a clean and reinstall all dependencies to make sure the build is not tainted. @@ -70,7 +70,7 @@ This will perform a clean and reinstall all dependencies to make sure the build To enable error reporting through [Sentry](https://sentry.io/) for local builds, run: ``` bash export SENTRY_DSN=[Sentry development API key] -npm run do server_manager/electron_app/run +npm run action server_manager/electron_app/start ``` Release builds on CI are configured with a production Sentry API key. diff --git a/src/shadowbox/README.md b/src/shadowbox/README.md index 529fa886..e9cdd075 100644 --- a/src/shadowbox/README.md +++ b/src/shadowbox/README.md @@ -36,7 +36,7 @@ Besides [Node](https://nodejs.org/en/download/) you will also need: Build and run the server as a Node.js app: ``` -npm run do shadowbox/server/run +npm run action shadowbox/server/start ``` The output will be at `build/shadowbox/app`. @@ -46,7 +46,7 @@ The output will be at `build/shadowbox/app`. Build the image and run server: ``` -npm run do shadowbox/docker/run +npm run action shadowbox/docker/start ``` You should be able to successfully query the management API: @@ -56,7 +56,7 @@ curl --insecure https://[::]:8081/TestApiPrefix/server To build the image only: ``` -npm run do shadowbox/docker/build +npm run action shadowbox/docker/build ``` Debug image: @@ -136,14 +136,14 @@ upload it to your favorite registry Then set your `SB_IMAGE` environment variable to point to the image you just uploaded (e.g. `export SB_IMAGE=yourdockerhubusername/shadowbox`) and -run `npm run do server_manager/electron_app/run` and your droplet should be created with your +run `npm run action server_manager/electron_app/start` and your droplet should be created with your modified image. ### Automated To run the integration test: ``` -npm run do shadowbox/integration_test/run +npm run action shadowbox/integration_test/start ``` This will set up three containers and two networks: @@ -156,12 +156,12 @@ client <-> shadowbox <-> target To test clients that rely on fetching a docker image from Dockerhub, you can push an image to your account and modify the client to use your image. To push your own image: ``` -npm run do shadowbox/docker/build && docker tag quay.io/outline/shadowbox $USER/shadowbox && docker push $USER/shadowbox +npm run action shadowbox/docker/build && docker tag quay.io/outline/shadowbox $USER/shadowbox && docker push $USER/shadowbox ``` If you need to test an unsigned image (e.g. your dev one): ``` -DOCKER_CONTENT_TRUST=0 SB_IMAGE=$USER/shadowbox npm run do shadowbox/integration_test/run +DOCKER_CONTENT_TRUST=0 SB_IMAGE=$USER/shadowbox npm run action shadowbox/integration_test/start ``` You can add tags if you need different versions in different clients. @@ -175,4 +175,4 @@ start-up time, then you mey need to remove the pre-existing test config: rm /tmp/outline/persisted-state/shadowbox_server_config.json ``` -This will warn about deleting a write-protected file, which is okay to ignore. You will then need to hand-edit the JSON string in src/shadowbox/docker/run_action.sh. +This will warn about deleting a write-protected file, which is okay to ignore. You will then need to hand-edit the JSON string in src/shadowbox/docker/start_action.sh. diff --git a/src/shadowbox/docker/Dockerfile b/src/shadowbox/docker/Dockerfile index 295222d0..d8dc7fd3 100644 --- a/src/shadowbox/docker/Dockerfile +++ b/src/shadowbox/docker/Dockerfile @@ -31,7 +31,7 @@ COPY scripts scripts/ COPY src src/ COPY tsconfig.json ./ COPY third_party third_party -RUN ROOT_DIR=/ npm run do shadowbox/server/build +RUN ROOT_DIR=/ npm run action shadowbox/server/build # shadowbox image FROM ${NODE_IMAGE} diff --git a/src/shadowbox/docker/build_action.sh b/src/shadowbox/docker/build.action.sh similarity index 100% rename from src/shadowbox/docker/build_action.sh rename to src/shadowbox/docker/build.action.sh diff --git a/src/shadowbox/docker/run_action.sh b/src/shadowbox/docker/start.action.sh similarity index 98% rename from src/shadowbox/docker/run_action.sh rename to src/shadowbox/docker/start.action.sh index 461ab65a..2be9048d 100755 --- a/src/shadowbox/docker/run_action.sh +++ b/src/shadowbox/docker/start.action.sh @@ -14,7 +14,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -do_action shadowbox/docker/build +run_action shadowbox/docker/build RUN_ID="${RUN_ID:-$(date +%Y-%m-%d-%H%M%S)}" readonly RUN_ID diff --git a/src/shadowbox/integration_test/run_action.sh b/src/shadowbox/integration_test/start.action.sh similarity index 96% rename from src/shadowbox/integration_test/run_action.sh rename to src/shadowbox/integration_test/start.action.sh index 916fd019..953fc178 100755 --- a/src/shadowbox/integration_test/run_action.sh +++ b/src/shadowbox/integration_test/start.action.sh @@ -14,7 +14,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -do_action shadowbox/docker/build +run_action shadowbox/docker/build LOGFILE="$(mktemp)" readonly LOGFILE diff --git a/src/shadowbox/server/build_action.sh b/src/shadowbox/server/build.action.sh similarity index 100% rename from src/shadowbox/server/build_action.sh rename to src/shadowbox/server/build.action.sh diff --git a/src/shadowbox/server/run_action.sh b/src/shadowbox/server/start.action.sh similarity index 97% rename from src/shadowbox/server/run_action.sh rename to src/shadowbox/server/start.action.sh index 60ab0287..b36e2b0e 100755 --- a/src/shadowbox/server/run_action.sh +++ b/src/shadowbox/server/start.action.sh @@ -14,7 +14,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -do_action shadowbox/server/build +run_action shadowbox/server/build RUN_ID="${RUN_ID:-$(date +%Y-%m-%d-%H%M%S)}" readonly RUN_DIR="/tmp/outline/${RUN_ID}" diff --git a/src/shadowbox/test_action.sh b/src/shadowbox/test.action.sh similarity index 100% rename from src/shadowbox/test_action.sh rename to src/shadowbox/test.action.sh From b40b9beb7213a8a574194deb64209e020a483a44 Mon Sep 17 00:00:00 2001 From: Daniel LaCosse Date: Mon, 1 Nov 2021 14:01:08 -0400 Subject: [PATCH 2/2] Update test.yml --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index f146d836..0a3a7dc6 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -34,7 +34,7 @@ jobs: run: NODE_DTRACE_PROVIDER_REQUIRE=hard npm ci - name: Lint - run: npm lint + run: npm run lint - name: Manager run: |