From e6ddbff9fb4f479b6b365a515311f008484d14f4 Mon Sep 17 00:00:00 2001 From: Adam Perry Date: Sat, 11 Apr 2020 21:46:58 -0700 Subject: [PATCH 01/47] start moving ci to github actions --- .cargo/{config => config.toml} | 0 .circleci/config.yml | 472 ++++++++++++--------------------- .github/workflows/main.yml | 42 +++ 3 files changed, 213 insertions(+), 301 deletions(-) rename .cargo/{config => config.toml} (100%) create mode 100644 .github/workflows/main.yml diff --git a/.cargo/config b/.cargo/config.toml similarity index 100% rename from .cargo/config rename to .cargo/config.toml diff --git a/.circleci/config.yml b/.circleci/config.yml index 0d2f8f3..1ddf15b 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,301 +1,171 @@ -version: 2 -anchors: - - &rust_job - docker: - - image: rust:latest - - - &setup - run: - name: Set up the environment - command: | - git submodule update --init --recursive - - # used in lolbench's tests -- we want to test committing to data dirs - git config --global pull.rebase true - git config --global user.email 'adam.n.perry+lolbench@gmail.com' - git config --global user.name "lolbench" - - - &install_deps - run: - name: Install workspace dependencies - command: | - apt-get update -y - apt-get upgrade -y - apt-get install -y llvm-dev libclang-dev clang cmake - - - &restore_cache - restore_cache: - key: cargo-v0-{{ checksum "Cargo.lock" }}-{{ checksum "rust-toolchain" }} - - - &save_cache - save_cache: - key: cargo-v0-{{ checksum "Cargo.lock" }}-{{ checksum "rust-toolchain" }} - paths: - - ~/.cargo - - ~/.rustup - - - &store_target_dir - store_artifacts: - path: ~/project/target - - - &bench_crate - <<: *rust_job - environment: - LOLBENCH_DATA_DIR: /tmp/lolbench - steps: - - checkout - - *setup - # - *restore_cache - - *install_deps - - run: - name: test benchmark crate - command: cargo test --release --manifest-path "./benches/$CIRCLE_JOB/Cargo.toml" - - *save_cache - - *store_target_dir - - persist_to_workspace: - root: /tmp/lolbench - paths: - # go's globbing library makes me sad, no ** for any-length path segments? - # thankfully we only have two layers in storage atm - - "*/*.json" - -jobs: - fmt: - <<: *rust_job - steps: - - checkout - - *setup - - run: rustup component add rustfmt-preview - - run: cargo fmt-core -- --check - - core: - <<: *rust_job - steps: - - checkout - - *setup - # - *restore_cache - - *install_deps - - run: cargo test-core - - run: - name: build website - command: | - pushd .. - mkdir lolbench-site - git clone https://github.com/anp/lolbench-data.git - popd - - cargo build-website --data-dir ../lolbench-data --output-dir ~/lolbench-site - - *save_cache - - *store_target_dir - - store_artifacts: - path: ~/lolbench-site - - persist_to_workspace: - root: ~/lolbench-site - paths: - - "*" - - screenshots: - docker: - - image: circleci/node:10 - steps: - - checkout - - attach_workspace: - at: ~/lolbench-site - - run: - name: install chromium - command: | - sudo apt-get update - # https://github.com/GoogleChrome/puppeteer/blob/master/docs/troubleshooting.md - sudo apt-get install \ - gconf-service libasound2 libatk1.0-0 libatk-bridge2.0-0 libc6 libcairo2 libcups2 \ - libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 \ - libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 \ - libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 \ - libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates \ - fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget - - run: - name: install script deps - working_directory: tools - command: npm ci - - run: - name: take screenshots - working_directory: tools - command: npm run screenshots -- --siteDir ~/lolbench-site --outputDir ~/screenshots - - store_artifacts: - path: ~/screenshots - - deploy: - docker: - - image: circleci/node:10 - steps: - - checkout - - *setup - - run: - name: install deployment deps - command: | - # https://docs.ansible.com/ansible/2.5/installation_guide/intro_installation.html - echo 'deb http://ppa.launchpad.net/ansible/ansible/ubuntu trusty main' | \ - sudo tee -a /etc/apt/sources.list - sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367 - sudo apt-get update - sudo apt-get install ansible - - - run: - name: setup deploy secrets - command: | - mkdir -p ~/.ssh - echo "$LOLBENCH_DEPLOY_KEY" | base64 -d > ~/.ssh/id_ed25519 - chmod 0600 ~/.ssh/id_ed25519 - echo "$ANSIBLE_VAULT_PASSWORD" > .ansible-vault-password - - # trust all ansible hosts - mkdir -p ~/.ssh - grep runner= deploy/hosts | cut -d' ' -f1 | xargs ssh-keyscan >> ~/.ssh/known_hosts - - - run: ./deploy.sh $CIRCLE_SHA1 - - rebalance: - <<: *rust_job - steps: - - checkout - - *setup - # - *restore_cache - - attach_workspace: - at: /tmp/lolbench - - *install_deps - - run: cargo rebalance-benchmarks --sample-dir /tmp/lolbench - - run: cd /tmp && tar -cvzf lolbench-data-dir.tar.gz lolbench - - *save_cache - - store_artifacts: - path: registry.toml - - store_artifacts: - path: /tmp/lolbench - - store_artifacts: - path: /tmp/lolbench-data-dir.tar.gz - - brotli_1_1_3: - <<: *bench_crate - byteorder_1_2_6: - <<: *bench_crate - inflate_0_3_4: - <<: *bench_crate - rayon_1_0_0: - <<: *bench_crate - crossbeam_epoch_0_4_0: - <<: *bench_crate - json_benchmark_c7d3d9b: - <<: *bench_crate - raytrace_8de9020: - <<: *bench_crate - diesel_1_1_1: - <<: *bench_crate - nom_4_0_0: - <<: *bench_crate - regex_0_2_6: - <<: *bench_crate - doom_9e197d7: - <<: *bench_crate - quickcheck_0_6_1: - <<: *bench_crate - sha2_0_8_0: - <<: *bench_crate - sha3_0_8_0: - <<: *bench_crate - snap_0_2_4: - <<: *bench_crate - csv_1_0_2: - <<: *bench_crate - clap_2_31_2: - <<: *bench_crate - -workflows: - version: 2 - main: - jobs: - - fmt - - core: - requires: - - fmt - - rebalance: - requires: - - brotli_1_1_3 - - byteorder_1_2_6 - - crossbeam_epoch_0_4_0 - - csv_1_0_2 - - diesel_1_1_1 - - doom_9e197d7 - - inflate_0_3_4 - - json_benchmark_c7d3d9b - - nom_4_0_0 - - quickcheck_0_6_1 - - rayon_1_0_0 - - raytrace_8de9020 - - regex_0_2_6 - - sha2_0_8_0 - - sha3_0_8_0 - - snap_0_2_4 - - clap_2_31_2 - - screenshots: - requires: - - core - - brotli_1_1_3: - requires: - - fmt - - byteorder_1_2_6: - requires: - - fmt - - inflate_0_3_4: - requires: - - fmt - - rayon_1_0_0: - requires: - - fmt - - crossbeam_epoch_0_4_0: - requires: - - fmt - - json_benchmark_c7d3d9b: - requires: - - fmt - - raytrace_8de9020: - requires: - - fmt - - diesel_1_1_1: - requires: - - fmt - - nom_4_0_0: - requires: - - fmt - - regex_0_2_6: - requires: - - fmt - - doom_9e197d7: - requires: - - fmt - - quickcheck_0_6_1: - requires: - - fmt - - sha2_0_8_0: - requires: - - fmt - - sha3_0_8_0: - requires: - - fmt - - snap_0_2_4: - requires: - - fmt - - csv_1_0_2: - requires: - - fmt - - clap_2_31_2: - requires: - - fmt - - deploy: - filters: - branches: - only: - - master - requires: - - fmt - - core - - rebalance - - screenshots + # - &store_target_dir + # store_artifacts: + # path: ~/project/target + + # - &bench_crate + # <<: *rust_job + # environment: + # LOLBENCH_DATA_DIR: /tmp/lolbench + # steps: + # - checkout + # - *setup + # # - *restore_cache + # - *install_deps + # - run: + # name: test benchmark crate + # command: cargo test --release --manifest-path "./benches/$CIRCLE_JOB/Cargo.toml" + # - *save_cache + # - *store_target_dir + # - persist_to_workspace: + # root: /tmp/lolbench + # paths: + # # go's globbing library makes me sad, no ** for any-length path segments? + # # thankfully we only have two layers in storage atm + # - "*/*.json" + + # - run: + # name: build website + # command: | + # pushd .. + # mkdir lolbench-site + # git clone https://github.com/anp/lolbench-data.git + # popd + + # cargo build-website --data-dir ../lolbench-data --output-dir ~/lolbench-site + # - store_artifacts: + # path: ~/lolbench-site + + # screenshots: + # docker: + # - image: circleci/node:10 + # steps: + # - checkout + # - attach_workspace: + # at: ~/lolbench-site + # - run: + # name: install chromium + # command: | + # sudo apt-get update + # # https://github.com/GoogleChrome/puppeteer/blob/master/docs/troubleshooting.md + # sudo apt-get install \ + # gconf-service libasound2 libatk1.0-0 libatk-bridge2.0-0 libc6 libcairo2 libcups2 \ + # libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 \ + # libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 \ + # libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 \ + # libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates \ + # fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget + # - run: + # name: install script deps + # working_directory: tools + # command: npm ci + # - run: + # name: take screenshots + # working_directory: tools + # command: npm run screenshots -- --siteDir ~/lolbench-site --outputDir ~/screenshots + # - store_artifacts: + # path: ~/screenshots + + # deploy: + # docker: + # - image: circleci/node:10 + # steps: + # - checkout + # - *setup + # - run: + # name: install deployment deps + # command: | + # # https://docs.ansible.com/ansible/2.5/installation_guide/intro_installation.html + # echo 'deb http://ppa.launchpad.net/ansible/ansible/ubuntu trusty main' | \ + # sudo tee -a /etc/apt/sources.list + # sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367 + # sudo apt-get update + # sudo apt-get install ansible + + # - run: + # name: setup deploy secrets + # command: | + # mkdir -p ~/.ssh + # echo "$LOLBENCH_DEPLOY_KEY" | base64 -d > ~/.ssh/id_ed25519 + # chmod 0600 ~/.ssh/id_ed25519 + # echo "$ANSIBLE_VAULT_PASSWORD" > .ansible-vault-password + + # # trust all ansible hosts + # mkdir -p ~/.ssh + # grep runner= deploy/hosts | cut -d' ' -f1 | xargs ssh-keyscan >> ~/.ssh/known_hosts + + # - run: ./deploy.sh $CIRCLE_SHA1 + + # rebalance: + # <<: *rust_job + # steps: + # - checkout + # - *setup + # # - *restore_cache + # - attach_workspace: + # at: /tmp/lolbench + # - *install_deps + # - run: cargo rebalance-benchmarks --sample-dir /tmp/lolbench + # - run: cd /tmp && tar -cvzf lolbench-data-dir.tar.gz lolbench + # - *save_cache + # - store_artifacts: + # path: registry.toml + # - store_artifacts: + # path: /tmp/lolbench + # - store_artifacts: + # path: /tmp/lolbench-data-dir.tar.gz + +# workflows: +# version: 2 +# main: +# jobs: +# - rebalance: +# requires: +# - brotli_1_1_3 +# - byteorder_1_2_6 +# - crossbeam_epoch_0_4_0 +# - csv_1_0_2 +# - diesel_1_1_1 +# - doom_9e197d7 +# - inflate_0_3_4 +# - json_benchmark_c7d3d9b +# - nom_4_0_0 +# - quickcheck_0_6_1 +# - rayon_1_0_0 +# - raytrace_8de9020 +# - regex_0_2_6 +# - sha2_0_8_0 +# - sha3_0_8_0 +# - snap_0_2_4 +# - clap_2_31_2 +# - screenshots: +# requires: +# - core + +# brotli_1_1_3 +# byteorder_1_2_6 +# inflate_0_3_4 +# rayon_1_0_0 +# crossbeam_epoch_0_4_0 +# json_benchmark_c7d3d9b +# raytrace_8de9020 +# diesel_1_1_1 +# nom_4_0_0 +# regex_0_2_6 +# doom_9e197d7 +# quickcheck_0_6_1 +# sha2_0_8_0 +# sha3_0_8_0 +# snap_0_2_4 +# csv_1_0_2 +# clap_2_31_2 + + # - deploy: + # filters: + # branches: + # only: + # - master + # requires: + # - fmt + # - core + # - rebalance + # - screenshots diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..6425084 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,42 @@ +on: [push, pull_request] +jobs: + core: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@master + - uses: actions-rs/toolchain@v1 + + - name: cache cargo registry + uses: actions/cache@v1 + with: + path: ~/.cargo/registry + key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }} + restore-keys: | + ${{ runner.os }}-cargo-registry- + - name: cache cargo index + uses: actions/cache@v1 + with: + path: ~/.cargo/git + key: ${{ runner.os }}-cargo-index-${{ hashFiles('**/Cargo.lock') }} + restore-keys: | + ${{ runner.os }}-cargo-index- + + - run: cargo test-core + + clippy: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@master + - uses: actions-rs/clippy-check@v1 + with: + token: ${{ secrets.GITHUB_TOKEN }} + args: --all-features + + fmt: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@master + - uses: actions-rs/toolchain@v1 + with: + components: rustfmt + - run: cargo fmt-core -- --check \ No newline at end of file From d02b09dca513c53dc4a8540354ec8123b93b096e Mon Sep 17 00:00:00 2001 From: Adam Perry Date: Sat, 11 Apr 2020 21:48:09 -0700 Subject: [PATCH 02/47] rename circle config so it stops running --- .circleci/{config.yml => old.yml} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .circleci/{config.yml => old.yml} (100%) diff --git a/.circleci/config.yml b/.circleci/old.yml similarity index 100% rename from .circleci/config.yml rename to .circleci/old.yml From f6f62289949789499ca8c3e73e339a901daa95c8 Mon Sep 17 00:00:00 2001 From: Adam Perry Date: Sat, 11 Apr 2020 21:54:23 -0700 Subject: [PATCH 03/47] rename config.toml to old name, need to use old toolchain still --- .cargo/{config.toml => config} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename .cargo/{config.toml => config} (80%) diff --git a/.cargo/config.toml b/.cargo/config similarity index 80% rename from .cargo/config.toml rename to .cargo/config index a72b194..642eba0 100644 --- a/.cargo/config.toml +++ b/.cargo/config @@ -12,8 +12,8 @@ fmt build-website='run -- build-website' rebalance-benchmarks='run -- rebalance-benchmarks' -build-all='build --all --all-targets' -test-all='test --all --all-targets --release' +build-all='build --workspace --all-targets' +test-all='test --workspace --all-targets --release' test-core=''' test --package lolbench From 9098031a80668537e948268313309f8da0dc234b Mon Sep 17 00:00:00 2001 From: Adam Perry Date: Sat, 11 Apr 2020 22:02:29 -0700 Subject: [PATCH 04/47] merge fmt and clippy into lint step --- .circleci/old.yml | 60 +------------------------------------- .github/workflows/main.yml | 38 +++++++++++------------- 2 files changed, 18 insertions(+), 80 deletions(-) diff --git a/.circleci/old.yml b/.circleci/old.yml index 1ddf15b..7d2695a 100644 --- a/.circleci/old.yml +++ b/.circleci/old.yml @@ -66,47 +66,16 @@ # path: ~/screenshots # deploy: - # docker: - # - image: circleci/node:10 - # steps: - # - checkout - # - *setup - # - run: - # name: install deployment deps - # command: | - # # https://docs.ansible.com/ansible/2.5/installation_guide/intro_installation.html - # echo 'deb http://ppa.launchpad.net/ansible/ansible/ubuntu trusty main' | \ - # sudo tee -a /etc/apt/sources.list - # sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367 - # sudo apt-get update - # sudo apt-get install ansible - - # - run: - # name: setup deploy secrets - # command: | - # mkdir -p ~/.ssh - # echo "$LOLBENCH_DEPLOY_KEY" | base64 -d > ~/.ssh/id_ed25519 - # chmod 0600 ~/.ssh/id_ed25519 - # echo "$ANSIBLE_VAULT_PASSWORD" > .ansible-vault-password - - # # trust all ansible hosts - # mkdir -p ~/.ssh - # grep runner= deploy/hosts | cut -d' ' -f1 | xargs ssh-keyscan >> ~/.ssh/known_hosts - + # - run: sudo apt-get install ansible # - run: ./deploy.sh $CIRCLE_SHA1 # rebalance: # <<: *rust_job # steps: - # - checkout - # - *setup - # # - *restore_cache # - attach_workspace: # at: /tmp/lolbench - # - *install_deps # - run: cargo rebalance-benchmarks --sample-dir /tmp/lolbench # - run: cd /tmp && tar -cvzf lolbench-data-dir.tar.gz lolbench - # - *save_cache # - store_artifacts: # path: registry.toml # - store_artifacts: @@ -114,33 +83,6 @@ # - store_artifacts: # path: /tmp/lolbench-data-dir.tar.gz -# workflows: -# version: 2 -# main: -# jobs: -# - rebalance: -# requires: -# - brotli_1_1_3 -# - byteorder_1_2_6 -# - crossbeam_epoch_0_4_0 -# - csv_1_0_2 -# - diesel_1_1_1 -# - doom_9e197d7 -# - inflate_0_3_4 -# - json_benchmark_c7d3d9b -# - nom_4_0_0 -# - quickcheck_0_6_1 -# - rayon_1_0_0 -# - raytrace_8de9020 -# - regex_0_2_6 -# - sha2_0_8_0 -# - sha3_0_8_0 -# - snap_0_2_4 -# - clap_2_31_2 -# - screenshots: -# requires: -# - core - # brotli_1_1_3 # byteorder_1_2_6 # inflate_0_3_4 diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 6425084..09dc395 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -3,40 +3,36 @@ jobs: core: runs-on: ubuntu-latest steps: - - uses: actions/checkout@master - - uses: actions-rs/toolchain@v1 - - - name: cache cargo registry + # set up cache + - name: cache cargo index uses: actions/cache@v1 with: - path: ~/.cargo/registry - key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }} + path: ~/.cargo/git + key: cargo-index-${{ hashFiles('**/Cargo.lock') }} restore-keys: | - ${{ runner.os }}-cargo-registry- - - name: cache cargo index + cargo-index- + - name: cache cargo registry uses: actions/cache@v1 with: - path: ~/.cargo/git - key: ${{ runner.os }}-cargo-index-${{ hashFiles('**/Cargo.lock') }} + path: ~/.cargo/registry + key: cargo-registry-${{ hashFiles('**/Cargo.lock') }} restore-keys: | - ${{ runner.os }}-cargo-index- + cargo-registry- + # check out and run tests + - uses: actions/checkout@master + - uses: actions-rs/toolchain@v1 - run: cargo test-core - clippy: + lint: runs-on: ubuntu-latest steps: - uses: actions/checkout@master + - uses: actions-rs/toolchain@v1 + with: + components: clippy, rustfmt - uses: actions-rs/clippy-check@v1 with: token: ${{ secrets.GITHUB_TOKEN }} args: --all-features - - fmt: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@master - - uses: actions-rs/toolchain@v1 - with: - components: rustfmt - - run: cargo fmt-core -- --check \ No newline at end of file + - run: cargo fmt-core -- --check From 305820fc764405412c3967f3df1a56cb141bd8a7 Mon Sep 17 00:00:00 2001 From: Adam Perry Date: Sat, 11 Apr 2020 22:03:27 -0700 Subject: [PATCH 05/47] hash correct files --- .github/workflows/main.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 09dc395..17d329b 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -3,6 +3,7 @@ jobs: core: runs-on: ubuntu-latest steps: + - uses: actions/checkout@master # set up cache - name: cache cargo index uses: actions/cache@v1 @@ -19,8 +20,6 @@ jobs: restore-keys: | cargo-registry- - # check out and run tests - - uses: actions/checkout@master - uses: actions-rs/toolchain@v1 - run: cargo test-core From 12482ea83332eda3ab93ccf73a7803a482acc4fb Mon Sep 17 00:00:00 2001 From: Adam Perry Date: Sat, 11 Apr 2020 22:04:36 -0700 Subject: [PATCH 06/47] checkout submodules --- .github/workflows/main.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 17d329b..da16709 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -3,7 +3,9 @@ jobs: core: runs-on: ubuntu-latest steps: - - uses: actions/checkout@master + - uses: actions/checkout@v2 + with: + submodules: true # set up cache - name: cache cargo index uses: actions/cache@v1 @@ -26,7 +28,9 @@ jobs: lint: runs-on: ubuntu-latest steps: - - uses: actions/checkout@master + - uses: actions/checkout@v2 + with: + submodules: true - uses: actions-rs/toolchain@v1 with: components: clippy, rustfmt From 741e000c5ab875499ceae7e7bd33c4077264692f Mon Sep 17 00:00:00 2001 From: Adam Perry Date: Sat, 11 Apr 2020 22:18:19 -0700 Subject: [PATCH 07/47] use action for cargo, configure git for tests --- .github/workflows/main.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index da16709..8b8f73d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -6,6 +6,7 @@ jobs: - uses: actions/checkout@v2 with: submodules: true + - run: git config user.name "lolbench CI" && git config user.email "lolbench@anp.lol" # set up cache - name: cache cargo index uses: actions/cache@v1 @@ -23,7 +24,9 @@ jobs: cargo-registry- - uses: actions-rs/toolchain@v1 - - run: cargo test-core + - uses: actions-rs/cargo@v1 + with: + command: test-core lint: runs-on: ubuntu-latest From 669f2349c16bb893532c9e8eda64700ed5c8572b Mon Sep 17 00:00:00 2001 From: Adam Perry Date: Sat, 11 Apr 2020 22:23:02 -0700 Subject: [PATCH 08/47] update runners config --- deploy/hosts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/deploy/hosts b/deploy/hosts index bafd073..c4b3374 100644 --- a/deploy/hosts +++ b/deploy/hosts @@ -1,6 +1,6 @@ [runners] -molly.lolbench.rs runner=molly allowed_cpus=0-20 -sally.lolbench.rs runner=sally allowed_cpus=0-20 +molly.lolbench.rs runner=molly allowed_cpus=0-6 +wilhelm.lolbench.rs runner=wilhelm allowed_cpus=0-6 [runners:vars] data_dir=/home/adam/lolbench-data From d671b24c32c752e635abcb9e4ce614ed48945598 Mon Sep 17 00:00:00 2001 From: Adam Perry Date: Sat, 11 Apr 2020 22:23:44 -0700 Subject: [PATCH 09/47] see if gha supports a default event --- .github/workflows/main.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 8b8f73d..f642dcb 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,4 +1,3 @@ -on: [push, pull_request] jobs: core: runs-on: ubuntu-latest From 446dfdab3904b9cd1c72930a73a31c7e30c23333 Mon Sep 17 00:00:00 2001 From: Adam Perry Date: Sat, 11 Apr 2020 22:24:23 -0700 Subject: [PATCH 10/47] oopsie --- .github/workflows/main.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index f642dcb..8b8f73d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,3 +1,4 @@ +on: [push, pull_request] jobs: core: runs-on: ubuntu-latest From b827d49f30f4f50aa8c4caf2a4a94f1701287806 Mon Sep 17 00:00:00 2001 From: Adam Perry Date: Sat, 11 Apr 2020 23:29:01 -0700 Subject: [PATCH 11/47] fix criterion clippy lints --- criterion | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/criterion b/criterion index 9e2a547..7857a42 160000 --- a/criterion +++ b/criterion @@ -1 +1 @@ -Subproject commit 9e2a54710b0afcaee98991376ac9abb164bfadaa +Subproject commit 7857a42b31ada52249bd26b935ee20d4b853db41 From 223ad1de16c56c9c2f0cf501283fb5f6ce58e7db Mon Sep 17 00:00:00 2001 From: Adam Perry Date: Sun, 12 Apr 2020 08:28:41 -0700 Subject: [PATCH 12/47] try git config globally --- .github/workflows/main.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 8b8f73d..a169024 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -6,7 +6,9 @@ jobs: - uses: actions/checkout@v2 with: submodules: true - - run: git config user.name "lolbench CI" && git config user.email "lolbench@anp.lol" + # tests rely on git being configured right now + - run: git config --global user.name "lolbench CI" + - run: git config --global user.email "lolbench@anp.lol" # set up cache - name: cache cargo index uses: actions/cache@v1 From 4a92ecb4307bba283d255c6fdb957b857392a241 Mon Sep 17 00:00:00 2001 From: Adam Perry Date: Sun, 12 Apr 2020 11:29:40 -0700 Subject: [PATCH 13/47] build brotli as a trial --- .circleci/old.yml | 38 ++------------------------------------ .github/workflows/main.yml | 29 +++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 36 deletions(-) diff --git a/.circleci/old.yml b/.circleci/old.yml index 7d2695a..d65bff6 100644 --- a/.circleci/old.yml +++ b/.circleci/old.yml @@ -1,27 +1,10 @@ # - &store_target_dir # store_artifacts: # path: ~/project/target - # - &bench_crate - # <<: *rust_job - # environment: - # LOLBENCH_DATA_DIR: /tmp/lolbench - # steps: - # - checkout - # - *setup - # # - *restore_cache - # - *install_deps - # - run: - # name: test benchmark crate # command: cargo test --release --manifest-path "./benches/$CIRCLE_JOB/Cargo.toml" - # - *save_cache - # - *store_target_dir - # - persist_to_workspace: - # root: /tmp/lolbench - # paths: - # # go's globbing library makes me sad, no ** for any-length path segments? - # # thankfully we only have two layers in storage atm - # - "*/*.json" + # - persist_to_workspace: LOLBENCH_DATA_DIR + # - run: # name: build website @@ -83,23 +66,6 @@ # - store_artifacts: # path: /tmp/lolbench-data-dir.tar.gz -# brotli_1_1_3 -# byteorder_1_2_6 -# inflate_0_3_4 -# rayon_1_0_0 -# crossbeam_epoch_0_4_0 -# json_benchmark_c7d3d9b -# raytrace_8de9020 -# diesel_1_1_1 -# nom_4_0_0 -# regex_0_2_6 -# doom_9e197d7 -# quickcheck_0_6_1 -# sha2_0_8_0 -# sha3_0_8_0 -# snap_0_2_4 -# csv_1_0_2 -# clap_2_31_2 # - deploy: # filters: diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index a169024..8ff4b4b 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -44,3 +44,32 @@ jobs: token: ${{ secrets.GITHUB_TOKEN }} args: --all-features - run: cargo fmt-core -- --check + + brotli_1_1_3: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + submodules: true + - uses: actions-rs/toolchain@v1 + - uses: actions-rs/cargo@v1 + with: + command: test + args: --release --manifest-path "./benches/$GITHUB_ACTION/Cargo.toml" + + # byteorder_1_2_6: + # clap_2_31_2: + # crossbeam_epoch_0_4_0: + # csv_1_0_2: + # diesel_1_1_1: + # doom_9e197d7: + # inflate_0_3_4: + # json_benchmark_c7d3d9b: + # nom_4_0_0: + # quickcheck_0_6_1: + # rayon_1_0_0: + # raytrace_8de9020: + # regex_0_2_6: + # sha2_0_8_0: + # sha3_0_8_0: + # snap_0_2_4: \ No newline at end of file From 837abb78289207b4af7b2b5e31e5b4433e0b1cc4 Mon Sep 17 00:00:00 2001 From: Adam Perry Date: Sun, 12 Apr 2020 11:36:37 -0700 Subject: [PATCH 14/47] see if cargo package names are smart enough now --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 8ff4b4b..2112fd4 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -55,7 +55,7 @@ jobs: - uses: actions-rs/cargo@v1 with: command: test - args: --release --manifest-path "./benches/$GITHUB_ACTION/Cargo.toml" + args: --release --package brotli_1_1_3 # byteorder_1_2_6: # clap_2_31_2: From fc3e1cb776aabcc05336dff93a0752b8f2814cce Mon Sep 17 00:00:00 2001 From: Adam Perry Date: Sun, 12 Apr 2020 11:38:36 -0700 Subject: [PATCH 15/47] dump job context --- .github/workflows/main.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 2112fd4..430d91c 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -52,6 +52,10 @@ jobs: with: submodules: true - uses: actions-rs/toolchain@v1 + - name: Dump job context + env: + JOB_CONTEXT: ${{ toJson(job) }} + run: echo "$JOB_CONTEXT" - uses: actions-rs/cargo@v1 with: command: test From 9cce9b57f862301a3b22d31bf906c273486054cc Mon Sep 17 00:00:00 2001 From: Adam Perry Date: Sun, 12 Apr 2020 11:42:54 -0700 Subject: [PATCH 16/47] job context not useful --- .github/workflows/main.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 430d91c..2112fd4 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -52,10 +52,6 @@ jobs: with: submodules: true - uses: actions-rs/toolchain@v1 - - name: Dump job context - env: - JOB_CONTEXT: ${{ toJson(job) }} - run: echo "$JOB_CONTEXT" - uses: actions-rs/cargo@v1 with: command: test From 39bfd0d0cb50b7d77d2a1152951f9392af8a7093 Mon Sep 17 00:00:00 2001 From: Adam Perry Date: Sun, 12 Apr 2020 11:52:17 -0700 Subject: [PATCH 17/47] pull git config to a script so e2e tests are less noisy --- .github/workflows/git-config.sh | 5 +++++ .github/workflows/main.yml | 21 ++------------------- 2 files changed, 7 insertions(+), 19 deletions(-) create mode 100755 .github/workflows/git-config.sh diff --git a/.github/workflows/git-config.sh b/.github/workflows/git-config.sh new file mode 100755 index 0000000..ed63429 --- /dev/null +++ b/.github/workflows/git-config.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +# tests rely on git being configured right now +git config --global user.name "lolbench CI" +git config --global user.email "lolbench@anp.lol" diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 2112fd4..6a844e1 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -6,25 +6,7 @@ jobs: - uses: actions/checkout@v2 with: submodules: true - # tests rely on git being configured right now - - run: git config --global user.name "lolbench CI" - - run: git config --global user.email "lolbench@anp.lol" - # set up cache - - name: cache cargo index - uses: actions/cache@v1 - with: - path: ~/.cargo/git - key: cargo-index-${{ hashFiles('**/Cargo.lock') }} - restore-keys: | - cargo-index- - - name: cache cargo registry - uses: actions/cache@v1 - with: - path: ~/.cargo/registry - key: cargo-registry-${{ hashFiles('**/Cargo.lock') }} - restore-keys: | - cargo-registry- - + - run: .github/workflows/git-config.sh - uses: actions-rs/toolchain@v1 - uses: actions-rs/cargo@v1 with: @@ -52,6 +34,7 @@ jobs: with: submodules: true - uses: actions-rs/toolchain@v1 + - run: .github/workflows/git-config.sh - uses: actions-rs/cargo@v1 with: command: test From 67f307dca8fb5a4f1f64762382634531e099a89a Mon Sep 17 00:00:00 2001 From: Adam Perry Date: Sun, 12 Apr 2020 11:57:37 -0700 Subject: [PATCH 18/47] see if actions-rs/cargo just uses rust-toolchain --- .github/workflows/main.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 6a844e1..30bfb83 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -7,7 +7,6 @@ jobs: with: submodules: true - run: .github/workflows/git-config.sh - - uses: actions-rs/toolchain@v1 - uses: actions-rs/cargo@v1 with: command: test-core @@ -33,7 +32,6 @@ jobs: - uses: actions/checkout@v2 with: submodules: true - - uses: actions-rs/toolchain@v1 - run: .github/workflows/git-config.sh - uses: actions-rs/cargo@v1 with: From 0d066b1afa7d829bf2087aeecfd3926be687c8de Mon Sep 17 00:00:00 2001 From: Adam Perry Date: Sun, 12 Apr 2020 12:40:14 -0700 Subject: [PATCH 19/47] attempt uploading an artifact from brotli --- .github/workflows/main.yml | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 30bfb83..447fec0 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,4 +1,6 @@ on: [push, pull_request] +env: + LOLBENCH_DATA_DIR: /tmp/lolbench jobs: core: runs-on: ubuntu-latest @@ -27,6 +29,8 @@ jobs: - run: cargo fmt-core -- --check brotli_1_1_3: + env: + LOLBENCH_CRATE: brotli_1_1_3 runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 @@ -36,7 +40,11 @@ jobs: - uses: actions-rs/cargo@v1 with: command: test - args: --release --package brotli_1_1_3 + args: --release --package {{ env.LOLBENCH_CRATE }} + - uses: actions/upload-artifact@v1 + with: + name: {{ env.LOLBENCH_CRATE }} + path: {{ env.LOLBENCH_DATA_DIR }} # byteorder_1_2_6: # clap_2_31_2: @@ -53,4 +61,19 @@ jobs: # regex_0_2_6: # sha2_0_8_0: # sha3_0_8_0: - # snap_0_2_4: \ No newline at end of file + # snap_0_2_4: + + # rebalance: + # <<: *rust_job + # steps: + # - attach_workspace: + # at: /tmp/lolbench + # - run: cargo rebalance-benchmarks --sample-dir /tmp/lolbench + # - run: cd /tmp && tar -cvzf lolbench-data-dir.tar.gz lolbench + # - store_artifacts: + # path: registry.toml + # - store_artifacts: + # path: /tmp/lolbench + # - store_artifacts: + # path: /tmp/lolbench-data-dir.tar.gz + From 3c951ce9be89b48e2c4d66265b2336dd60f2aa0f Mon Sep 17 00:00:00 2001 From: Adam Perry Date: Sun, 12 Apr 2020 12:44:37 -0700 Subject: [PATCH 20/47] add rebalance job, use dollar signs for tempaltes --- .github/workflows/main.yml | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 447fec0..37f28c6 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -40,11 +40,11 @@ jobs: - uses: actions-rs/cargo@v1 with: command: test - args: --release --package {{ env.LOLBENCH_CRATE }} + args: --release --package ${{ env.LOLBENCH_CRATE }} - uses: actions/upload-artifact@v1 with: - name: {{ env.LOLBENCH_CRATE }} - path: {{ env.LOLBENCH_DATA_DIR }} + name: ${{ env.LOLBENCH_CRATE }} + path: ${{ env.LOLBENCH_DATA_DIR }} # byteorder_1_2_6: # clap_2_31_2: @@ -62,6 +62,14 @@ jobs: # sha2_0_8_0: # sha3_0_8_0: # snap_0_2_4: + rebalance: + needs: [brotli_1_1_3] + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + submodules: true + # TODO download artifacts to LOLBENCH_DATA_DIR # rebalance: # <<: *rust_job From 6aeb81df868f54370778edd918cfea5df0c76f15 Mon Sep 17 00:00:00 2001 From: Adam Perry Date: Sun, 12 Apr 2020 12:45:14 -0700 Subject: [PATCH 21/47] remove rebalance from old.yml --- .circleci/old.yml | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/.circleci/old.yml b/.circleci/old.yml index d65bff6..1d950b2 100644 --- a/.circleci/old.yml +++ b/.circleci/old.yml @@ -52,21 +52,6 @@ # - run: sudo apt-get install ansible # - run: ./deploy.sh $CIRCLE_SHA1 - # rebalance: - # <<: *rust_job - # steps: - # - attach_workspace: - # at: /tmp/lolbench - # - run: cargo rebalance-benchmarks --sample-dir /tmp/lolbench - # - run: cd /tmp && tar -cvzf lolbench-data-dir.tar.gz lolbench - # - store_artifacts: - # path: registry.toml - # - store_artifacts: - # path: /tmp/lolbench - # - store_artifacts: - # path: /tmp/lolbench-data-dir.tar.gz - - # - deploy: # filters: # branches: From e7a6a7e95c7f00df8808cf29472c245eb0d19922 Mon Sep 17 00:00:00 2001 From: Adam Perry Date: Sun, 12 Apr 2020 12:54:07 -0700 Subject: [PATCH 22/47] flesh out rebalance job --- .github/workflows/main.yml | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 37f28c6..085d7b7 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -69,19 +69,22 @@ jobs: - uses: actions/checkout@v2 with: submodules: true - # TODO download artifacts to LOLBENCH_DATA_DIR + - uses: actions/download-artifact@v1 + with: + name: brotli_1_1_3 + path: ${{ env.LOLBENCH_DATA_DIR }} - # rebalance: - # <<: *rust_job - # steps: - # - attach_workspace: - # at: /tmp/lolbench - # - run: cargo rebalance-benchmarks --sample-dir /tmp/lolbench - # - run: cd /tmp && tar -cvzf lolbench-data-dir.tar.gz lolbench - # - store_artifacts: - # path: registry.toml - # - store_artifacts: - # path: /tmp/lolbench - # - store_artifacts: - # path: /tmp/lolbench-data-dir.tar.gz + - uses: actions-rs/cargo@v1 + with: + command: rebalance-benchmarks + args: --sample-dir ${{ env.LOLBENCH_DATA_DIR }} + - uses: actions/upload-artifact@v1 + with: + name: final_data_dir + path: ${{ env.LOLBENCH_DATA_DIR }} + + - uses: actions/upload-artifact@v1 + with: + name: registry.toml.balanced + path: registry.toml From 3d2a740921e6bf25c9b7fa3c4f0aae11a1a4b7b4 Mon Sep 17 00:00:00 2001 From: Adam Perry Date: Sun, 12 Apr 2020 13:04:06 -0700 Subject: [PATCH 23/47] update docs --- README.md | 2 +- docs/adding-new-benchmarks.md | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index ca2ca36..853bdfc 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # lolbench -CI Status: [![CircleCI](https://circleci.com/gh/anp/lolbench/tree/master.svg?style=shield)](https://circleci.com/gh/anp/workflows/lolbench) +CI Status: [![GitHub](https://img.shields.io/github/workflow/status/anp/lolbench/master)](https://github.com/anp/lolbench/actions) This project is an effort to reproducibly benchmark "in the wild" Rust code against newer compiler versions to detect performance regressions. The data is currently published to [https://lolbench.rs](https://lolbench.rs). diff --git a/docs/adding-new-benchmarks.md b/docs/adding-new-benchmarks.md index 44057ad..8cb641f 100644 --- a/docs/adding-new-benchmarks.md +++ b/docs/adding-new-benchmarks.md @@ -25,7 +25,7 @@ Add any necessary dependencies to the benchmark crate, making sure to specify ex Add individual benchmarks functions to the new crate. A convenience macro is provided that will wrap an existing cargo benchmark in a criterion bench runner: `wrap_libtest!`, and an example benchmark which uses it is included with the generated benchmark crate. See more below for information on adapting benchmarks from existing frameworks. -Add the benchmark crate to the CI config under `.circleci/config.yml`. Make sure the new build is added under both the `jobs` key and the `workflow` key -- follow existing examples. The build job should be named the same as the new crate and thus its `benches/` subdirectory. You should also add the new job as a requirement for the `rebalance` job. +Add the benchmark crate to the CI config under `.github/workflows/main.yml`. Make sure the crate is listed as a new job -- follow existing examples. The build job should be named the same as the new crate and thus its `benches/` subdirectory. You should also add the new job as a requirement for the `rebalance` job, add its output to the list of artifacts to download. ### Adapting cargo/libtest benchmarks @@ -97,7 +97,7 @@ Don't attempt to assign the benchmark to a particular runner yet. If the benchma * the benchmark crate, including the generated targets under `bin` and `test` * changes to `registry.toml` -* changes to `.circleci/config.yml` +* changes to `.github/workflows/main.yml` CI will ensure that all other benchmarks still build on your PR, you don't need to run the test target for every benchmark crate locally. In your PR message please mention which 'benchmark needed' issue should be closed by your PR. @@ -105,8 +105,8 @@ CI will ensure that all other benchmarks still build on your PR, you don't need Once a PR with benchmarks is merged, we need to assign the new benchmark functions to different runners. We'd like this process to leave the runners each with a roughly equal amount of work, or at least close enough that it doesn't create bottlenecks. -Find the latest [CircleCI workflow on master][circleci-master-workflows], and wait for the `rebalance` job to finish. That job's artifacts include a new `registry.toml` with fresh assignments which you can download, commit, and PR if the changes seem reasonable. +Find the latest [workflow on master][master-workflows], and wait for the `rebalance` job to finish. That job's artifacts include a new `registry.toml` with fresh assignments which you can download, commit, and PR if the changes seem reasonable. -[circleci-master-workflows]: https://circleci.com/gh/anp/workflows/lolbench/tree/master +[master-workflows]: https://github.com/anp/lolbench/actions?query=workflow%3A.github%2Fworkflows%2Fmain.yml [rayon-benchmark-source]: https://github.com/rayon-rs/rayon/blob/5107676d50a261d10b79d8749fd4674498edf9ec/rayon-demo/src/fibonacci/mod.rs#L47-L61 [lolbench-rayon-benchmark-source]: https://github.com/anp/lolbench/blob/d89ddde39fc63361614118f59732549ba2b9c5d4/benches/rayon_1_0_0/src/fibonacci/mod.rs#L48-L64 From 352b523a26a924ac6d4698bec9e9af1fc0a1159a Mon Sep 17 00:00:00 2001 From: Adam Perry Date: Sun, 12 Apr 2020 13:24:39 -0700 Subject: [PATCH 24/47] update screenshot tool deps --- tools/package-lock.json | 1386 +++++++-------------------------------- tools/package.json | 10 +- 2 files changed, 246 insertions(+), 1150 deletions(-) diff --git a/tools/package-lock.json b/tools/package-lock.json index 7c679c5..fb76e01 100644 --- a/tools/package-lock.json +++ b/tools/package-lock.json @@ -4,136 +4,68 @@ "lockfileVersion": 1, "requires": true, "dependencies": { - "@mrmlnc/readdir-enhanced": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", - "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", + "@nodelib/fs.scandir": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz", + "integrity": "sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==", "requires": { - "call-me-maybe": "^1.0.1", - "glob-to-regexp": "^0.3.0" + "@nodelib/fs.stat": "2.0.3", + "run-parallel": "^1.1.9" } }, "@nodelib/fs.stat": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.2.tgz", - "integrity": "sha512-yprFYuno9FtNsSHVlSWd+nRlmGoAbqbeCwOryP6sC/zoCjhpArcRMYp19EvpSUSizJAlsXEwJv+wcWS9XaXdMw==" + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz", + "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==" }, - "agent-base": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz", - "integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==", + "@nodelib/fs.walk": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz", + "integrity": "sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==", "requires": { - "es6-promisify": "^5.0.0" + "@nodelib/fs.scandir": "2.1.3", + "fastq": "^1.6.0" } }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" + "@types/mime-types": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@types/mime-types/-/mime-types-2.1.0.tgz", + "integrity": "sha1-nKUs2jY/aZxpRmwqbM2q2RPqenM=" }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" - }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" + "agent-base": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-5.1.1.tgz", + "integrity": "sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g==" }, - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "aggregate-error": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.0.1.tgz", + "integrity": "sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA==", "requires": { - "array-uniq": "^1.0.1" + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" } }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=" - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" }, - "arrify": { + "async-limiter": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=" - }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" }, - "async-limiter": { + "at-least-node": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz", - "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==" - }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" }, "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -144,92 +76,27 @@ } }, "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } + "fill-range": "^7.0.1" } }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=" + }, "buffer-from": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - } - }, - "call-me-maybe": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", - "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=" - }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - } - }, - "component-emitter": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==" }, "concat-map": { "version": "0.0.1", @@ -247,100 +114,36 @@ "typedarray": "^0.0.6" } }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" - }, "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { "ms": "^2.1.1" } }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" - }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "dependencies": { - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, "dir-glob": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", - "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", - "requires": { - "arrify": "^1.0.1", - "path-type": "^3.0.0" - } - }, - "es6-promise": { - "version": "4.2.5", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.5.tgz", - "integrity": "sha512-n6wvpdE43VFtJq+lUDYDBFUwV8TZbuGXLV4D6wKafg13ldznKsyEvatubnmUe31zcvelSzOHF+XbaT+Bl9ObDg==" - }, - "es6-promisify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", - "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", "requires": { - "es6-promise": "^4.0.3" + "path-type": "^4.0.0" } }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "extract-zip": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz", + "integrity": "sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==", + "requires": { + "concat-stream": "^1.6.2", + "debug": "^2.6.9", + "mkdirp": "^0.5.4", + "yauzl": "^2.10.0" }, "dependencies": { "debug": { @@ -351,22 +154,6 @@ "ms": "2.0.0" } }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -374,173 +161,52 @@ } } }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "extract-zip": { - "version": "1.6.7", - "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.7.tgz", - "integrity": "sha1-qEC0uK9kAyZMjbV/Txp0Mz74H+k=", + "fast-glob": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.2.tgz", + "integrity": "sha512-UDV82o4uQyljznxwMxyVRJgZZt3O5wENYojjzbaGEGZgeOxkLFf+V4cnUD+krzb2F72E18RhamkMZ7AdeggF7A==", "requires": { - "concat-stream": "1.6.2", - "debug": "2.6.9", - "mkdirp": "0.5.1", - "yauzl": "2.4.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.0", + "merge2": "^1.3.0", + "micromatch": "^4.0.2", + "picomatch": "^2.2.1" } }, - "fast-glob": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.3.tgz", - "integrity": "sha512-NiX+JXjnx43RzvVFwRWfPKo4U+1BrK5pJPsHQdKMlLoFHrrGktXglQhHliSihWAq+m1z6fHk3uwGHrtRbS9vLA==", + "fastq": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.7.0.tgz", + "integrity": "sha512-YOadQRnHd5q6PogvAR/x62BGituF2ufiEA6s8aavQANw5YKHERI4AREboX6KotzP8oX2klxYF2wcV/7bn1clfQ==", "requires": { - "@mrmlnc/readdir-enhanced": "^2.2.1", - "@nodelib/fs.stat": "^1.0.1", - "glob-parent": "^3.1.0", - "is-glob": "^4.0.0", - "merge2": "^1.2.1", - "micromatch": "^3.1.10" + "reusify": "^1.0.4" } }, "fd-slicer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", - "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", "requires": { "pend": "~1.2.0" } }, "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" - }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "requires": { - "map-cache": "^0.2.2" + "to-regex-range": "^5.0.1" } }, "fs-extra": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.0.tgz", - "integrity": "sha512-EglNDLRpmaTWiD/qraZn6HREAEAHJcJOmxNEYwq6xeMKnVMAy3GUcFB+wXt2C6k4CNvB/mP1y/U3dzvKKj5OtQ==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.0.tgz", + "integrity": "sha512-pmEYSk3vYsG/bF651KPUXZ+hvjpgWYw/Gc7W9NFUe3ZVLczKKWIij3IKpOrQcdw4TILtibFslZ0UmR8Vvzig4g==", "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^1.0.0" } }, "fs.realpath": { @@ -548,15 +214,10 @@ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" - }, "glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -567,90 +228,49 @@ } }, "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "requires": { - "is-extglob": "^2.1.0" - } - } + "is-glob": "^4.0.1" } }, - "glob-to-regexp": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", - "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=" - }, "globby": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.1.tgz", - "integrity": "sha512-oMrYrJERnKBLXNLVTqhm3vPEdJ/b2ZE28xN4YARiix1NOIOBPEpOUnm844K1iu/BkphCaf2WNFwMszv8Soi1pw==", + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.0.tgz", + "integrity": "sha512-iuehFnR3xu5wBBtm4xi0dMe92Ob87ufyu/dHwpDYfbcpYpIbrO5OnS8M1vWvrBhSGEJ3/Ecj7gnX76P8YxpPEg==", "requires": { - "array-union": "^1.0.1", - "dir-glob": "^2.0.0", - "fast-glob": "^2.0.2", - "glob": "^7.1.2", - "ignore": "^3.3.5", - "pify": "^3.0.0", - "slash": "^1.0.0" + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" } }, "graceful-fs": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=" - }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", + "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==" }, "https-proxy-agent": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz", - "integrity": "sha512-HPCTS1LW51bcyMYbxUIOO4HEOlQ1/1qRaFWcyxvwaqUS9TY88aoEuHUY33kuAh1YhVVaDQhLZsnPd+XNARWZlQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz", + "integrity": "sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg==", "requires": { - "agent-base": "^4.1.0", - "debug": "^3.1.0" + "agent-base": "5", + "debug": "4" } }, "ignore": { - "version": "3.3.10", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", - "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==" + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.4.tgz", + "integrity": "sha512-MzbUSahkTW1u7JpKKjY7LCARd1fU5W2rLdxlM4kdkayuCwZImjkpluF9CM1aLewYJguPDqewLam18Y6AU69A8A==" + }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" }, "inflight": { "version": "1.0.6", @@ -662,72 +282,9 @@ } }, "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" - } - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "is-extglob": { "version": "2.1.1", @@ -735,109 +292,63 @@ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" }, "is-glob": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", - "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", "requires": { "is-extglob": "^2.1.1" } }, "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "requires": { - "isobject": "^3.0.1" - } - }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" - }, "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.0.1.tgz", + "integrity": "sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==", "requires": { - "graceful-fs": "^4.1.6" - } - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" - }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" - }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "requires": { - "object-visit": "^1.0.0" + "graceful-fs": "^4.1.6", + "universalify": "^1.0.0" } }, "merge2": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.2.2.tgz", - "integrity": "sha512-bgM8twH86rWni21thii6WCMQMRMmwqqdW3sGWi9IipnVAszdLXRjwDwAnyrVXo6DuP3AjRMMttZKUB48QWIFGg==" + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.3.0.tgz", + "integrity": "sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw==" }, "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" + "braces": "^3.0.1", + "picomatch": "^2.0.5" } }, "mime": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.3.1.tgz", - "integrity": "sha512-OEUllcVoydBHGN1z84yfQDimn58pZNNNXgZlHXSboxMlFvgI6MXSWpWKpFRra7H1HxpVhHTkrghfRW49k6yjeg==" + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", + "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==" + }, + "mime-db": { + "version": "1.43.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz", + "integrity": "sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==" + }, + "mime-types": { + "version": "2.1.26", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.26.tgz", + "integrity": "sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==", + "requires": { + "mime-db": "1.43.0" + } }, "minimatch": { "version": "3.0.4", @@ -848,110 +359,22 @@ } }, "minimist": { - "version": "1.2.0", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" - }, - "mixin-deep": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", - "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "requires": { - "is-plain-object": "^2.0.4" - } - } - } + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" }, "mkdirp": { - "version": "0.5.1", - "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", "requires": { - "minimist": "0.0.8" - }, - "dependencies": { - "minimist": { - "version": "0.0.8", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" - } + "minimist": "^1.2.5" } }, "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" - }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - } - }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "requires": { - "isobject": "^3.0.0" - } - }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "requires": { - "isobject": "^3.0.1" - } + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "once": { "version": "1.4.0", @@ -962,19 +385,12 @@ } }, "p-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.0.0.tgz", - "integrity": "sha512-GO107XdrSUmtHxVoi60qc9tUl/KkNKm+X2CF4P9amalpGxv5YqVPJNfSb0wcA+syCopkZvYYIzW8OVTQW59x/w==" - }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" - }, - "path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "requires": { + "aggregate-error": "^3.0.0" + } }, "path-is-absolute": { "version": "1.0.1", @@ -982,62 +398,56 @@ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "requires": { - "pify": "^3.0.0" - } + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" }, "pend": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" - }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" + "picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==" }, "process-nextick-args": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, "progress": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.0.tgz", - "integrity": "sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8=" + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" }, "proxy-from-env": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", - "integrity": "sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4=" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" }, "puppeteer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-1.9.0.tgz", - "integrity": "sha512-GH4PmhJf9wBRAPvtJkEJLAvdNNOofZortmBZSj8cGWYni98GUFqsf66blOEfJbo5B8l0KG5HR2d/W2MejnUrzg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-2.1.1.tgz", + "integrity": "sha512-LWzaDVQkk1EPiuYeTOj+CZRIjda4k2s5w4MK4xoH2+kgWV/SDlkYHmxatDdtYrciHUKSXTsGgPgPP8ILVdBsxg==", "requires": { - "debug": "^3.1.0", + "@types/mime-types": "^2.1.0", + "debug": "^4.1.0", "extract-zip": "^1.6.6", - "https-proxy-agent": "^2.2.1", + "https-proxy-agent": "^4.0.0", "mime": "^2.0.3", - "progress": "^2.0.0", + "mime-types": "^2.1.25", + "progress": "^2.0.1", "proxy-from-env": "^1.0.0", "rimraf": "^2.6.1", - "ws": "^5.1.1" + "ws": "^6.1.0" } }, "readable-stream": { - "version": "2.3.6", - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -1048,240 +458,33 @@ "util-deprecate": "~1.0.1" } }, - "regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - } - }, - "repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==" - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" - }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" - }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" }, "rimraf": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "requires": { - "glob": "^7.0.5" + "glob": "^7.1.3" } }, + "run-parallel": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz", + "integrity": "sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==" + }, "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, - "safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "requires": { - "ret": "~0.1.10" - } - }, - "set-value": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", - "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, "slash": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=" - }, - "snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "requires": { - "kind-of": "^3.2.0" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - }, - "source-map-resolve": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", - "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", - "requires": { - "atob": "^2.1.1", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" - }, - "split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "requires": { - "extend-shallow": "^3.0.0" - } - }, - "static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - } - } + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" }, "string_decoder": { "version": "1.1.1", @@ -1291,42 +494,12 @@ "safe-buffer": "~5.1.0" } }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - } - }, "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "is-number": "^7.0.0" } }, "typedarray": { @@ -1334,88 +507,10 @@ "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" }, - "union-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", - "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", - "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^0.4.3" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "set-value": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", - "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.1", - "to-object-path": "^0.3.0" - } - } - } - }, "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" - }, - "unset-value": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" - } - } - }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" - }, - "use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" + "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", + "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==" }, "util-deprecate": { "version": "1.0.2", @@ -1428,19 +523,20 @@ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "ws": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", - "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", + "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", "requires": { "async-limiter": "~1.0.0" } }, "yauzl": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz", - "integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=", + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", "requires": { - "fd-slicer": "~1.0.1" + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" } } } diff --git a/tools/package.json b/tools/package.json index e929b26..dc9273d 100644 --- a/tools/package.json +++ b/tools/package.json @@ -1,18 +1,18 @@ { "name": "lolbench-tools", "version": "1.0.0", - "description": "", + "description": "screenshot tool", "scripts": { "screenshots": "node index.js" }, "author": "Adam Perry ", "license": "MIT", "dependencies": { - "fs-extra": "^7.0.0", - "globby": "^8.0.1", + "fs-extra": "^9.0.0", + "globby": "^11.0.0", "minimist": "^1.2.0", - "p-map": "^2.0.0", + "p-map": "^4.0.0", "progress": "^2.0.0", - "puppeteer": "^1.9.0" + "puppeteer": "^2.1.1" } } From d1223f698ad57cf9a7bf0ebcf1e75fdd685b5e89 Mon Sep 17 00:00:00 2001 From: Adam Perry Date: Sun, 12 Apr 2020 13:24:49 -0700 Subject: [PATCH 25/47] rename git config script --- .github/workflows/{git-config.sh => git-commit-config.sh} | 0 .github/workflows/main.yml | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) rename .github/workflows/{git-config.sh => git-commit-config.sh} (100%) diff --git a/.github/workflows/git-config.sh b/.github/workflows/git-commit-config.sh similarity index 100% rename from .github/workflows/git-config.sh rename to .github/workflows/git-commit-config.sh diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 085d7b7..d4287fe 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -8,7 +8,7 @@ jobs: - uses: actions/checkout@v2 with: submodules: true - - run: .github/workflows/git-config.sh + - run: .github/workflows/git-commit-config.sh - uses: actions-rs/cargo@v1 with: command: test-core @@ -36,7 +36,7 @@ jobs: - uses: actions/checkout@v2 with: submodules: true - - run: .github/workflows/git-config.sh + - run: .github/workflows/git-commit-config.sh - uses: actions-rs/cargo@v1 with: command: test From 64f24bc9b7dc2181f6388719afcebd9c3dc97350 Mon Sep 17 00:00:00 2001 From: Adam Perry Date: Sun, 12 Apr 2020 13:27:31 -0700 Subject: [PATCH 26/47] only have two runners now --- registry.toml | 1 - 1 file changed, 1 deletion(-) diff --git a/registry.toml b/registry.toml index 0a6d758..46925d0 100644 --- a/registry.toml +++ b/registry.toml @@ -1,6 +1,5 @@ workers = [ 'molly', - 'sally', 'wilhelm', ] [benchmarks."brotli_1_1_3::bench_e2e_decode_q5_1024k"] From 0bac202370ee923a413c23f37a3b4a788a81fc89 Mon Sep 17 00:00:00 2001 From: Adam Perry Date: Sun, 12 Apr 2020 13:28:11 -0700 Subject: [PATCH 27/47] remove datadog from build machines --- deploy/datadog.datadog/.circleci/config.yml | 129 -------- deploy/datadog.datadog/.gitignore | 2 - deploy/datadog.datadog/CHANGELOG.md | 111 ------- deploy/datadog.datadog/LICENSE | 203 ------------- deploy/datadog.datadog/README.md | 275 ------------------ .../ci_test/downgrade_to_5_centos.yaml | 25 -- .../ci_test/downgrade_to_5_debian.yaml | 25 -- .../ci_test/install_agent_5.yaml | 23 -- .../ci_test/install_agent_6.yaml | 25 -- .../datadog.datadog/ci_test/inventory/ci.ini | 2 - deploy/datadog.datadog/defaults/main.yml | 59 ---- deploy/datadog.datadog/handlers/main.yml | 7 - .../datadog.datadog/meta/.galaxy_install_info | 1 - deploy/datadog.datadog/meta/main.yml | 29 -- deploy/datadog.datadog/tasks/agent5.yml | 36 --- deploy/datadog.datadog/tasks/agent6.yml | 67 ----- deploy/datadog.datadog/tasks/main.yml | 15 - deploy/datadog.datadog/tasks/pkg-debian.yml | 61 ---- deploy/datadog.datadog/tasks/pkg-redhat.yml | 47 --- deploy/datadog.datadog/tasks/pkg-suse.yml | 56 ---- .../datadog.datadog/templates/checks.yaml.j2 | 1 - .../datadog.datadog/templates/datadog.conf.j2 | 31 -- .../datadog.datadog/templates/datadog.yaml.j2 | 13 - .../datadog.datadog/templates/zypper.repo.j2 | 9 - deploy/datadog.datadog/tests/Vagrantfile | 3 - deploy/datadog.datadog/tests/inventory | 2 - deploy/datadog.datadog/tests/readme.md | 20 -- .../datadog.datadog/tests/test_5_default.yml | 6 - deploy/datadog.datadog/tests/test_5_full.yml | 47 --- .../datadog.datadog/tests/test_6_default.yml | 4 - deploy/datadog.datadog/tests/test_6_full.yml | 65 ----- deploy/site.yml | 34 --- 32 files changed, 1433 deletions(-) delete mode 100644 deploy/datadog.datadog/.circleci/config.yml delete mode 100644 deploy/datadog.datadog/.gitignore delete mode 100644 deploy/datadog.datadog/CHANGELOG.md delete mode 100644 deploy/datadog.datadog/LICENSE delete mode 100644 deploy/datadog.datadog/README.md delete mode 100644 deploy/datadog.datadog/ci_test/downgrade_to_5_centos.yaml delete mode 100644 deploy/datadog.datadog/ci_test/downgrade_to_5_debian.yaml delete mode 100644 deploy/datadog.datadog/ci_test/install_agent_5.yaml delete mode 100644 deploy/datadog.datadog/ci_test/install_agent_6.yaml delete mode 100644 deploy/datadog.datadog/ci_test/inventory/ci.ini delete mode 100644 deploy/datadog.datadog/defaults/main.yml delete mode 100644 deploy/datadog.datadog/handlers/main.yml delete mode 100644 deploy/datadog.datadog/meta/.galaxy_install_info delete mode 100644 deploy/datadog.datadog/meta/main.yml delete mode 100644 deploy/datadog.datadog/tasks/agent5.yml delete mode 100644 deploy/datadog.datadog/tasks/agent6.yml delete mode 100644 deploy/datadog.datadog/tasks/main.yml delete mode 100644 deploy/datadog.datadog/tasks/pkg-debian.yml delete mode 100644 deploy/datadog.datadog/tasks/pkg-redhat.yml delete mode 100644 deploy/datadog.datadog/tasks/pkg-suse.yml delete mode 100644 deploy/datadog.datadog/templates/checks.yaml.j2 delete mode 100644 deploy/datadog.datadog/templates/datadog.conf.j2 delete mode 100644 deploy/datadog.datadog/templates/datadog.yaml.j2 delete mode 100644 deploy/datadog.datadog/templates/zypper.repo.j2 delete mode 100644 deploy/datadog.datadog/tests/Vagrantfile delete mode 100644 deploy/datadog.datadog/tests/inventory delete mode 100644 deploy/datadog.datadog/tests/readme.md delete mode 100644 deploy/datadog.datadog/tests/test_5_default.yml delete mode 100644 deploy/datadog.datadog/tests/test_5_full.yml delete mode 100644 deploy/datadog.datadog/tests/test_6_default.yml delete mode 100644 deploy/datadog.datadog/tests/test_6_full.yml diff --git a/deploy/datadog.datadog/.circleci/config.yml b/deploy/datadog.datadog/.circleci/config.yml deleted file mode 100644 index a807445..0000000 --- a/deploy/datadog.datadog/.circleci/config.yml +++ /dev/null @@ -1,129 +0,0 @@ -version: 2 - -# Install the latest version of agent 5 and then try to downgrade to an older version -.install_agent_5: &install_agent_5 - steps: - - checkout - # dry run - - run: ansible-playbook -i ./ci_test/inventory/ci.ini "./ci_test/install_agent_5.yaml" --check - - run: ansible-playbook -i ./ci_test/inventory/ci.ini "./ci_test/downgrade_to_5_${OS_TYPE}.yaml" --check - - # install latest agent5 - - run: ansible-playbook -i ./ci_test/inventory/ci.ini "./ci_test/install_agent_5.yaml" - - run: dd-agent info || true - - run: ps aux | grep -v grep | grep datadog-agent - - # downgrading to 5.23.0 - - run: ansible-playbook -i ./ci_test/inventory/ci.ini "./ci_test/downgrade_to_5_${OS_TYPE}.yaml" - - run: dd-agent info || true - - run: ps aux | grep -v grep | grep datadog-agent - -# install the latest version of agent5, upgrade to the latest agent6 and downgrade to an old agent5 -.install_agent_6: &install_agent_6 - steps: - - checkout - # dry run - - run: ansible-playbook -i ./ci_test/inventory/ci.ini "./ci_test/install_agent_6.yaml" --check - - run: ansible-playbook -i ./ci_test/inventory/ci.ini "./ci_test/downgrade_to_5_${OS_TYPE}.yaml" --check - - # install latest agent5 - - run: ansible-playbook -i ./ci_test/inventory/ci.ini "./ci_test/install_agent_5.yaml" - - run: dd-agent info || true - - run: ps aux | grep -v grep | grep datadog-agent - - # upgrade to the latest agent6 - - run: ansible-playbook -i ./ci_test/inventory/ci.ini "./ci_test/install_agent_6.yaml" - - run: datadog-agent version - - # downgrading to 5.23.0 - - run: ansible-playbook -i ./ci_test/inventory/ci.ini "./ci_test/downgrade_to_5_${OS_TYPE}.yaml" - - run: dd-agent info || true - - run: ps aux | grep -v grep | grep datadog-agent - -jobs: - - ansible_lint: - docker: - - image: datadog/docker-library:ansible_debian_2_4 - steps: - - checkout - - run: pip install ansible-lint - - run: ansible-lint -v $(find . -name *yml) -x ANSIBLE0006,ANSIBLE0010 - - debian_24_5: - docker: - - image: datadog/docker-library:ansible_debian_2_4 - environment: - - OS_TYPE: "debian" - <<: *install_agent_5 - - debian_24_6: - docker: - - image: datadog/docker-library:ansible_debian_2_4 - environment: - - OS_TYPE: "debian" - <<: *install_agent_6 - - debian_25_5: - docker: - - image: datadog/docker-library:ansible_debian_2_5 - environment: - - OS_TYPE: "debian" - <<: *install_agent_5 - - debian_25_6: - docker: - - image: datadog/docker-library:ansible_debian_2_5 - environment: - - OS_TYPE: "debian" - <<: *install_agent_6 - - centos_24_5: - docker: - - image: datadog/docker-library:ansible_centos_2_4 - environment: - - OS_TYPE: "centos" - <<: *install_agent_5 - - centos_24_6: - docker: - - image: datadog/docker-library:ansible_centos_2_4 - environment: - - OS_TYPE: "centos" - <<: *install_agent_6 - - centos_25_5: - docker: - - image: datadog/docker-library:ansible_centos_2_5 - environment: - - OS_TYPE: "centos" - <<: *install_agent_5 - - centos_25_6: - docker: - - image: datadog/docker-library:ansible_centos_2_5 - environment: - - OS_TYPE: "centos" - <<: *install_agent_6 - -workflows: - version: 2 - test_datadog_role: - jobs: - - ansible_lint - - # test debian (apt) - # ansible 2.4 - - debian_24_5 - - debian_24_6 - # ansible 2.5 - - debian_25_5 - - debian_25_6 - - # test centos (rpm) - # ansible 2.4 - - centos_24_5 - - centos_24_6 - # ansible 2.5 - - centos_25_5 - - centos_25_6 diff --git a/deploy/datadog.datadog/.gitignore b/deploy/datadog.datadog/.gitignore deleted file mode 100644 index a058c8c..0000000 --- a/deploy/datadog.datadog/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -.vagrant -*.retry diff --git a/deploy/datadog.datadog/CHANGELOG.md b/deploy/datadog.datadog/CHANGELOG.md deleted file mode 100644 index 67794ea..0000000 --- a/deploy/datadog.datadog/CHANGELOG.md +++ /dev/null @@ -1,111 +0,0 @@ -CHANGELOG -========= - -# 2.3.1 / 2018-08-24 - -* [FIX] Disabling repo metadata signature check for SUSE/SLES. - -# 2.3.0 / 2018-07-23 - -* [FEATURE] Add support for SUSE/SLES (thanks to [@enarciso][]). - -# 2.2.0 / 2018-06-06 - -* [DEPRECATION] Drop support for EOL platform -* [IMPROVEMENT] Harmonize tasks names between agent5 and agent6 (thanks [@xp-1000][]). - -# 2.1.0 / 2018-05-14 - -* [FEATURE] Support "--check" Ansible option for dry-run. -* [BUGFIX] Fix downgrade on centos. -* [IMPROVEMENT] Update conf paths to respect agent6 best practice (thanks [@dbr1993][]). -* [IMPROVEMENT] Fix YAML cosmetics: standardize syntax everywhere (thanks [@tomgoren][]). -* [DEPRECATION] Drop support for EOL versions of ansible (<2.2). - -# 2.0.3 / 2018-04-13 - -* [BUGFIX] Removing legacy http apt repos pre-dating usage of HTTPS. See [#116][] - -# 2.0.2 / 2018-03-27 - -* [BUGFIX] Remove empty brackets from datadog.yaml when datadog_config is empty. See [#107][] - -# 2.0.1 / 2018-03-05 - -* [BUGFIX] Remove failing import of expired APT key. See [#105][] - -# 1.6.1 / 2018-03-05 - -* [BUGFIX] Remove failing import of expired APT key. See [#105][] - -# 2.0.0 / 2018-02-27 - -* [RELEASE] Make Agent6 the default version to install. -* [IMPROVEMENT] Defaulting to HTTPS for apt and yum repo. - -# 1.6.0 / 2018-01-19 - -* [IMPROVEMENT] Refresh apt cache every hour. See [#98][] - -# 1.5.0 / 2018-01-05 - -* [FEATURE] Add Agent6 (beta) support on RPM-based distros. See [#90][] (thanks [@brendanlong][]) - -# 1.4.0 / 2017-10-30 - -* [FEATURE] Allow specifying custom repo. See [#80][] -* [FEATURE] Add Agent6 (beta) support on debianoids. See [#81][] -* [BUGFIX] Fix incorrect handler name in process task. See [#68][] (thanks [@jeffwidman][]) -* [SANITY] Improve agent service task name and handler formatting. See [#62][] and [#67][] (thanks [@jeffwidman][]) - -# 1.3.0 / 2017-04-04 - -* [FEATURE] Add support for configuring trace agent. See [#45][] and [#58][] (thanks [@pmbauer][]) -* [FEATURE] Allow pinning the version of the Agent. See [#61][] -* [IMPROVEMENT] Pipe `datadog_checks` through list for python3 support. See [#51][] (thanks [@gtrummell][]) -* [IMPROVEMENT] Use `ansible-lint` on the role and use names on all tasks. See [#50][] (thanks [@eplanet][]) -* [BUGFIX] Fix `ini` format of the `datadog.conf` file. See [#59][] - -# 1.2.0 / 2016-12-13 - -* [FEATURE] Trust new APT and RPM keys. See [#30][] -* [IMPROVEMENT] Change the `state` of `apt-transport-https` from `latest` to `present`. See [#36][] -* [IMPROVEMENT] Convert config file tasks to proper YAML formatting. See [#32][] (thanks [@jeffwidman][]) - -# 1.1.0 / 2016-06-27 - -* [FEATURE] Allow APT repo settings to be user-defined. See [#20][] (thanks [@geoffwright][]) - -# 1.0.0 / 2016-06-08 - -Initial release, compatible with Ansible v1 & v2 - - -[#20]: https://github.com/DataDog/ansible-datadog/issues/20 -[#30]: https://github.com/DataDog/ansible-datadog/issues/30 -[#32]: https://github.com/DataDog/ansible-datadog/issues/32 -[#36]: https://github.com/DataDog/ansible-datadog/issues/36 -[#45]: https://github.com/DataDog/ansible-datadog/issues/45 -[#50]: https://github.com/DataDog/ansible-datadog/issues/50 -[#51]: https://github.com/DataDog/ansible-datadog/issues/51 -[#58]: https://github.com/DataDog/ansible-datadog/issues/58 -[#59]: https://github.com/DataDog/ansible-datadog/issues/59 -[#61]: https://github.com/DataDog/ansible-datadog/issues/61 -[#62]: https://github.com/DataDog/ansible-datadog/issues/62 -[#67]: https://github.com/DataDog/ansible-datadog/issues/67 -[#68]: https://github.com/DataDog/ansible-datadog/issues/68 -[#80]: https://github.com/DataDog/ansible-datadog/issues/80 -[#81]: https://github.com/DataDog/ansible-datadog/issues/81 -[#90]: https://github.com/DataDog/ansible-datadog/issues/90 -[#98]: https://github.com/DataDog/ansible-datadog/issues/98 -[#105]: https://github.com/DataDog/ansible-datadog/issues/105 -[@brendanlong]: https://github.com/brendanlong -[@eplanet]: https://github.com/eplanet -[@geoffwright]: https://github.com/geoffwright -[@gtrummell]: https://github.com/gtrummell -[@jeffwidman]: https://github.com/jeffwidman -[@pmbauer]: https://github.com/pmbauer -[@tomgoren]: https://github.com/tomgoren -[@dbr1993]: https://github.com/dbr1993 -[xp-1000]: https://github.com/xp-1000 -[enarciso]: https://github.com/enarciso diff --git a/deploy/datadog.datadog/LICENSE b/deploy/datadog.datadog/LICENSE deleted file mode 100644 index 9df50a3..0000000 --- a/deploy/datadog.datadog/LICENSE +++ /dev/null @@ -1,203 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright 2014 Brian Akins brian@akins.org - Copyright 2015 Dustin Brown dustinjamesbrown@gmail.com - Copyright 2015 Datadog, Inc. - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/deploy/datadog.datadog/README.md b/deploy/datadog.datadog/README.md deleted file mode 100644 index b76889e..0000000 --- a/deploy/datadog.datadog/README.md +++ /dev/null @@ -1,275 +0,0 @@ -Ansible Datadog Role -======== -[![Ansible Galaxy](http://img.shields.io/badge/galaxy-Datadog.datadog-660198.svg)](https://galaxy.ansible.com/Datadog/datadog/) -[![Build Status](https://travis-ci.org/DataDog/ansible-datadog.svg?branch=master)](https://travis-ci.org/DataDog/ansible-datadog) - -Install and configure Datadog base agent & checks. Starting with version `2` of -this role version 6 of the agent is installed by default (instead of version -5). - -Supports most Debian and RHEL-based Linux distributions. - -Installation ------------- - -``` -ansible-galaxy install Datadog.datadog -``` - -Role Variables --------------- - -- `datadog_api_key` - Your Datadog API key. -- `datadog_agent_version` - The pinned version of the Agent to install (optional, but highly recommended) - Examples: `1:6.0.0-1` on apt-based platforms, `6.0.0-1` on yum-based platforms -- `datadog_checks` - YAML configuration for agent checks to drop into: - + `/etc/datadog-agent/conf.d/.d/conf.yaml` for agent6 - + `/etc/dd-agent/conf.d` for agent5. -- `datadog_config` - Settings to place in the main agent configuration file: - + `/etc/datadog-agent/datadog.yaml` for agent6 - + `/etc/dd-agent/datadog.conf` for agent5 (under the `[Main]` section). -- `datadog_config_ex` - Extra INI sections to go in `/etc/dd-agent/datadog.conf` (optional). Agent5 only. -- `datadog_apt_repo` - Override default Datadog `apt` repository -- `datadog_apt_cache_valid_time` - Override the default apt cache expiration time (default 1 hour) -- `datadog_apt_key_url_new` - Override default url to Datadog `apt` key (key ID `382E94DE` ; the deprecated `datadog_apt_key_url` variable refers to an expired key that's been removed from the role) -- `datadog_agent_allow_downgrade` - Set to `yes` to allow agent downgrades on apt-based platforms (use with caution, see `defaults/main.yml` for details). **On centos this will only work with ansible 2.4 and up**. - -Agent 5 (older version) ------------------------ - -This role includes support for Datadog Agent version 5. - -To install agent5, you need to: - -- set `datadog_agent5` to true -- either set `datadog_agent_version` to an existing agent5 version - (recommended) or leave it empty to always install the latest version (`5.*`). - -To downgrade from agent6 to agent5, you need to (**on centos this will only work with ansible 2.4 and up**): - -- set `datadog_agent5` to true -- pin `datadog_agent_version` to an existing agent5 version -- set `datadog_agent_allow_downgrade` to yes - -Variables: - -- `datadog_agent5` - install agent5 instead of agent6 (default to `false`) -- `datadog_agent5_apt_repo` - Override default Datadog `apt` repository for agent5 - -Dependencies ------------- -None - -Configuring a check -------------------- - -To configure a check you need to add an entry to the `datadog_checks` section. -The first level key is the name of the check and the value is the yaml payload -to write the configuration file. - -Example: - -**Process check** - -We define 2 instances for the `process` check. -This will create: -- for agent6: `/etc/datadog-agent/conf.d/process.d/conf.yaml` -- for agent5: `/etc/datadog-agent/conf.d/process.yaml` - -```yml - datadog_checks: - process: - init_config: - instances: - - name: ssh - search_string: ['ssh', 'sshd' ] - - name: syslog - search_string: ['rsyslog' ] - cpu_check_interval: 0.2 - exact_match: true - ignore_denied_access: true -``` - -**custom check** - -We define 1 instance for a custom check. - -This will create: -- for agent6: `/etc/datadog-agent/conf.d/my_custom_check.d/conf.yaml` -- for agent5: `/etc/datadog-agent/conf.d/my_custom_check.yaml` - -```yml - datadog_checks: - my_custom_check: - init_config: - instances: - - some_data: true -``` - -**autodiscovery check** - -There is no pre-processing nor post-processing on the YAML. This means every -YAML sections will be added to the final configuration file, including -`autodiscovery identifiers`. - -This example will configure the PostgeSQL check through **autodiscovery**: - -```yml - datadog_checks: - postgres: - ad_identifiers: - - db-master - - db-slave - init_config: - instances: - - host: %%host%% - port: %%port%% - username: username - password: password -``` - - -Example Playbooks ------------------ -```yml -- hosts: servers - roles: - - { role: Datadog.datadog, become: yes } # On Ansible < 1.9, use `sudo: yes` instead of `become: yes` - vars: - datadog_api_key: "123456" - datadog_agent_version: "1:6.0.0-1" # for apt-based platforms, use a `6.0.0-1` format on yum-based platforms - datadog_config: - tags: "mytag0, mytag1" - log_level: INFO - apm_enabled: "true" # has to be set as a string - logs_enabled: true # log collection is available on agent 6 - datadog_config_ex: - trace.config: - env: dev - trace.concentrator: - extra_aggregators: version - datadog_checks: - process: - init_config: - instances: - - name: ssh - search_string: ['ssh', 'sshd' ] - - name: syslog - search_string: ['rsyslog' ] - cpu_check_interval: 0.2 - exact_match: true - ignore_denied_access: true - ssh_check: - init_config: - instances: - - host: localhost - port: 22 - username: root - password: changeme - sftp_check: True - private_key_file: - add_missing_keys: True - nginx: - init_config: - instances: - - nginx_status_url: http://example.com/nginx_status/ - tags: - - instance:foo - - nginx_status_url: http://example2.com:1234/nginx_status/ - tags: - - instance:bar - #Log collection is available on agent 6 - logs: - - type: file - path: /var/log/access.log - service: myapp - source: nginx - sourcecategory: http_web_access - - type: file - path: /var/log/error.log - service: nginx - source: nginx - sourcecategory: http_web_access -``` - -```yml -- hosts: servers - roles: - - { role: Datadog.datadog, become: yes, datadog_api_key: "mykey" } # On Ansible < 1.9, use `sudo: yes` instead of `become: yes` -``` - - -Process Agent -------------------------- - -To control the behavior of the Process Agent, use the `enabled` variable under the `datadog_config` field. -It has to be set as a string and the possible values are: "true", "false" (for only container collection) -or "disabled" (to disable the Process Agent entirely) - -#### Variables - -- `scrub_args` - enables the scrubbing of sensitive arguments from a process command line. Default value is true -- `custom_sensitive_words` - expands the default list of sensitive words used by the cmdline scrubber - -#### Example of configuration -```yml -datadog_config: - process_config: - enabled: "true" # has to be set as a string - scrub_args: true - custom_sensitive_words: ['consul_token','dd_api_key'] -``` - -### Agent 5 - -To enable/disable the Process Agent on Agent 5, you need to set on `datadog_config`: - -- `process_agent_enabled` to true/false - -Set the available variables inside `process.config` under the `datadog_config_ex` -field to control the Process Agent's features. - -#### Example of configuration -```yml -datadog_config: - process_agent_enabled: true -datadog_config_ex: - process.config: - scrub_args: true - custom_sensitive_words: "consul_token,dd_api_key" -``` - -Known Issues and Workarounds ----------------------------- - -On Debian Stretch, the `apt_key` module that the role uses requires an additional system dependency to work correctly. -Unfortunately that dependency (`dirmngr`) is not provided by the module. To work around this, you can add the following -to the playbooks that make use of the present role: - -```yml ---- -- hosts: all - pre_tasks: - - name: Debian Stretch requires dirmngr package to be installed in order to use apt_key - become: yes # On Ansible < 1.9, use `sudo: yes` instead of `become: yes` - apt: - name: dirmngr - state: present - - roles: - - { role: Datadog.datadog, become: yes, datadog_api_key: "mykey" } # On Ansible < 1.9, use `sudo: yes` instead of `become: yes` -``` - -License -------- - -Apache2 - -Author Information ------------------- - -brian@akins.org - -dustinjamesbrown@gmail.com --Forked from brian@akins.org - -Datadog --Forked from dustinjamesbrown@gmail.com diff --git a/deploy/datadog.datadog/ci_test/downgrade_to_5_centos.yaml b/deploy/datadog.datadog/ci_test/downgrade_to_5_centos.yaml deleted file mode 100644 index 516e625..0000000 --- a/deploy/datadog.datadog/ci_test/downgrade_to_5_centos.yaml +++ /dev/null @@ -1,25 +0,0 @@ ---- - -- hosts: all - roles: - - { role: '/root/project/'} - vars: - datadog_api_key: "11111111111111111111111111111111" - datadog_agent5: true - datadog_agent_version: 5.23.0-1 - datadog_agent_allow_downgrade: yes - datadog_config: - tags: "mytag0, mytag1" - log_level: INFO - apm_enabled: "true" # has to be set as a string - datadog_config_ex: - trace.config: - env: dev - trace.concentrator: - extra_aggregators: version - datadog_checks: - process: - init_config: - instances: - - name: agent - search_string: ['agent' ] diff --git a/deploy/datadog.datadog/ci_test/downgrade_to_5_debian.yaml b/deploy/datadog.datadog/ci_test/downgrade_to_5_debian.yaml deleted file mode 100644 index 9493c55..0000000 --- a/deploy/datadog.datadog/ci_test/downgrade_to_5_debian.yaml +++ /dev/null @@ -1,25 +0,0 @@ ---- - -- hosts: all - roles: - - { role: '/root/project/'} - vars: - datadog_api_key: "11111111111111111111111111111111" - datadog_agent5: true - datadog_agent_version: 1:5.23.0-1 - datadog_agent_allow_downgrade: yes - datadog_config: - tags: "mytag0, mytag1" - log_level: INFO - apm_enabled: "true" # has to be set as a string - datadog_config_ex: - trace.config: - env: dev - trace.concentrator: - extra_aggregators: version - datadog_checks: - process: - init_config: - instances: - - name: agent - search_string: ['agent' ] diff --git a/deploy/datadog.datadog/ci_test/install_agent_5.yaml b/deploy/datadog.datadog/ci_test/install_agent_5.yaml deleted file mode 100644 index d44c82f..0000000 --- a/deploy/datadog.datadog/ci_test/install_agent_5.yaml +++ /dev/null @@ -1,23 +0,0 @@ ---- - -- hosts: all - roles: - - { role: '/root/project/'} - vars: - datadog_api_key: "11111111111111111111111111111111" - datadog_agent5: true - datadog_config: - tags: "mytag0, mytag1" - log_level: INFO - apm_enabled: "true" # has to be set as a string - datadog_config_ex: - trace.config: - env: dev - trace.concentrator: - extra_aggregators: version - datadog_checks: - process: - init_config: - instances: - - name: agent - search_string: ['agent' ] diff --git a/deploy/datadog.datadog/ci_test/install_agent_6.yaml b/deploy/datadog.datadog/ci_test/install_agent_6.yaml deleted file mode 100644 index 35e6e5f..0000000 --- a/deploy/datadog.datadog/ci_test/install_agent_6.yaml +++ /dev/null @@ -1,25 +0,0 @@ ---- - -- hosts: all - roles: - - { role: '/root/project/'} - vars: - datadog_api_key: "11111111111111111111111111111111" - datadog_enabled: false - # avoid checking that the agent is stopped for centos - datadog_skip_running_check: true - datadog_config: - tags: "mytag0, mytag1" - log_level: INFO - apm_enabled: "true" # has to be set as a string - datadog_config_ex: - trace.config: - env: dev - trace.concentrator: - extra_aggregators: version - datadog_checks: - process: - init_config: - instances: - - name: agent - search_string: ['agent', 'sshd' ] diff --git a/deploy/datadog.datadog/ci_test/inventory/ci.ini b/deploy/datadog.datadog/ci_test/inventory/ci.ini deleted file mode 100644 index ff8e2e7..0000000 --- a/deploy/datadog.datadog/ci_test/inventory/ci.ini +++ /dev/null @@ -1,2 +0,0 @@ -[test] -127.0.0.1 ansible_connection=local diff --git a/deploy/datadog.datadog/defaults/main.yml b/deploy/datadog.datadog/defaults/main.yml deleted file mode 100644 index 74d82c9..0000000 --- a/deploy/datadog.datadog/defaults/main.yml +++ /dev/null @@ -1,59 +0,0 @@ ---- -datadog_enabled: yes - -# default datadog.conf options -datadog_config: {} - -# default checks enabled -datadog_checks: {} - -# default user/group -datadog_user: dd-agent -datadog_group: root - -# default apt repo -datadog_apt_repo: "deb https://apt.datadoghq.com/ stable 6" -datadog_apt_cache_valid_time: 3600 - -# default yum repo and keys -datadog_yum_repo: "https://yum.datadoghq.com/stable/6/{{ ansible_userspace_architecture }}/" -datadog_yum_gpgkey: "https://yum.datadoghq.com/DATADOG_RPM_KEY.public" -datadog_yum_gpgkey_new: "https://yum.datadoghq.com/DATADOG_RPM_KEY_E09422B3.public" - -# default zypper repo and keys -datadog_zypper_repo: "https://yum.datadoghq.com/suse/stable/6/{{ ansible_userspace_architecture }}" -datadog_zypper_gpgkey: "https://yum.datadoghq.com/DATADOG_RPM_KEY.public" -datadog_zypper_gpgkey_sha256sum: "00d6505c33fd95b56e54e7d91ad9bfb22d2af17e5480db25cba8fee500c80c46" - -# Pin agent to a version. Highly recommended. -datadog_agent_version: "" - -# Avoid checking if the agent is running or not. This can be useful if you're -# using sysvinit and providing your own init script. -datadog_skip_running_check: false - -# Set this to `yes` to allow agent downgrades on apt-based platforms. -# Internally, this uses `apt-get`'s `--force-yes` option. Use with caution. -# On centos this will only work with ansible 2.4 and up -datadog_agent_allow_downgrade: no - -######################################################################## -### Installing agent5 ### - -# To install agent5 instead of agent6 you need to: -# * set 'datadog_agent5' to true -datadog_agent5: no - -# To downgrade from agent6 to agent5, you need to: -# * set 'datadog_agent5' to true -# * pin 'datadog_agent_version' to an existing agent5 version -# * set 'datadog_agent_allow_downgrade' to yes - -# repos where datadog-agent v5 packages are available -datadog_agent5_apt_repo: "deb https://apt.datadoghq.com stable main" -datadog_agent5_yum_repo: "https://yum.datadoghq.com/rpm/{{ ansible_userspace_architecture }}/" -datadog_agent5_zypper_repo: "https://yum.datadoghq.com/suse/rpm/{{ ansible_userspace_architecture }}" - -### End of Beta-Agent6-only experimental attributes ### -######################################################################## - diff --git a/deploy/datadog.datadog/handlers/main.yml b/deploy/datadog.datadog/handlers/main.yml deleted file mode 100644 index c42cfe3..0000000 --- a/deploy/datadog.datadog/handlers/main.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- - -- name: restart datadog-agent - service: - name: datadog-agent - state: restarted - when: datadog_enabled and not ansible_check_mode diff --git a/deploy/datadog.datadog/meta/.galaxy_install_info b/deploy/datadog.datadog/meta/.galaxy_install_info deleted file mode 100644 index 80ac269..0000000 --- a/deploy/datadog.datadog/meta/.galaxy_install_info +++ /dev/null @@ -1 +0,0 @@ -{install_date: 'Fri Sep 14 09:01:49 2018', version: 2.3.1} diff --git a/deploy/datadog.datadog/meta/main.yml b/deploy/datadog.datadog/meta/main.yml deleted file mode 100644 index f8d0d3b..0000000 --- a/deploy/datadog.datadog/meta/main.yml +++ /dev/null @@ -1,29 +0,0 @@ ---- -galaxy_info: - author: 'Brian Akins, Dustin Brown & Datadog' - description: Install Datadog agent and configure checks - license: Apache2 - min_ansible_version: 2.2 - platforms: - - name: Ubuntu - versions: - - trusty - - xenial - - artful - - bionic - - name: Debian - versions: - - wheezy - - jessie - - stretch - - name: EL - versions: - - 7 - - 6 - - name: opensuse - versions: - - 11 - - 12 - categories: - - monitoring -dependencies: [] diff --git a/deploy/datadog.datadog/tasks/agent5.yml b/deploy/datadog.datadog/tasks/agent5.yml deleted file mode 100644 index 18506b4..0000000 --- a/deploy/datadog.datadog/tasks/agent5.yml +++ /dev/null @@ -1,36 +0,0 @@ ---- -- name: (agent5) Create Datadog agent config directory - file: - dest: /etc/dd-agent - state: directory - -- name: (agent5) Create main Datadog agent configuration file - template: - src: datadog.conf.j2 - dest: /etc/dd-agent/datadog.conf - owner: "{{ datadog_user }}" - group: "{{ datadog_group }}" - notify: restart datadog-agent - -- name: (agent5) Ensure datadog-agent is running - service: - name: datadog-agent - state: started - enabled: yes - when: not datadog_skip_running_check and datadog_enabled and not ansible_check_mode - -- name: (agent5) Ensure datadog-agent is not running - service: - name: datadog-agent - state: stopped - enabled: no - when: not datadog_skip_running_check and not datadog_enabled - -- name: (agent5) Create a configuration file for each Datadog check - template: - src: checks.yaml.j2 - dest: "/etc/dd-agent/conf.d/{{ item }}.yaml" - owner: "{{ datadog_user }}" - group: "{{ datadog_group }}" - with_items: "{{ datadog_checks|list }}" - notify: restart datadog-agent diff --git a/deploy/datadog.datadog/tasks/agent6.yml b/deploy/datadog.datadog/tasks/agent6.yml deleted file mode 100644 index cd8dfde..0000000 --- a/deploy/datadog.datadog/tasks/agent6.yml +++ /dev/null @@ -1,67 +0,0 @@ ---- -- name: Create Datadog agent config directory - file: - dest: /etc/datadog-agent - state: directory - -- name: Create main Datadog agent configuration file - template: - src: datadog.yaml.j2 - dest: /etc/datadog-agent/datadog.yaml - owner: "{{ datadog_user }}" - group: "{{ datadog_group }}" - notify: restart datadog-agent - -- name: Ensure configuration directories are present for each Datadog check - file: - dest: "/etc/datadog-agent/conf.d/{{ item }}.d" - state: directory - owner: "{{ datadog_user }}" - group: "{{ datadog_group }}" - with_items: '{{ datadog_checks|list }}' - -- name: Create a configuration file for each Datadog check - template: - src: checks.yaml.j2 - dest: "/etc/datadog-agent/conf.d/{{ item }}.d/conf.yaml" - owner: "{{ datadog_user }}" - group: "{{ datadog_group }}" - with_items: "{{ datadog_checks|list }}" - notify: restart datadog-agent - -- name: Remove old configuration file for each Datadog check - file: - dest: "/etc/datadog-agent/conf.d/{{ item }}.yaml" - state: absent - with_items: "{{ datadog_checks|list }}" - notify: restart datadog-agent - -- name: Create trace agent configuration file - template: - src: datadog.conf.j2 - dest: /etc/datadog-agent/trace-agent.conf - owner: "{{ datadog_user }}" - group: "{{ datadog_group }}" - notify: restart datadog-agent - -- name: Create process agent configuration file - template: - src: datadog.conf.j2 - dest: /etc/datadog-agent/process-agent.conf - owner: "{{ datadog_user }}" - group: "{{ datadog_group }}" - notify: restart datadog-agent - -- name: Ensure datadog-agent is running - service: - name: datadog-agent - state: started - enabled: yes - when: not datadog_skip_running_check and datadog_enabled and not ansible_check_mode - -- name: Ensure datadog-agent is not running - service: - name: datadog-agent - state: stopped - enabled: no - when: not datadog_skip_running_check and not datadog_enabled diff --git a/deploy/datadog.datadog/tasks/main.yml b/deploy/datadog.datadog/tasks/main.yml deleted file mode 100644 index 2666c5c..0000000 --- a/deploy/datadog.datadog/tasks/main.yml +++ /dev/null @@ -1,15 +0,0 @@ ---- -- include: pkg-debian.yml - when: ansible_os_family == "Debian" - -- include: pkg-redhat.yml - when: ansible_os_family == "RedHat" - -- include: pkg-suse.yml - when: ansible_os_family == "Suse" - -- include: agent5.yml - when: datadog_agent5 - -- include: agent6.yml - when: not datadog_agent5 diff --git a/deploy/datadog.datadog/tasks/pkg-debian.yml b/deploy/datadog.datadog/tasks/pkg-debian.yml deleted file mode 100644 index e3120b2..0000000 --- a/deploy/datadog.datadog/tasks/pkg-debian.yml +++ /dev/null @@ -1,61 +0,0 @@ ---- -- name: Install apt-transport-https - apt: - name: apt-transport-https - state: present - when: not ansible_check_mode - -- name: Install ubuntu apt-key server - apt_key: - id: A2923DFF56EDA6E76E55E492D3A80E30382E94DE - keyserver: hkp://keyserver.ubuntu.com:80 - state: present - when: datadog_apt_key_url_new is not defined - -- name: Install Datadog apt-key - apt_key: - id: A2923DFF56EDA6E76E55E492D3A80E30382E94DE - url: "{{ datadog_apt_key_url_new }}" - state: present - when: datadog_apt_key_url_new is defined - -- name: Ensure Datadog non-https repositories are deprecated - apt_repository: - repo: "{{ item }}" - state: "absent" - update_cache: yes - with_items: - - "deb http://apt.datadoghq.com/ stable main" - - "deb http://apt.datadoghq.com/ stable 6" - when: not ansible_check_mode - -- name: Ensure Datadog repository is up-to-date - apt_repository: - repo: "{{ datadog_apt_repo }}" - state: "{% if datadog_agent5 %}absent{% else %}present{% endif %}" - update_cache: yes - when: not ansible_check_mode - -- name: (agent5) Ensure Datadog repository is up-to-date - apt_repository: - repo: "{{ datadog_agent5_apt_repo }}" - state: "{% if datadog_agent5 %}present{% else %}absent{% endif %}" - update_cache: yes - when: not ansible_check_mode - -- name: Ensure pinned version of Datadog agent is installed - apt: - name: "datadog-agent={{ datadog_agent_version }}" - state: present - force: "{{ datadog_agent_allow_downgrade }}" - update_cache: yes - cache_valid_time: "{{ datadog_apt_cache_valid_time }}" - when: (datadog_agent_version != "") and (not ansible_check_mode) - -- name: Ensure Datadog agent is installed - apt: - name: datadog-agent - state: latest - update_cache: yes - cache_valid_time: "{{ datadog_apt_cache_valid_time }}" - when: (datadog_agent_version == "") and (not ansible_check_mode) diff --git a/deploy/datadog.datadog/tasks/pkg-redhat.yml b/deploy/datadog.datadog/tasks/pkg-redhat.yml deleted file mode 100644 index f82b18d..0000000 --- a/deploy/datadog.datadog/tasks/pkg-redhat.yml +++ /dev/null @@ -1,47 +0,0 @@ ---- -- name: Download new RPM key - get_url: - url: "{{ datadog_yum_gpgkey_new }}" - dest: /tmp/DATADOG_RPM_KEY_E09422B3.public - sha256sum: 694a2ffecff85326cc08e5f1a619937999a5913171e42f166e13ec802c812085 - -- name: Import new RPM key - rpm_key: - key: /tmp/DATADOG_RPM_KEY_E09422B3.public - state: present - when: not ansible_check_mode - -- name: Install DataDog yum repo - yum_repository: - name: datadog - description: Datadog, Inc. - baseurl: "{{ datadog_yum_repo }}" - enabled: yes - gpgcheck: yes - gpgkey: "{{ datadog_yum_gpgkey }}" - state: "{% if datadog_agent5 %}absent{% else %}present{% endif %}" - -- name: (agent5) Install DataDog yum repo - yum_repository: - name: datadog_5 - description: Datadog, Inc. - baseurl: "{{ datadog_agent5_yum_repo }}" - enabled: yes - gpgcheck: yes - gpgkey: "{{ datadog_yum_gpgkey }}" - state: "{% if datadog_agent5 %}present{% else %}absent{% endif %}" - -- name: Install pinned datadog-agent package - yum: - name: "datadog-agent-{{ datadog_agent_version }}" - state: present - allow_downgrade: "{{ datadog_agent_allow_downgrade }}" - when: (datadog_agent_version != "") and (not ansible_check_mode) - notify: restart datadog-agent - -# Using `yum` directly to work around an Ansible bug: -# https://github.com/ansible/ansible/issues/20608 -- name: Install latest datadog-agent package - command: yum install -y datadog-agent - when: datadog_agent_version == "" - notify: restart datadog-agent diff --git a/deploy/datadog.datadog/tasks/pkg-suse.yml b/deploy/datadog.datadog/tasks/pkg-suse.yml deleted file mode 100644 index 1f10883..0000000 --- a/deploy/datadog.datadog/tasks/pkg-suse.yml +++ /dev/null @@ -1,56 +0,0 @@ ---- -- block: # Work around due to SNI check for SLES11 - - name: Stat if RPM key already exist - stat: - path: /tmp/DATADOG_RPM_KEY.public - register: ddkey - - name: Download new RPM key (SLES11) - shell: "curl {{ datadog_zypper_gpgkey }} -o /tmp/DATADOG_RPM_KEY.public" - args: - warn: no - when: not ddkey.stat.exists - when: ansible_distribution_version|int == 11 - -- name: Download new RPM key - get_url: - url: "{{ datadog_zypper_gpgkey }}" - dest: /tmp/DATADOG_RPM_KEY.public - sha256sum: "{{ datadog_zypper_gpgkey_sha256sum }}" - when: ansible_distribution_version|int >= 12 - -- name: Import new RPM key - rpm_key: - key: /tmp/DATADOG_RPM_KEY.public - state: present - when: not ansible_check_mode - -# ansible don't allow repo_gpgcheck to be set, we have to create the repo file manually -- name: Install DataDog zypper repo - template: - src: zypper.repo.j2 - dest: /etc/zypp/repos.d/datadog.repo - owner: "root" - group: "root" - register: datadog_zypper_repo - -# refresh zypper repos only if the template changed -- name: refresh Datadog zypper_repos - command: zypper refresh datadog - when: datadog_zypper_repo.changed and not ansible_check_mode - args: - warn: false # silence warning about using zypper directly - -- name: Install pinned datadog-agent package - zypper: - name: "datadog-agent={{ datadog_agent_version }}" - state: present - oldpackage: "{{ datadog_agent_allow_downgrade }}" - when: (datadog_agent_version != "") and (not ansible_check_mode) - notify: restart datadog-agent - -- name: Install latest datadog-agent package - zypper: - name: datadog-agent - state: latest - when: datadog_agent_version == "" - notify: restart datadog-agent diff --git a/deploy/datadog.datadog/templates/checks.yaml.j2 b/deploy/datadog.datadog/templates/checks.yaml.j2 deleted file mode 100644 index 39274f2..0000000 --- a/deploy/datadog.datadog/templates/checks.yaml.j2 +++ /dev/null @@ -1 +0,0 @@ -{{ datadog_checks[item] | to_nice_yaml }} diff --git a/deploy/datadog.datadog/templates/datadog.conf.j2 b/deploy/datadog.datadog/templates/datadog.conf.j2 deleted file mode 100644 index 455b400..0000000 --- a/deploy/datadog.datadog/templates/datadog.conf.j2 +++ /dev/null @@ -1,31 +0,0 @@ -# Managed by Ansible - -[Main] - -{% if datadog_config["dd_url"] is not defined -%} - dd_url: {{ datadog_url | default('https://app.datadoghq.com') }} -{% endif %} - -{% if datadog_config["api_key"] is not defined -%} - api_key: {{ datadog_api_key | default('youshouldsetthis') }} -{% endif %} - -{% if datadog_config["use_mount"] is not defined -%} - use_mount: {{ datadog_use_mount | default('no') }} -{% endif %} - -{# These variables are free-style, passed through a hash -#} -{% if datadog_config -%} -{% for key, value in datadog_config.items() -%} -{{ key }}: {{ value }} -{% endfor -%} -{% endif %} - -{% if datadog_config_ex is defined -%} -{% for section, keyvals in datadog_config_ex.items() %} -[{{ section }}] -{% for key, value in keyvals.items() -%} -{{ key }}: {{ value }} -{% endfor -%} -{% endfor %} -{% endif %} diff --git a/deploy/datadog.datadog/templates/datadog.yaml.j2 b/deploy/datadog.datadog/templates/datadog.yaml.j2 deleted file mode 100644 index 91d258e..0000000 --- a/deploy/datadog.datadog/templates/datadog.yaml.j2 +++ /dev/null @@ -1,13 +0,0 @@ -# Managed by Ansible - -{% if datadog_config["dd_url"] is not defined -%} -dd_url: {{ datadog_url | default('https://app.datadoghq.com') }} -{% endif %} - -{% if datadog_config["api_key"] is not defined -%} -api_key: {{ datadog_api_key | default('youshouldsetthis') }} -{% endif %} - -{% if datadog_config is defined and datadog_config|length > 0 -%} -{{ datadog_config | to_nice_yaml }} -{% endif %} diff --git a/deploy/datadog.datadog/templates/zypper.repo.j2 b/deploy/datadog.datadog/templates/zypper.repo.j2 deleted file mode 100644 index ae24b35..0000000 --- a/deploy/datadog.datadog/templates/zypper.repo.j2 +++ /dev/null @@ -1,9 +0,0 @@ -[datadog] -name=Datadog, Inc. -enabled=1 -autorefresh=1 -baseurl={% if datadog_agent5 %}{{ datadog_agent5_zypper_repo }}{% else %}{{ datadog_zypper_repo }}{% endif %} - -type=rpm-md -gpgcheck=1 -repo_gpgcheck=0 diff --git a/deploy/datadog.datadog/tests/Vagrantfile b/deploy/datadog.datadog/tests/Vagrantfile deleted file mode 100644 index b4a4f31..0000000 --- a/deploy/datadog.datadog/tests/Vagrantfile +++ /dev/null @@ -1,3 +0,0 @@ -Vagrant.configure("2") do |config| - config.vm.box = "ubuntu/trusty64" -end diff --git a/deploy/datadog.datadog/tests/inventory b/deploy/datadog.datadog/tests/inventory deleted file mode 100644 index 5a836b8..0000000 --- a/deploy/datadog.datadog/tests/inventory +++ /dev/null @@ -1,2 +0,0 @@ -[test_host] -127.0.0.1 ansible_ssh_host=localhost ansible_ssh_user=vagrant ansible_ssh_port=2222 ansible_ssh_private_key_file=./ansible-datadog/tests/.vagrant/machines/default/virtualbox/private_key diff --git a/deploy/datadog.datadog/tests/readme.md b/deploy/datadog.datadog/tests/readme.md deleted file mode 100644 index 79d24bd..0000000 --- a/deploy/datadog.datadog/tests/readme.md +++ /dev/null @@ -1,20 +0,0 @@ -# Test setup - -This is an example setup, based on vagrant + virtualbox, that allows to easily run ansible commands to test the module. - -# Requirements - -- vagrant > 2.0.0 -- virtualbox > 5.1.28 - -# Setup - -in `$WORK_DIR/ansible-datadog/tests`: - -- provision VM: `vagrant up` -- connect to the VM to check the configuration: `vagrant ssh` -- destroy VM when needed: `vagrant destroy -f` - -in `$WORK_DIR`: - -- run ansible-playbook: `ansible-playbook ansible-datadog/tests/test_5_full.yml -i ansible-datadog/tests/inventory` diff --git a/deploy/datadog.datadog/tests/test_5_default.yml b/deploy/datadog.datadog/tests/test_5_default.yml deleted file mode 100644 index 29b7d6f..0000000 --- a/deploy/datadog.datadog/tests/test_5_default.yml +++ /dev/null @@ -1,6 +0,0 @@ ---- -- hosts: all - roles: - - { role: ansible-datadog, become: yes } - vars: - datadog_agent5: true diff --git a/deploy/datadog.datadog/tests/test_5_full.yml b/deploy/datadog.datadog/tests/test_5_full.yml deleted file mode 100644 index 7d8d6e6..0000000 --- a/deploy/datadog.datadog/tests/test_5_full.yml +++ /dev/null @@ -1,47 +0,0 @@ -- hosts: all - roles: - - { role: ansible-datadog, become: yes } # On Ansible < 1.9, use `sudo: yes` instead of `become: yes` - vars: - datadog_agent5: true - datadog_api_key: "123456" - datadog_agent_version: "1:5.18.0-1" # for apt-based platforms, use a `5.12.3-1` format on yum-based platforms - datadog_agent_allow_downgrade: true - datadog_config: - tags: "mytag0, mytag1" - log_level: INFO - apm_enabled: "true" # has to be set as a string - datadog_config_ex: - trace.config: - env: dev - trace.concentrator: - extra_aggregators: version - datadog_checks: - process: - init_config: - instances: - - name: ssh - search_string: ['ssh', 'sshd' ] - - name: syslog - search_string: ['rsyslog' ] - cpu_check_interval: 0.2 - exact_match: true - ignore_denied_access: true - ssh_check: - init_config: - instances: - - host: localhost - port: 22 - username: root - password: changeme - sftp_check: True - private_key_file: - add_missing_keys: True - nginx: - init_config: - instances: - - nginx_status_url: http://example.com/nginx_status/ - tags: - - instance:foo - - nginx_status_url: http://example2.com:1234/nginx_status/ - tags: - - instance:bar diff --git a/deploy/datadog.datadog/tests/test_6_default.yml b/deploy/datadog.datadog/tests/test_6_default.yml deleted file mode 100644 index 1012d56..0000000 --- a/deploy/datadog.datadog/tests/test_6_default.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -- hosts: all - roles: - - { role: ansible-datadog, become: yes } diff --git a/deploy/datadog.datadog/tests/test_6_full.yml b/deploy/datadog.datadog/tests/test_6_full.yml deleted file mode 100644 index 3922f78..0000000 --- a/deploy/datadog.datadog/tests/test_6_full.yml +++ /dev/null @@ -1,65 +0,0 @@ -- hosts: all - roles: - - { role: ansible-datadog, become: yes } # On Ansible < 1.9, use `sudo: yes` instead of `become: yes` - vars: - datadog_api_key: "123456" - datadog_agent_allow_downgrade: true - datadog_config: - tags: "mytag0, mytag1" - log_level: INFO - apm_enabled: "true" # has to be set as a string - # logs related config - logs_enabled: true - logset: main - datadog_config_ex: - trace.config: - env: dev - trace.concentrator: - extra_aggregators: version - datadog_checks: - process: - init_config: - instances: - - name: ssh - search_string: ['ssh', 'sshd' ] - - name: syslog - search_string: ['rsyslog' ] - cpu_check_interval: 0.2 - exact_match: true - ignore_denied_access: true - ssh_check: - init_config: - instances: - - host: localhost - port: 22 - username: root - password: changeme - sftp_check: True - private_key_file: - add_missing_keys: True - nginx: - init_config: - instances: - - nginx_status_url: http://example.com/nginx_status/ - tags: - - instance:foo - - nginx_status_url: http://example2.com:1234/nginx_status/ - tags: - - instance:bar - logs: - - type: file - path: /var/log/nginx.log - service: nginx - source: nginx - sourcecategory: webapp - tags: env:prod - - type: tcp - port: 10514 - service: webapp - source: php - sourcecategory: front - log_processing_rules: - - type: exclude_at_match - name: exclude_datadoghq_users - # Regexp can be anything - pattern: User=\w+@datadoghq.com diff --git a/deploy/site.yml b/deploy/site.yml index 9d3bd60..6a23e96 100644 --- a/deploy/site.yml +++ b/deploy/site.yml @@ -31,11 +31,6 @@ ufw: rule: allow port: ssh - - name: firewall - allow mosh - ufw: - rule: allow - port: 60000:61000 - proto: udp - name: firewall - enable ufw: state: enabled @@ -70,35 +65,6 @@ regexp: "^%sudo" line: "%sudo ALL=(ALL) NOPASSWD: ALL" validate: "visudo -cf %s" - - name: adding datadog agent user to journald group - become: yes - user: - name: dd-agent - groups: systemd-journal - append: yes - -- name: datadog - hosts: all - remote_user: adam - roles: - - { role: datadog.datadog, become: yes } - vars: - datadog_api_key: !vault | - $ANSIBLE_VAULT;1.1;AES256 - 32353463623234323439313034393737353939316235336561633364626136346430343464363631 - 6630393934303831623466623339333761383635343162620a623531623830636236653766353531 - 63303166636632623931306231626235626230643033356137653563323135663430336231343530 - 3232633435626137640a363930386364623337623833306136353162373137383138626166363462 - 38393565623337663336353363356232633033396437613061393636323630313063363965306630 - 3939396462333339313031353534656532656534323635373834 - datadog_config: - logs_enabled: true - datadog_checks: - logs: - - type: journald - path: /run/log/journal - include_units: - - lolbench.service - name: agent hosts: all From a7683aa62a7d9d30c92f8bae0b57f885ccb03b6d Mon Sep 17 00:00:00 2001 From: Adam Perry Date: Sun, 12 Apr 2020 13:28:18 -0700 Subject: [PATCH 28/47] bleh --- .circleci/old.yml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/.circleci/old.yml b/.circleci/old.yml index 1d950b2..0b492df 100644 --- a/.circleci/old.yml +++ b/.circleci/old.yml @@ -1,11 +1,3 @@ - # - &store_target_dir - # store_artifacts: - # path: ~/project/target - # - &bench_crate - # command: cargo test --release --manifest-path "./benches/$CIRCLE_JOB/Cargo.toml" - # - persist_to_workspace: LOLBENCH_DATA_DIR - - # - run: # name: build website # command: | From e8ca29edc7d400cbe2cd7e6d2c44f9e5cb4aae19 Mon Sep 17 00:00:00 2001 From: Adam Perry Date: Sun, 12 Apr 2020 13:31:48 -0700 Subject: [PATCH 29/47] delete old.yml --- .circleci/old.yml | 56 ------------------------------------- .github/workflows/main.yml | 57 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+), 56 deletions(-) delete mode 100644 .circleci/old.yml diff --git a/.circleci/old.yml b/.circleci/old.yml deleted file mode 100644 index 0b492df..0000000 --- a/.circleci/old.yml +++ /dev/null @@ -1,56 +0,0 @@ - # - run: - # name: build website - # command: | - # pushd .. - # mkdir lolbench-site - # git clone https://github.com/anp/lolbench-data.git - # popd - - # cargo build-website --data-dir ../lolbench-data --output-dir ~/lolbench-site - # - store_artifacts: - # path: ~/lolbench-site - - # screenshots: - # docker: - # - image: circleci/node:10 - # steps: - # - checkout - # - attach_workspace: - # at: ~/lolbench-site - # - run: - # name: install chromium - # command: | - # sudo apt-get update - # # https://github.com/GoogleChrome/puppeteer/blob/master/docs/troubleshooting.md - # sudo apt-get install \ - # gconf-service libasound2 libatk1.0-0 libatk-bridge2.0-0 libc6 libcairo2 libcups2 \ - # libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 \ - # libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 \ - # libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 \ - # libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates \ - # fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget - # - run: - # name: install script deps - # working_directory: tools - # command: npm ci - # - run: - # name: take screenshots - # working_directory: tools - # command: npm run screenshots -- --siteDir ~/lolbench-site --outputDir ~/screenshots - # - store_artifacts: - # path: ~/screenshots - - # deploy: - # - run: sudo apt-get install ansible - # - run: ./deploy.sh $CIRCLE_SHA1 - - # - deploy: - # filters: - # branches: - # only: - # - master - # requires: - # - fmt - # - core - # - rebalance - # - screenshots diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index d4287fe..4180013 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -88,3 +88,60 @@ jobs: with: name: registry.toml.balanced path: registry.toml + + # - run: + # name: build website + # command: | + # pushd .. + # mkdir lolbench-site + # git clone https://github.com/anp/lolbench-data.git + # popd + + # cargo build-website --data-dir ../lolbench-data --output-dir ~/lolbench-site + # - store_artifacts: + # path: ~/lolbench-site + + # screenshots: + # docker: + # - image: circleci/node:10 + # steps: + # - checkout + # - attach_workspace: + # at: ~/lolbench-site + # - run: + # name: install chromium + # command: | + # sudo apt-get update + # # https://github.com/GoogleChrome/puppeteer/blob/master/docs/troubleshooting.md + # sudo apt-get install \ + # gconf-service libasound2 libatk1.0-0 libatk-bridge2.0-0 libc6 libcairo2 libcups2 \ + # libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 \ + # libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 \ + # libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 \ + # libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates \ + # fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget + # - run: + # name: install script deps + # working_directory: tools + # command: npm ci + # - run: + # name: take screenshots + # working_directory: tools + # command: npm run screenshots -- --siteDir ~/lolbench-site --outputDir ~/screenshots + # - store_artifacts: + # path: ~/screenshots + + # deploy: + # - run: sudo apt-get install ansible + # - run: ./deploy.sh $CIRCLE_SHA1 + + # - deploy: + # filters: + # branches: + # only: + # - master + # requires: + # - fmt + # - core + # - rebalance + # - screenshots \ No newline at end of file From 1da7aae361bb6f5247837774d88fccba9dd260e0 Mon Sep 17 00:00:00 2001 From: Adam Perry Date: Sun, 12 Apr 2020 13:45:54 -0700 Subject: [PATCH 30/47] add screenshots and deploy steps --- .github/workflows/main.yml | 90 ++++++++++++++++---------------------- 1 file changed, 37 insertions(+), 53 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 4180013..2c39272 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -89,59 +89,43 @@ jobs: name: registry.toml.balanced path: registry.toml - # - run: - # name: build website - # command: | - # pushd .. - # mkdir lolbench-site - # git clone https://github.com/anp/lolbench-data.git - # popd - - # cargo build-website --data-dir ../lolbench-data --output-dir ~/lolbench-site - # - store_artifacts: - # path: ~/lolbench-site + website: + env: + LOLBENCH_SITE_DIR: ~/lolbench-site + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + submodules: true + + # TODO download latest prod data to LOLBENCH_DATA_DIR - # screenshots: - # docker: - # - image: circleci/node:10 - # steps: - # - checkout - # - attach_workspace: - # at: ~/lolbench-site - # - run: - # name: install chromium - # command: | - # sudo apt-get update - # # https://github.com/GoogleChrome/puppeteer/blob/master/docs/troubleshooting.md - # sudo apt-get install \ - # gconf-service libasound2 libatk1.0-0 libatk-bridge2.0-0 libc6 libcairo2 libcups2 \ - # libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 \ - # libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 \ - # libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 \ - # libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates \ - # fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget - # - run: - # name: install script deps - # working_directory: tools - # command: npm ci - # - run: - # name: take screenshots - # working_directory: tools - # command: npm run screenshots -- --siteDir ~/lolbench-site --outputDir ~/screenshots - # - store_artifacts: - # path: ~/screenshots + - uses: actions-rs/cargo@v1 + with: + command: build-website + args: --data-dir ${{ env.LOLBENCH_DATA_DIR }} --output-dir ${{ env.LOLBENCH_SITE_DIR }} + - uses: actions/upload-artifact@v1 + with: + name: website + path: ${{ env.LOLBENCH_WEBSITE_DIR }} - # deploy: - # - run: sudo apt-get install ansible - # - run: ./deploy.sh $CIRCLE_SHA1 + - name: take screenshots + run: | + cd tools + npm ci + npm run screenshots -- --siteDir ${{ env.LOLBENCH_SITE_DIR }} --outputDir ~/screenshots + + - uses: actions/upload-artifact@v1 + with: + name: screenshots + path: ~/screenshots - # - deploy: - # filters: - # branches: - # only: - # - master - # requires: - # - fmt - # - core - # - rebalance - # - screenshots \ No newline at end of file + deploy: + if: github.ref == 'ref/head/master' + needs: [core, lint, website] + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + submodules: true + - run: ./deploy.sh $GITHUB_SHA From 3159133536c2012e317bf5fc634fd70aa2b83702 Mon Sep 17 00:00:00 2001 From: Adam Perry Date: Sun, 12 Apr 2020 14:00:40 -0700 Subject: [PATCH 31/47] name steps to improve log output --- .github/workflows/main.yml | 51 ++++++++++++++++++++++++-------------- 1 file changed, 33 insertions(+), 18 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 2c39272..0b4012c 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -8,8 +8,10 @@ jobs: - uses: actions/checkout@v2 with: submodules: true - - run: .github/workflows/git-commit-config.sh - - uses: actions-rs/cargo@v1 + - name: git setup + run: .github/workflows/git-commit-config.sh + - name: test + uses: actions-rs/cargo@v1 with: command: test-core @@ -19,14 +21,17 @@ jobs: - uses: actions/checkout@v2 with: submodules: true - - uses: actions-rs/toolchain@v1 + - name: rustup + uses: actions-rs/toolchain@v1 with: components: clippy, rustfmt - - uses: actions-rs/clippy-check@v1 + - name: clippy + uses: actions-rs/clippy-check@v1 with: token: ${{ secrets.GITHUB_TOKEN }} args: --all-features - - run: cargo fmt-core -- --check + - name: rustfmt + run: cargo fmt-core -- --check brotli_1_1_3: env: @@ -36,12 +41,15 @@ jobs: - uses: actions/checkout@v2 with: submodules: true - - run: .github/workflows/git-commit-config.sh - - uses: actions-rs/cargo@v1 + - name: git setup + run: .github/workflows/git-commit-config.sh + - name: test + uses: actions-rs/cargo@v1 with: command: test args: --release --package ${{ env.LOLBENCH_CRATE }} - - uses: actions/upload-artifact@v1 + - name: upload + uses: actions/upload-artifact@v1 with: name: ${{ env.LOLBENCH_CRATE }} path: ${{ env.LOLBENCH_DATA_DIR }} @@ -69,22 +77,23 @@ jobs: - uses: actions/checkout@v2 with: submodules: true - - uses: actions/download-artifact@v1 + - name: download brotli_1_1_3 + uses: actions/download-artifact@v1 with: name: brotli_1_1_3 path: ${{ env.LOLBENCH_DATA_DIR }} - - - uses: actions-rs/cargo@v1 + - name: rebalance benchmarks + uses: actions-rs/cargo@v1 with: command: rebalance-benchmarks args: --sample-dir ${{ env.LOLBENCH_DATA_DIR }} - - - uses: actions/upload-artifact@v1 + - name: upload data dir + uses: actions/upload-artifact@v1 with: name: final_data_dir path: ${{ env.LOLBENCH_DATA_DIR }} - - - uses: actions/upload-artifact@v1 + - name: upload registry.toml + uses: actions/upload-artifact@v1 with: name: registry.toml.balanced path: registry.toml @@ -97,14 +106,19 @@ jobs: - uses: actions/checkout@v2 with: submodules: true + - name: git setup + run: .github/workflows/git-commit-config.sh # TODO download latest prod data to LOLBENCH_DATA_DIR - - uses: actions-rs/cargo@v1 + - name: build website + uses: actions-rs/cargo@v1 with: command: build-website args: --data-dir ${{ env.LOLBENCH_DATA_DIR }} --output-dir ${{ env.LOLBENCH_SITE_DIR }} - - uses: actions/upload-artifact@v1 + + - name: upload website + uses: actions/upload-artifact@v1 with: name: website path: ${{ env.LOLBENCH_WEBSITE_DIR }} @@ -115,7 +129,8 @@ jobs: npm ci npm run screenshots -- --siteDir ${{ env.LOLBENCH_SITE_DIR }} --outputDir ~/screenshots - - uses: actions/upload-artifact@v1 + - name: upload screenshots + uses: actions/upload-artifact@v1 with: name: screenshots path: ~/screenshots From edf47b993453859eef3ac8f34a6074b05de99811 Mon Sep 17 00:00:00 2001 From: Adam Perry Date: Sun, 12 Apr 2020 14:01:30 -0700 Subject: [PATCH 32/47] jobs shouldn't have linebreaks --- .github/workflows/main.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 0b4012c..5d2f9e6 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -108,27 +108,22 @@ jobs: submodules: true - name: git setup run: .github/workflows/git-commit-config.sh - # TODO download latest prod data to LOLBENCH_DATA_DIR - - name: build website uses: actions-rs/cargo@v1 with: command: build-website args: --data-dir ${{ env.LOLBENCH_DATA_DIR }} --output-dir ${{ env.LOLBENCH_SITE_DIR }} - - name: upload website uses: actions/upload-artifact@v1 with: name: website path: ${{ env.LOLBENCH_WEBSITE_DIR }} - - name: take screenshots run: | cd tools npm ci npm run screenshots -- --siteDir ${{ env.LOLBENCH_SITE_DIR }} --outputDir ~/screenshots - - name: upload screenshots uses: actions/upload-artifact@v1 with: From 674a4a75ba22ad092e0a676713336f8de7b25ed2 Mon Sep 17 00:00:00 2001 From: Adam Perry Date: Sun, 12 Apr 2020 14:14:39 -0700 Subject: [PATCH 33/47] expand the other benchmarks --- .github/workflows/main.yml | 451 +++++++++++++++++++++++++++++++++++-- 1 file changed, 434 insertions(+), 17 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 5d2f9e6..4bf44b3 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -54,24 +54,361 @@ jobs: name: ${{ env.LOLBENCH_CRATE }} path: ${{ env.LOLBENCH_DATA_DIR }} - # byteorder_1_2_6: - # clap_2_31_2: - # crossbeam_epoch_0_4_0: - # csv_1_0_2: - # diesel_1_1_1: - # doom_9e197d7: - # inflate_0_3_4: - # json_benchmark_c7d3d9b: - # nom_4_0_0: - # quickcheck_0_6_1: - # rayon_1_0_0: - # raytrace_8de9020: - # regex_0_2_6: - # sha2_0_8_0: - # sha3_0_8_0: - # snap_0_2_4: + byteorder_1_2_6: + env: + LOLBENCH_CRATE: byteorder_1_2_6 + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + submodules: true + - name: git setup + run: .github/workflows/git-commit-config.sh + - name: test + uses: actions-rs/cargo@v1 + with: + command: test + args: --release --package ${{ env.LOLBENCH_CRATE }} + - name: upload + uses: actions/upload-artifact@v1 + with: + name: ${{ env.LOLBENCH_CRATE }} + path: ${{ env.LOLBENCH_DATA_DIR }} + + clap_2_31_2: + env: + LOLBENCH_CRATE: clap_2_31_2 + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + submodules: true + - name: git setup + run: .github/workflows/git-commit-config.sh + - name: test + uses: actions-rs/cargo@v1 + with: + command: test + args: --release --package ${{ env.LOLBENCH_CRATE }} + - name: upload + uses: actions/upload-artifact@v1 + with: + name: ${{ env.LOLBENCH_CRATE }} + path: ${{ env.LOLBENCH_DATA_DIR }} + + crossbeam_epoch_0_4_0: + env: + LOLBENCH_CRATE: crossbeam_epoch_0_4_0 + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + submodules: true + - name: git setup + run: .github/workflows/git-commit-config.sh + - name: test + uses: actions-rs/cargo@v1 + with: + command: test + args: --release --package ${{ env.LOLBENCH_CRATE }} + - name: upload + uses: actions/upload-artifact@v1 + with: + name: ${{ env.LOLBENCH_CRATE }} + path: ${{ env.LOLBENCH_DATA_DIR }} + + csv_1_0_2: + env: + LOLBENCH_CRATE: csv_1_0_2 + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + submodules: true + - name: git setup + run: .github/workflows/git-commit-config.sh + - name: test + uses: actions-rs/cargo@v1 + with: + command: test + args: --release --package ${{ env.LOLBENCH_CRATE }} + - name: upload + uses: actions/upload-artifact@v1 + with: + name: ${{ env.LOLBENCH_CRATE }} + path: ${{ env.LOLBENCH_DATA_DIR }} + + diesel_1_1_1: + env: + LOLBENCH_CRATE: diesel_1_1_1 + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + submodules: true + - name: git setup + run: .github/workflows/git-commit-config.sh + - name: test + uses: actions-rs/cargo@v1 + with: + command: test + args: --release --package ${{ env.LOLBENCH_CRATE }} + - name: upload + uses: actions/upload-artifact@v1 + with: + name: ${{ env.LOLBENCH_CRATE }} + path: ${{ env.LOLBENCH_DATA_DIR }} + + doom_9e197d7: + env: + LOLBENCH_CRATE: doom_9e197d7 + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + submodules: true + - name: git setup + run: .github/workflows/git-commit-config.sh + - name: test + uses: actions-rs/cargo@v1 + with: + command: test + args: --release --package ${{ env.LOLBENCH_CRATE }} + - name: upload + uses: actions/upload-artifact@v1 + with: + name: ${{ env.LOLBENCH_CRATE }} + path: ${{ env.LOLBENCH_DATA_DIR }} + + inflate_0_3_4: + env: + LOLBENCH_CRATE: inflate_0_3_4 + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + submodules: true + - name: git setup + run: .github/workflows/git-commit-config.sh + - name: test + uses: actions-rs/cargo@v1 + with: + command: test + args: --release --package ${{ env.LOLBENCH_CRATE }} + - name: upload + uses: actions/upload-artifact@v1 + with: + name: ${{ env.LOLBENCH_CRATE }} + path: ${{ env.LOLBENCH_DATA_DIR }} + + json_benchmark_c7d3d9b: + env: + LOLBENCH_CRATE: json_benchmark_c7d3d9b + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + submodules: true + - name: git setup + run: .github/workflows/git-commit-config.sh + - name: test + uses: actions-rs/cargo@v1 + with: + command: test + args: --release --package ${{ env.LOLBENCH_CRATE }} + - name: upload + uses: actions/upload-artifact@v1 + with: + name: ${{ env.LOLBENCH_CRATE }} + path: ${{ env.LOLBENCH_DATA_DIR }} + + nom_4_0_0: + env: + LOLBENCH_CRATE: nom_4_0_0 + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + submodules: true + - name: git setup + run: .github/workflows/git-commit-config.sh + - name: test + uses: actions-rs/cargo@v1 + with: + command: test + args: --release --package ${{ env.LOLBENCH_CRATE }} + - name: upload + uses: actions/upload-artifact@v1 + with: + name: ${{ env.LOLBENCH_CRATE }} + path: ${{ env.LOLBENCH_DATA_DIR }} + + quickcheck_0_6_1: + env: + LOLBENCH_CRATE: quickcheck_0_6_1 + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + submodules: true + - name: git setup + run: .github/workflows/git-commit-config.sh + - name: test + uses: actions-rs/cargo@v1 + with: + command: test + args: --release --package ${{ env.LOLBENCH_CRATE }} + - name: upload + uses: actions/upload-artifact@v1 + with: + name: ${{ env.LOLBENCH_CRATE }} + path: ${{ env.LOLBENCH_DATA_DIR }} + + rayon_1_0_0: + env: + LOLBENCH_CRATE: rayon_1_0_0 + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + submodules: true + - name: git setup + run: .github/workflows/git-commit-config.sh + - name: test + uses: actions-rs/cargo@v1 + with: + command: test + args: --release --package ${{ env.LOLBENCH_CRATE }} + - name: upload + uses: actions/upload-artifact@v1 + with: + name: ${{ env.LOLBENCH_CRATE }} + path: ${{ env.LOLBENCH_DATA_DIR }} + + raytrace_8de9020: + env: + LOLBENCH_CRATE: raytrace_8de9020 + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + submodules: true + - name: git setup + run: .github/workflows/git-commit-config.sh + - name: test + uses: actions-rs/cargo@v1 + with: + command: test + args: --release --package ${{ env.LOLBENCH_CRATE }} + - name: upload + uses: actions/upload-artifact@v1 + with: + name: ${{ env.LOLBENCH_CRATE }} + path: ${{ env.LOLBENCH_DATA_DIR }} + + regex_0_2_6: + env: + LOLBENCH_CRATE: regex_0_2_6 + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + submodules: true + - name: git setup + run: .github/workflows/git-commit-config.sh + - name: test + uses: actions-rs/cargo@v1 + with: + command: test + args: --release --package ${{ env.LOLBENCH_CRATE }} + - name: upload + uses: actions/upload-artifact@v1 + with: + name: ${{ env.LOLBENCH_CRATE }} + path: ${{ env.LOLBENCH_DATA_DIR }} + + sha2_0_8_0: + env: + LOLBENCH_CRATE: sha2_0_8_0 + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + submodules: true + - name: git setup + run: .github/workflows/git-commit-config.sh + - name: test + uses: actions-rs/cargo@v1 + with: + command: test + args: --release --package ${{ env.LOLBENCH_CRATE }} + - name: upload + uses: actions/upload-artifact@v1 + with: + name: ${{ env.LOLBENCH_CRATE }} + path: ${{ env.LOLBENCH_DATA_DIR }} + + sha3_0_8_0: + env: + LOLBENCH_CRATE: sha3_0_8_0 + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + submodules: true + - name: git setup + run: .github/workflows/git-commit-config.sh + - name: test + uses: actions-rs/cargo@v1 + with: + command: test + args: --release --package ${{ env.LOLBENCH_CRATE }} + - name: upload + uses: actions/upload-artifact@v1 + with: + name: ${{ env.LOLBENCH_CRATE }} + path: ${{ env.LOLBENCH_DATA_DIR }} + + snap_0_2_4: + env: + LOLBENCH_CRATE: snap_0_2_4 + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + submodules: true + - name: git setup + run: .github/workflows/git-commit-config.sh + - name: test + uses: actions-rs/cargo@v1 + with: + command: test + args: --release --package ${{ env.LOLBENCH_CRATE }} + - name: upload + uses: actions/upload-artifact@v1 + with: + name: ${{ env.LOLBENCH_CRATE }} + path: ${{ env.LOLBENCH_DATA_DIR }} + rebalance: - needs: [brotli_1_1_3] + needs: + - brotli_1_1_3 + - byteorder_1_2_6 + - clap_2_31_2 + - crossbeam_epoch_0_4_0 + - csv_1_0_2 + - diesel_1_1_1 + - doom_9e197d7 + - inflate_0_3_4 + - json_benchmark_c7d3d9b + - nom_4_0_0 + - quickcheck_0_6_1 + - rayon_1_0_0 + - raytrace_8de9020 + - regex_0_2_6 + - sha2_0_8_0 + - sha3_0_8_0 + - snap_0_2_4 runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 @@ -82,6 +419,86 @@ jobs: with: name: brotli_1_1_3 path: ${{ env.LOLBENCH_DATA_DIR }} + - name: download byteorder_1_2_6 + uses: actions/download-artifact@v1 + with: + name: byteorder_1_2_6 + path: ${{ env.LOLBENCH_DATA_DIR }} + - name: download clap_2_31_2 + uses: actions/download-artifact@v1 + with: + name: clap_2_31_2 + path: ${{ env.LOLBENCH_DATA_DIR }} + - name: download crossbeam_epoch_0_4_0 + uses: actions/download-artifact@v1 + with: + name: + path: ${{ env.LOLBENCH_DATA_DIR }} + - name: download csv_1_0_2 + uses: actions/download-artifact@v1 + with: + name: + path: ${{ env.LOLBENCH_DATA_DIR }} + - name: download diesel_1_1_1 + uses: actions/download-artifact@v1 + with: + name: diesel_1_1_1 + path: ${{ env.LOLBENCH_DATA_DIR }} + - name: download doom_9e197d7 + uses: actions/download-artifact@v1 + with: + name: doom_9e197d7 + path: ${{ env.LOLBENCH_DATA_DIR }} + - name: download inflate_0_3_4 + uses: actions/download-artifact@v1 + with: + name: inflate_0_3_4 + path: ${{ env.LOLBENCH_DATA_DIR }} + - name: download json_benchmark_c7d3d9b + uses: actions/download-artifact@v1 + with: + name: json_benchmark_c7d3d9b + path: ${{ env.LOLBENCH_DATA_DIR }} + - name: download nom_4_0_0 + uses: actions/download-artifact@v1 + with: + name: nom_4_0_0 + path: ${{ env.LOLBENCH_DATA_DIR }} + - name: download quickcheck_0_6_1 + uses: actions/download-artifact@v1 + with: + name: quickcheck_0_6_1 + path: ${{ env.LOLBENCH_DATA_DIR }} + - name: download rayon_1_0_0 + uses: actions/download-artifact@v1 + with: + name: rayon_1_0_0 + path: ${{ env.LOLBENCH_DATA_DIR }} + - name: download + uses: actions/download-artifact@v1 + with: + name: raytrace_8de9020 + path: ${{ env.LOLBENCH_DATA_DIR }} + - name: download regex_0_2_6 + uses: actions/download-artifact@v1 + with: + name: regex_0_2_6 + path: ${{ env.LOLBENCH_DATA_DIR }} + - name: download sha2_0_8_0 + uses: actions/download-artifact@v1 + with: + name: sha2_0_8_0 + path: ${{ env.LOLBENCH_DATA_DIR }} + - name: download sha3_0_8_0 + uses: actions/download-artifact@v1 + with: + name: sha3_0_8_0 + path: ${{ env.LOLBENCH_DATA_DIR }} + - name: download snap_0_2_4 + uses: actions/download-artifact@v1 + with: + name: snap_0_2_4 + path: ${{ env.LOLBENCH_DATA_DIR }} - name: rebalance benchmarks uses: actions-rs/cargo@v1 with: From b8468525f3fa17596ff69f2f21d0ba2aabe44f33 Mon Sep 17 00:00:00 2001 From: Adam Perry Date: Sun, 12 Apr 2020 15:07:28 -0700 Subject: [PATCH 34/47] copy/paste fail --- .github/workflows/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 4bf44b3..ec93b2f 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -432,12 +432,12 @@ jobs: - name: download crossbeam_epoch_0_4_0 uses: actions/download-artifact@v1 with: - name: + name: crossbeam_epoch_0_4_0 path: ${{ env.LOLBENCH_DATA_DIR }} - name: download csv_1_0_2 uses: actions/download-artifact@v1 with: - name: + name: csv_1_0_2 path: ${{ env.LOLBENCH_DATA_DIR }} - name: download diesel_1_1_1 uses: actions/download-artifact@v1 From 193ae2922da8e604b5211f54ae7c63a2ff5cd2bb Mon Sep 17 00:00:00 2001 From: Adam Perry Date: Sun, 13 Dec 2020 08:39:20 -0800 Subject: [PATCH 35/47] clean up ci results page --- .github/workflows/main.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index ec93b2f..8a00e0b 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,4 +1,10 @@ -on: [push, pull_request] +on: + push: + branches: + - main + pull_request: + branches: + - main env: LOLBENCH_DATA_DIR: /tmp/lolbench jobs: From 385357d2de75ec7294d0b3e79934e8fdcaeefb2e Mon Sep 17 00:00:00 2001 From: Adam Perry Date: Sun, 13 Dec 2020 08:45:08 -0800 Subject: [PATCH 36/47] finish default branch rename --- README.md | 2 +- docs/adding-new-benchmarks.md | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 853bdfc..27f1a03 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # lolbench -CI Status: [![GitHub](https://img.shields.io/github/workflow/status/anp/lolbench/master)](https://github.com/anp/lolbench/actions) +CI Status: [![GitHub](https://img.shields.io/github/workflow/status/anp/lolbench/main)](https://github.com/anp/lolbench/actions) This project is an effort to reproducibly benchmark "in the wild" Rust code against newer compiler versions to detect performance regressions. The data is currently published to [https://lolbench.rs](https://lolbench.rs). diff --git a/docs/adding-new-benchmarks.md b/docs/adding-new-benchmarks.md index 8cb641f..c2c4793 100644 --- a/docs/adding-new-benchmarks.md +++ b/docs/adding-new-benchmarks.md @@ -105,8 +105,8 @@ CI will ensure that all other benchmarks still build on your PR, you don't need Once a PR with benchmarks is merged, we need to assign the new benchmark functions to different runners. We'd like this process to leave the runners each with a roughly equal amount of work, or at least close enough that it doesn't create bottlenecks. -Find the latest [workflow on master][master-workflows], and wait for the `rebalance` job to finish. That job's artifacts include a new `registry.toml` with fresh assignments which you can download, commit, and PR if the changes seem reasonable. +Find the latest [workflow on main][main-workflows], and wait for the `rebalance` job to finish. That job's artifacts include a new `registry.toml` with fresh assignments which you can download, commit, and PR if the changes seem reasonable. -[master-workflows]: https://github.com/anp/lolbench/actions?query=workflow%3A.github%2Fworkflows%2Fmain.yml +[main-workflows]: https://github.com/anp/lolbench/actions?query=workflow%3A.github%2Fworkflows%2Fmain.yml [rayon-benchmark-source]: https://github.com/rayon-rs/rayon/blob/5107676d50a261d10b79d8749fd4674498edf9ec/rayon-demo/src/fibonacci/mod.rs#L47-L61 [lolbench-rayon-benchmark-source]: https://github.com/anp/lolbench/blob/d89ddde39fc63361614118f59732549ba2b9c5d4/benches/rayon_1_0_0/src/fibonacci/mod.rs#L48-L64 From b77018b9881325396300618872268d50b8e41fcf Mon Sep 17 00:00:00 2001 From: Adam Perry Date: Sun, 13 Dec 2020 09:13:33 -0800 Subject: [PATCH 37/47] add caching to ci jobs --- .github/workflows/main.yml | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 8a00e0b..25c6721 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -16,6 +16,8 @@ jobs: submodules: true - name: git setup run: .github/workflows/git-commit-config.sh + - uses: actions-rs/toolchain@v1 + - uses: Swatinem/rust-cache@v1 - name: test uses: actions-rs/cargo@v1 with: @@ -49,6 +51,8 @@ jobs: submodules: true - name: git setup run: .github/workflows/git-commit-config.sh + - uses: actions-rs/toolchain@v1 + - uses: Swatinem/rust-cache@v1 - name: test uses: actions-rs/cargo@v1 with: @@ -70,6 +74,8 @@ jobs: submodules: true - name: git setup run: .github/workflows/git-commit-config.sh + - uses: actions-rs/toolchain@v1 + - uses: Swatinem/rust-cache@v1 - name: test uses: actions-rs/cargo@v1 with: @@ -91,6 +97,8 @@ jobs: submodules: true - name: git setup run: .github/workflows/git-commit-config.sh + - uses: actions-rs/toolchain@v1 + - uses: Swatinem/rust-cache@v1 - name: test uses: actions-rs/cargo@v1 with: @@ -112,6 +120,8 @@ jobs: submodules: true - name: git setup run: .github/workflows/git-commit-config.sh + - uses: actions-rs/toolchain@v1 + - uses: Swatinem/rust-cache@v1 - name: test uses: actions-rs/cargo@v1 with: @@ -133,6 +143,8 @@ jobs: submodules: true - name: git setup run: .github/workflows/git-commit-config.sh + - uses: actions-rs/toolchain@v1 + - uses: Swatinem/rust-cache@v1 - name: test uses: actions-rs/cargo@v1 with: @@ -154,6 +166,8 @@ jobs: submodules: true - name: git setup run: .github/workflows/git-commit-config.sh + - uses: actions-rs/toolchain@v1 + - uses: Swatinem/rust-cache@v1 - name: test uses: actions-rs/cargo@v1 with: @@ -175,6 +189,8 @@ jobs: submodules: true - name: git setup run: .github/workflows/git-commit-config.sh + - uses: actions-rs/toolchain@v1 + - uses: Swatinem/rust-cache@v1 - name: test uses: actions-rs/cargo@v1 with: @@ -196,6 +212,8 @@ jobs: submodules: true - name: git setup run: .github/workflows/git-commit-config.sh + - uses: actions-rs/toolchain@v1 + - uses: Swatinem/rust-cache@v1 - name: test uses: actions-rs/cargo@v1 with: @@ -217,6 +235,8 @@ jobs: submodules: true - name: git setup run: .github/workflows/git-commit-config.sh + - uses: actions-rs/toolchain@v1 + - uses: Swatinem/rust-cache@v1 - name: test uses: actions-rs/cargo@v1 with: @@ -238,6 +258,8 @@ jobs: submodules: true - name: git setup run: .github/workflows/git-commit-config.sh + - uses: actions-rs/toolchain@v1 + - uses: Swatinem/rust-cache@v1 - name: test uses: actions-rs/cargo@v1 with: @@ -259,6 +281,8 @@ jobs: submodules: true - name: git setup run: .github/workflows/git-commit-config.sh + - uses: actions-rs/toolchain@v1 + - uses: Swatinem/rust-cache@v1 - name: test uses: actions-rs/cargo@v1 with: @@ -280,6 +304,8 @@ jobs: submodules: true - name: git setup run: .github/workflows/git-commit-config.sh + - uses: actions-rs/toolchain@v1 + - uses: Swatinem/rust-cache@v1 - name: test uses: actions-rs/cargo@v1 with: @@ -301,6 +327,8 @@ jobs: submodules: true - name: git setup run: .github/workflows/git-commit-config.sh + - uses: actions-rs/toolchain@v1 + - uses: Swatinem/rust-cache@v1 - name: test uses: actions-rs/cargo@v1 with: @@ -322,6 +350,8 @@ jobs: submodules: true - name: git setup run: .github/workflows/git-commit-config.sh + - uses: actions-rs/toolchain@v1 + - uses: Swatinem/rust-cache@v1 - name: test uses: actions-rs/cargo@v1 with: @@ -343,6 +373,8 @@ jobs: submodules: true - name: git setup run: .github/workflows/git-commit-config.sh + - uses: actions-rs/toolchain@v1 + - uses: Swatinem/rust-cache@v1 - name: test uses: actions-rs/cargo@v1 with: @@ -364,6 +396,8 @@ jobs: submodules: true - name: git setup run: .github/workflows/git-commit-config.sh + - uses: actions-rs/toolchain@v1 + - uses: Swatinem/rust-cache@v1 - name: test uses: actions-rs/cargo@v1 with: @@ -385,6 +419,8 @@ jobs: submodules: true - name: git setup run: .github/workflows/git-commit-config.sh + - uses: actions-rs/toolchain@v1 + - uses: Swatinem/rust-cache@v1 - name: test uses: actions-rs/cargo@v1 with: @@ -531,6 +567,8 @@ jobs: submodules: true - name: git setup run: .github/workflows/git-commit-config.sh + - uses: actions-rs/toolchain@v1 + - uses: Swatinem/rust-cache@v1 # TODO download latest prod data to LOLBENCH_DATA_DIR - name: build website uses: actions-rs/cargo@v1 From dabf9cbf73bcd718c11440f20a84bd596de19e99 Mon Sep 17 00:00:00 2001 From: Adam Perry Date: Sun, 13 Dec 2020 09:21:28 -0800 Subject: [PATCH 38/47] switch back to old cargo flag haven't updated rust toolchain yet --- .cargo/config | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.cargo/config b/.cargo/config index 642eba0..a72b194 100644 --- a/.cargo/config +++ b/.cargo/config @@ -12,8 +12,8 @@ fmt build-website='run -- build-website' rebalance-benchmarks='run -- rebalance-benchmarks' -build-all='build --workspace --all-targets' -test-all='test --workspace --all-targets --release' +build-all='build --all --all-targets' +test-all='test --all --all-targets --release' test-core=''' test --package lolbench From 9faee892631cab428d1cae0e52f46203f933326f Mon Sep 17 00:00:00 2001 From: Adam Perry Date: Sun, 13 Dec 2020 09:27:43 -0800 Subject: [PATCH 39/47] move website job to use sample data until prod data is back --- .github/workflows/main.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 25c6721..d286a14 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -558,6 +558,8 @@ jobs: path: registry.toml website: + needs: + - rebalance env: LOLBENCH_SITE_DIR: ~/lolbench-site runs-on: ubuntu-latest @@ -569,7 +571,11 @@ jobs: run: .github/workflows/git-commit-config.sh - uses: actions-rs/toolchain@v1 - uses: Swatinem/rust-cache@v1 - # TODO download latest prod data to LOLBENCH_DATA_DIR + - name: download sample data dir (TODO download production data set) + uses: actions/download-artifact@v1 + with: + name: final_data_dir + path: ${{ env.LOLBENCH_DATA_DIR }} - name: build website uses: actions-rs/cargo@v1 with: From 5c1196b295e5625d3bc8eb379812a134bf9b65bd Mon Sep 17 00:00:00 2001 From: Adam Perry Date: Sun, 13 Dec 2020 09:45:56 -0800 Subject: [PATCH 40/47] cache deps for rebalance job --- .github/workflows/main.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index d286a14..57d537a 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -541,6 +541,8 @@ jobs: with: name: snap_0_2_4 path: ${{ env.LOLBENCH_DATA_DIR }} + - uses: actions-rs/toolchain@v1 + - uses: Swatinem/rust-cache@v1 - name: rebalance benchmarks uses: actions-rs/cargo@v1 with: From 81f217b2fa973ffa04659f0ca8a5bab724f9628c Mon Sep 17 00:00:00 2001 From: Adam Perry Date: Sun, 13 Dec 2020 09:57:54 -0800 Subject: [PATCH 41/47] DRY up crate name in jobs --- .github/workflows/main.yml | 102 +++++++++++++------------------------ 1 file changed, 34 insertions(+), 68 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 57d537a..eeeb71d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -42,8 +42,6 @@ jobs: run: cargo fmt-core -- --check brotli_1_1_3: - env: - LOLBENCH_CRATE: brotli_1_1_3 runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 @@ -57,16 +55,14 @@ jobs: uses: actions-rs/cargo@v1 with: command: test - args: --release --package ${{ env.LOLBENCH_CRATE }} + args: --release --package ${{ github.job }} - name: upload uses: actions/upload-artifact@v1 with: - name: ${{ env.LOLBENCH_CRATE }} + name: ${{ github.job }} path: ${{ env.LOLBENCH_DATA_DIR }} byteorder_1_2_6: - env: - LOLBENCH_CRATE: byteorder_1_2_6 runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 @@ -80,16 +76,14 @@ jobs: uses: actions-rs/cargo@v1 with: command: test - args: --release --package ${{ env.LOLBENCH_CRATE }} + args: --release --package ${{ github.job }} - name: upload uses: actions/upload-artifact@v1 with: - name: ${{ env.LOLBENCH_CRATE }} + name: ${{ github.job }} path: ${{ env.LOLBENCH_DATA_DIR }} clap_2_31_2: - env: - LOLBENCH_CRATE: clap_2_31_2 runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 @@ -103,16 +97,14 @@ jobs: uses: actions-rs/cargo@v1 with: command: test - args: --release --package ${{ env.LOLBENCH_CRATE }} + args: --release --package ${{ github.job }} - name: upload uses: actions/upload-artifact@v1 with: - name: ${{ env.LOLBENCH_CRATE }} + name: ${{ github.job }} path: ${{ env.LOLBENCH_DATA_DIR }} crossbeam_epoch_0_4_0: - env: - LOLBENCH_CRATE: crossbeam_epoch_0_4_0 runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 @@ -126,16 +118,14 @@ jobs: uses: actions-rs/cargo@v1 with: command: test - args: --release --package ${{ env.LOLBENCH_CRATE }} + args: --release --package ${{ github.job }} - name: upload uses: actions/upload-artifact@v1 with: - name: ${{ env.LOLBENCH_CRATE }} + name: ${{ github.job }} path: ${{ env.LOLBENCH_DATA_DIR }} csv_1_0_2: - env: - LOLBENCH_CRATE: csv_1_0_2 runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 @@ -149,16 +139,14 @@ jobs: uses: actions-rs/cargo@v1 with: command: test - args: --release --package ${{ env.LOLBENCH_CRATE }} + args: --release --package ${{ github.job }} - name: upload uses: actions/upload-artifact@v1 with: - name: ${{ env.LOLBENCH_CRATE }} + name: ${{ github.job }} path: ${{ env.LOLBENCH_DATA_DIR }} diesel_1_1_1: - env: - LOLBENCH_CRATE: diesel_1_1_1 runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 @@ -172,16 +160,14 @@ jobs: uses: actions-rs/cargo@v1 with: command: test - args: --release --package ${{ env.LOLBENCH_CRATE }} + args: --release --package ${{ github.job }} - name: upload uses: actions/upload-artifact@v1 with: - name: ${{ env.LOLBENCH_CRATE }} + name: ${{ github.job }} path: ${{ env.LOLBENCH_DATA_DIR }} doom_9e197d7: - env: - LOLBENCH_CRATE: doom_9e197d7 runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 @@ -195,16 +181,14 @@ jobs: uses: actions-rs/cargo@v1 with: command: test - args: --release --package ${{ env.LOLBENCH_CRATE }} + args: --release --package ${{ github.job }} - name: upload uses: actions/upload-artifact@v1 with: - name: ${{ env.LOLBENCH_CRATE }} + name: ${{ github.job }} path: ${{ env.LOLBENCH_DATA_DIR }} inflate_0_3_4: - env: - LOLBENCH_CRATE: inflate_0_3_4 runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 @@ -218,16 +202,14 @@ jobs: uses: actions-rs/cargo@v1 with: command: test - args: --release --package ${{ env.LOLBENCH_CRATE }} + args: --release --package ${{ github.job }} - name: upload uses: actions/upload-artifact@v1 with: - name: ${{ env.LOLBENCH_CRATE }} + name: ${{ github.job }} path: ${{ env.LOLBENCH_DATA_DIR }} json_benchmark_c7d3d9b: - env: - LOLBENCH_CRATE: json_benchmark_c7d3d9b runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 @@ -241,16 +223,14 @@ jobs: uses: actions-rs/cargo@v1 with: command: test - args: --release --package ${{ env.LOLBENCH_CRATE }} + args: --release --package ${{ github.job }} - name: upload uses: actions/upload-artifact@v1 with: - name: ${{ env.LOLBENCH_CRATE }} + name: ${{ github.job }} path: ${{ env.LOLBENCH_DATA_DIR }} nom_4_0_0: - env: - LOLBENCH_CRATE: nom_4_0_0 runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 @@ -264,16 +244,14 @@ jobs: uses: actions-rs/cargo@v1 with: command: test - args: --release --package ${{ env.LOLBENCH_CRATE }} + args: --release --package ${{ github.job }} - name: upload uses: actions/upload-artifact@v1 with: - name: ${{ env.LOLBENCH_CRATE }} + name: ${{ github.job }} path: ${{ env.LOLBENCH_DATA_DIR }} quickcheck_0_6_1: - env: - LOLBENCH_CRATE: quickcheck_0_6_1 runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 @@ -287,16 +265,14 @@ jobs: uses: actions-rs/cargo@v1 with: command: test - args: --release --package ${{ env.LOLBENCH_CRATE }} + args: --release --package ${{ github.job }} - name: upload uses: actions/upload-artifact@v1 with: - name: ${{ env.LOLBENCH_CRATE }} + name: ${{ github.job }} path: ${{ env.LOLBENCH_DATA_DIR }} rayon_1_0_0: - env: - LOLBENCH_CRATE: rayon_1_0_0 runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 @@ -310,16 +286,14 @@ jobs: uses: actions-rs/cargo@v1 with: command: test - args: --release --package ${{ env.LOLBENCH_CRATE }} + args: --release --package ${{ github.job }} - name: upload uses: actions/upload-artifact@v1 with: - name: ${{ env.LOLBENCH_CRATE }} + name: ${{ github.job }} path: ${{ env.LOLBENCH_DATA_DIR }} raytrace_8de9020: - env: - LOLBENCH_CRATE: raytrace_8de9020 runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 @@ -333,16 +307,14 @@ jobs: uses: actions-rs/cargo@v1 with: command: test - args: --release --package ${{ env.LOLBENCH_CRATE }} + args: --release --package ${{ github.job }} - name: upload uses: actions/upload-artifact@v1 with: - name: ${{ env.LOLBENCH_CRATE }} + name: ${{ github.job }} path: ${{ env.LOLBENCH_DATA_DIR }} regex_0_2_6: - env: - LOLBENCH_CRATE: regex_0_2_6 runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 @@ -356,16 +328,14 @@ jobs: uses: actions-rs/cargo@v1 with: command: test - args: --release --package ${{ env.LOLBENCH_CRATE }} + args: --release --package ${{ github.job }} - name: upload uses: actions/upload-artifact@v1 with: - name: ${{ env.LOLBENCH_CRATE }} + name: ${{ github.job }} path: ${{ env.LOLBENCH_DATA_DIR }} sha2_0_8_0: - env: - LOLBENCH_CRATE: sha2_0_8_0 runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 @@ -379,16 +349,14 @@ jobs: uses: actions-rs/cargo@v1 with: command: test - args: --release --package ${{ env.LOLBENCH_CRATE }} + args: --release --package ${{ github.job }} - name: upload uses: actions/upload-artifact@v1 with: - name: ${{ env.LOLBENCH_CRATE }} + name: ${{ github.job }} path: ${{ env.LOLBENCH_DATA_DIR }} sha3_0_8_0: - env: - LOLBENCH_CRATE: sha3_0_8_0 runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 @@ -402,16 +370,14 @@ jobs: uses: actions-rs/cargo@v1 with: command: test - args: --release --package ${{ env.LOLBENCH_CRATE }} + args: --release --package ${{ github.job }} - name: upload uses: actions/upload-artifact@v1 with: - name: ${{ env.LOLBENCH_CRATE }} + name: ${{ github.job }} path: ${{ env.LOLBENCH_DATA_DIR }} snap_0_2_4: - env: - LOLBENCH_CRATE: snap_0_2_4 runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 @@ -425,11 +391,11 @@ jobs: uses: actions-rs/cargo@v1 with: command: test - args: --release --package ${{ env.LOLBENCH_CRATE }} + args: --release --package ${{ github.job }} - name: upload uses: actions/upload-artifact@v1 with: - name: ${{ env.LOLBENCH_CRATE }} + name: ${{ github.job }} path: ${{ env.LOLBENCH_DATA_DIR }} rebalance: From 6dfb3a0a89a1af5e07a47e77cfcf30d2e9628bcc Mon Sep 17 00:00:00 2001 From: Adam Perry Date: Sun, 13 Dec 2020 10:11:24 -0800 Subject: [PATCH 42/47] shorten ci config by DRYing names --- .github/workflows/main.yml | 171 +++++++++++++------------------------ 1 file changed, 57 insertions(+), 114 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index eeeb71d..7010f1f 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -14,12 +14,10 @@ jobs: - uses: actions/checkout@v2 with: submodules: true - - name: git setup - run: .github/workflows/git-commit-config.sh + - run: .github/workflows/git-commit-config.sh - uses: actions-rs/toolchain@v1 - uses: Swatinem/rust-cache@v1 - - name: test - uses: actions-rs/cargo@v1 + - uses: actions-rs/cargo@v1 with: command: test-core @@ -29,17 +27,14 @@ jobs: - uses: actions/checkout@v2 with: submodules: true - - name: rustup - uses: actions-rs/toolchain@v1 + - uses: actions-rs/toolchain@v1 with: components: clippy, rustfmt - - name: clippy - uses: actions-rs/clippy-check@v1 + - uses: actions-rs/clippy-check@v1 with: token: ${{ secrets.GITHUB_TOKEN }} args: --all-features - - name: rustfmt - run: cargo fmt-core -- --check + - run: cargo fmt-core -- --check brotli_1_1_3: runs-on: ubuntu-latest @@ -47,17 +42,14 @@ jobs: - uses: actions/checkout@v2 with: submodules: true - - name: git setup - run: .github/workflows/git-commit-config.sh + - run: .github/workflows/git-commit-config.sh - uses: actions-rs/toolchain@v1 - uses: Swatinem/rust-cache@v1 - - name: test - uses: actions-rs/cargo@v1 + - uses: actions-rs/cargo@v1 with: command: test args: --release --package ${{ github.job }} - - name: upload - uses: actions/upload-artifact@v1 + - uses: actions/upload-artifact@v1 with: name: ${{ github.job }} path: ${{ env.LOLBENCH_DATA_DIR }} @@ -68,17 +60,14 @@ jobs: - uses: actions/checkout@v2 with: submodules: true - - name: git setup - run: .github/workflows/git-commit-config.sh + - run: .github/workflows/git-commit-config.sh - uses: actions-rs/toolchain@v1 - uses: Swatinem/rust-cache@v1 - - name: test - uses: actions-rs/cargo@v1 + - uses: actions-rs/cargo@v1 with: command: test args: --release --package ${{ github.job }} - - name: upload - uses: actions/upload-artifact@v1 + - uses: actions/upload-artifact@v1 with: name: ${{ github.job }} path: ${{ env.LOLBENCH_DATA_DIR }} @@ -89,17 +78,14 @@ jobs: - uses: actions/checkout@v2 with: submodules: true - - name: git setup - run: .github/workflows/git-commit-config.sh + - run: .github/workflows/git-commit-config.sh - uses: actions-rs/toolchain@v1 - uses: Swatinem/rust-cache@v1 - - name: test - uses: actions-rs/cargo@v1 + - uses: actions-rs/cargo@v1 with: command: test args: --release --package ${{ github.job }} - - name: upload - uses: actions/upload-artifact@v1 + - uses: actions/upload-artifact@v1 with: name: ${{ github.job }} path: ${{ env.LOLBENCH_DATA_DIR }} @@ -110,17 +96,14 @@ jobs: - uses: actions/checkout@v2 with: submodules: true - - name: git setup - run: .github/workflows/git-commit-config.sh + - run: .github/workflows/git-commit-config.sh - uses: actions-rs/toolchain@v1 - uses: Swatinem/rust-cache@v1 - - name: test - uses: actions-rs/cargo@v1 + - uses: actions-rs/cargo@v1 with: command: test args: --release --package ${{ github.job }} - - name: upload - uses: actions/upload-artifact@v1 + - uses: actions/upload-artifact@v1 with: name: ${{ github.job }} path: ${{ env.LOLBENCH_DATA_DIR }} @@ -131,17 +114,14 @@ jobs: - uses: actions/checkout@v2 with: submodules: true - - name: git setup - run: .github/workflows/git-commit-config.sh + - run: .github/workflows/git-commit-config.sh - uses: actions-rs/toolchain@v1 - uses: Swatinem/rust-cache@v1 - - name: test - uses: actions-rs/cargo@v1 + - uses: actions-rs/cargo@v1 with: command: test args: --release --package ${{ github.job }} - - name: upload - uses: actions/upload-artifact@v1 + - uses: actions/upload-artifact@v1 with: name: ${{ github.job }} path: ${{ env.LOLBENCH_DATA_DIR }} @@ -152,17 +132,14 @@ jobs: - uses: actions/checkout@v2 with: submodules: true - - name: git setup - run: .github/workflows/git-commit-config.sh + - run: .github/workflows/git-commit-config.sh - uses: actions-rs/toolchain@v1 - uses: Swatinem/rust-cache@v1 - - name: test - uses: actions-rs/cargo@v1 + - uses: actions-rs/cargo@v1 with: command: test args: --release --package ${{ github.job }} - - name: upload - uses: actions/upload-artifact@v1 + - uses: actions/upload-artifact@v1 with: name: ${{ github.job }} path: ${{ env.LOLBENCH_DATA_DIR }} @@ -173,17 +150,14 @@ jobs: - uses: actions/checkout@v2 with: submodules: true - - name: git setup - run: .github/workflows/git-commit-config.sh + - run: .github/workflows/git-commit-config.sh - uses: actions-rs/toolchain@v1 - uses: Swatinem/rust-cache@v1 - - name: test - uses: actions-rs/cargo@v1 + - uses: actions-rs/cargo@v1 with: command: test args: --release --package ${{ github.job }} - - name: upload - uses: actions/upload-artifact@v1 + - uses: actions/upload-artifact@v1 with: name: ${{ github.job }} path: ${{ env.LOLBENCH_DATA_DIR }} @@ -194,17 +168,14 @@ jobs: - uses: actions/checkout@v2 with: submodules: true - - name: git setup - run: .github/workflows/git-commit-config.sh + - run: .github/workflows/git-commit-config.sh - uses: actions-rs/toolchain@v1 - uses: Swatinem/rust-cache@v1 - - name: test - uses: actions-rs/cargo@v1 + - uses: actions-rs/cargo@v1 with: command: test args: --release --package ${{ github.job }} - - name: upload - uses: actions/upload-artifact@v1 + - uses: actions/upload-artifact@v1 with: name: ${{ github.job }} path: ${{ env.LOLBENCH_DATA_DIR }} @@ -215,17 +186,14 @@ jobs: - uses: actions/checkout@v2 with: submodules: true - - name: git setup - run: .github/workflows/git-commit-config.sh + - run: .github/workflows/git-commit-config.sh - uses: actions-rs/toolchain@v1 - uses: Swatinem/rust-cache@v1 - - name: test - uses: actions-rs/cargo@v1 + - uses: actions-rs/cargo@v1 with: command: test args: --release --package ${{ github.job }} - - name: upload - uses: actions/upload-artifact@v1 + - uses: actions/upload-artifact@v1 with: name: ${{ github.job }} path: ${{ env.LOLBENCH_DATA_DIR }} @@ -236,17 +204,14 @@ jobs: - uses: actions/checkout@v2 with: submodules: true - - name: git setup - run: .github/workflows/git-commit-config.sh + - run: .github/workflows/git-commit-config.sh - uses: actions-rs/toolchain@v1 - uses: Swatinem/rust-cache@v1 - - name: test - uses: actions-rs/cargo@v1 + - uses: actions-rs/cargo@v1 with: command: test args: --release --package ${{ github.job }} - - name: upload - uses: actions/upload-artifact@v1 + - uses: actions/upload-artifact@v1 with: name: ${{ github.job }} path: ${{ env.LOLBENCH_DATA_DIR }} @@ -257,17 +222,14 @@ jobs: - uses: actions/checkout@v2 with: submodules: true - - name: git setup - run: .github/workflows/git-commit-config.sh + - run: .github/workflows/git-commit-config.sh - uses: actions-rs/toolchain@v1 - uses: Swatinem/rust-cache@v1 - - name: test - uses: actions-rs/cargo@v1 + - uses: actions-rs/cargo@v1 with: command: test args: --release --package ${{ github.job }} - - name: upload - uses: actions/upload-artifact@v1 + - uses: actions/upload-artifact@v1 with: name: ${{ github.job }} path: ${{ env.LOLBENCH_DATA_DIR }} @@ -278,17 +240,14 @@ jobs: - uses: actions/checkout@v2 with: submodules: true - - name: git setup - run: .github/workflows/git-commit-config.sh + - run: .github/workflows/git-commit-config.sh - uses: actions-rs/toolchain@v1 - uses: Swatinem/rust-cache@v1 - - name: test - uses: actions-rs/cargo@v1 + - uses: actions-rs/cargo@v1 with: command: test args: --release --package ${{ github.job }} - - name: upload - uses: actions/upload-artifact@v1 + - uses: actions/upload-artifact@v1 with: name: ${{ github.job }} path: ${{ env.LOLBENCH_DATA_DIR }} @@ -299,17 +258,14 @@ jobs: - uses: actions/checkout@v2 with: submodules: true - - name: git setup - run: .github/workflows/git-commit-config.sh + - run: .github/workflows/git-commit-config.sh - uses: actions-rs/toolchain@v1 - uses: Swatinem/rust-cache@v1 - - name: test - uses: actions-rs/cargo@v1 + - uses: actions-rs/cargo@v1 with: command: test args: --release --package ${{ github.job }} - - name: upload - uses: actions/upload-artifact@v1 + - uses: actions/upload-artifact@v1 with: name: ${{ github.job }} path: ${{ env.LOLBENCH_DATA_DIR }} @@ -320,17 +276,14 @@ jobs: - uses: actions/checkout@v2 with: submodules: true - - name: git setup - run: .github/workflows/git-commit-config.sh + - run: .github/workflows/git-commit-config.sh - uses: actions-rs/toolchain@v1 - uses: Swatinem/rust-cache@v1 - - name: test - uses: actions-rs/cargo@v1 + - uses: actions-rs/cargo@v1 with: command: test args: --release --package ${{ github.job }} - - name: upload - uses: actions/upload-artifact@v1 + - uses: actions/upload-artifact@v1 with: name: ${{ github.job }} path: ${{ env.LOLBENCH_DATA_DIR }} @@ -341,17 +294,14 @@ jobs: - uses: actions/checkout@v2 with: submodules: true - - name: git setup - run: .github/workflows/git-commit-config.sh + - run: .github/workflows/git-commit-config.sh - uses: actions-rs/toolchain@v1 - uses: Swatinem/rust-cache@v1 - - name: test - uses: actions-rs/cargo@v1 + - uses: actions-rs/cargo@v1 with: command: test args: --release --package ${{ github.job }} - - name: upload - uses: actions/upload-artifact@v1 + - uses: actions/upload-artifact@v1 with: name: ${{ github.job }} path: ${{ env.LOLBENCH_DATA_DIR }} @@ -362,17 +312,14 @@ jobs: - uses: actions/checkout@v2 with: submodules: true - - name: git setup - run: .github/workflows/git-commit-config.sh + - run: .github/workflows/git-commit-config.sh - uses: actions-rs/toolchain@v1 - uses: Swatinem/rust-cache@v1 - - name: test - uses: actions-rs/cargo@v1 + - uses: actions-rs/cargo@v1 with: command: test args: --release --package ${{ github.job }} - - name: upload - uses: actions/upload-artifact@v1 + - uses: actions/upload-artifact@v1 with: name: ${{ github.job }} path: ${{ env.LOLBENCH_DATA_DIR }} @@ -383,17 +330,14 @@ jobs: - uses: actions/checkout@v2 with: submodules: true - - name: git setup - run: .github/workflows/git-commit-config.sh + - run: .github/workflows/git-commit-config.sh - uses: actions-rs/toolchain@v1 - uses: Swatinem/rust-cache@v1 - - name: test - uses: actions-rs/cargo@v1 + - uses: actions-rs/cargo@v1 with: command: test args: --release --package ${{ github.job }} - - name: upload - uses: actions/upload-artifact@v1 + - uses: actions/upload-artifact@v1 with: name: ${{ github.job }} path: ${{ env.LOLBENCH_DATA_DIR }} @@ -535,8 +479,7 @@ jobs: - uses: actions/checkout@v2 with: submodules: true - - name: git setup - run: .github/workflows/git-commit-config.sh + - run: .github/workflows/git-commit-config.sh - uses: actions-rs/toolchain@v1 - uses: Swatinem/rust-cache@v1 - name: download sample data dir (TODO download production data set) From 85ee76625f09ecb616c232bc15e07ab3bbc2702a Mon Sep 17 00:00:00 2001 From: Adam Perry Date: Sun, 13 Dec 2020 10:44:25 -0800 Subject: [PATCH 43/47] get a data dir out before rebalance fails --- .github/workflows/main.yml | 28 +++++++++++++++++++--------- docs/adding-new-benchmarks.md | 2 +- 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 7010f1f..7195290 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -342,7 +342,7 @@ jobs: name: ${{ github.job }} path: ${{ env.LOLBENCH_DATA_DIR }} - rebalance: + merge_data_dirs: needs: - brotli_1_1_3 - byteorder_1_2_6 @@ -363,9 +363,6 @@ jobs: - snap_0_2_4 runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 - with: - submodules: true - name: download brotli_1_1_3 uses: actions/download-artifact@v1 with: @@ -451,18 +448,31 @@ jobs: with: name: snap_0_2_4 path: ${{ env.LOLBENCH_DATA_DIR }} + - name: upload merged data dir + uses: actions/upload-artifact@v1 + with: + name: final_data_dir + path: ${{ env.LOLBENCH_DATA_DIR }} + + rebalance: + needs: + - merge_data_dirs + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + submodules: true - uses: actions-rs/toolchain@v1 - uses: Swatinem/rust-cache@v1 + - uses: actions/download-artifact@v1 + with: + name: final_data_dir + path: ${{ env.LOLBENCH_DATA_DIR }} - name: rebalance benchmarks uses: actions-rs/cargo@v1 with: command: rebalance-benchmarks args: --sample-dir ${{ env.LOLBENCH_DATA_DIR }} - - name: upload data dir - uses: actions/upload-artifact@v1 - with: - name: final_data_dir - path: ${{ env.LOLBENCH_DATA_DIR }} - name: upload registry.toml uses: actions/upload-artifact@v1 with: diff --git a/docs/adding-new-benchmarks.md b/docs/adding-new-benchmarks.md index c2c4793..909f889 100644 --- a/docs/adding-new-benchmarks.md +++ b/docs/adding-new-benchmarks.md @@ -25,7 +25,7 @@ Add any necessary dependencies to the benchmark crate, making sure to specify ex Add individual benchmarks functions to the new crate. A convenience macro is provided that will wrap an existing cargo benchmark in a criterion bench runner: `wrap_libtest!`, and an example benchmark which uses it is included with the generated benchmark crate. See more below for information on adapting benchmarks from existing frameworks. -Add the benchmark crate to the CI config under `.github/workflows/main.yml`. Make sure the crate is listed as a new job -- follow existing examples. The build job should be named the same as the new crate and thus its `benches/` subdirectory. You should also add the new job as a requirement for the `rebalance` job, add its output to the list of artifacts to download. +Add the benchmark crate to the CI config under `.github/workflows/main.yml`. Make sure the crate is listed as a new job -- follow existing examples. The build job should be named the same as the new crate and thus its `benches/` subdirectory. You should also add the new job as a requirement for the `merge_data_dirs` job, add its output to the list of artifacts to download. ### Adapting cargo/libtest benchmarks From dbb79c4db5fb790a66035fb8c9d8a931af4f0955 Mon Sep 17 00:00:00 2001 From: Adam Perry Date: Sun, 13 Dec 2020 11:41:44 -0800 Subject: [PATCH 44/47] clean up warnings --- src/main.rs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/main.rs b/src/main.rs index b1f7d17..d53ae33 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,6 +1,4 @@ -#[macro_use] extern crate failure; -#[macro_use] extern crate structopt; extern crate chrono; @@ -87,7 +85,7 @@ impl Measure { .. } => ToolchainSpec::Range(start.clone(), Utc::today().naive_utc()), - _ => bail!("unsupported toolchain configuration"), + _ => failure::bail!("unsupported toolchain configuration"), }; let kthread_on = self.move_kernel_threads; From c294bd02c6e58926d0969599dccf4a6ae5bec1e3 Mon Sep 17 00:00:00 2001 From: Adam Perry Date: Sun, 13 Dec 2020 11:46:41 -0800 Subject: [PATCH 45/47] Support rebalancing when a worker is removed. --- src/registry.rs | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/registry.rs b/src/registry.rs index c668c46..1e21bff 100644 --- a/src/registry.rs +++ b/src/registry.rs @@ -55,13 +55,12 @@ pub fn rebalance(sample_data_dir: impl AsRef) -> Result<()> { .collect::>(); for (ns, bench_key) in most_covered_toolchains_runtimes(sample_data_dir)? { - if let Some(assigned) = runners_by_bench_key.get(&bench_key) { + if let Some(weight) = runners_by_bench_key + .get(&bench_key) + .and_then(|assigned| weights.iter_mut().find(|&&mut (_, ref r)| r == assigned)) + { // this has already been assigned, so we just need to track its runtime - weights - .iter_mut() - .find(|&&mut (_, ref r)| r == assigned) - .unwrap() - .0 += ns; + weight.0 += ns; } else { let &mut (ref mut current_score, ref runner) = &mut weights[0]; From be3a06ab14531f6bfea17ec5d847e87521973d6d Mon Sep 17 00:00:00 2001 From: Adam Perry Date: Sun, 13 Dec 2020 11:48:02 -0800 Subject: [PATCH 46/47] Update registry to include two runners. --- registry.toml | 423 ++++++++++++++++++++++++++++---------------------- 1 file changed, 236 insertions(+), 187 deletions(-) diff --git a/registry.toml b/registry.toml index 46925d0..994abdc 100644 --- a/registry.toml +++ b/registry.toml @@ -3,7 +3,7 @@ workers = [ 'wilhelm', ] [benchmarks."brotli_1_1_3::bench_e2e_decode_q5_1024k"] -runner = 'sally' +runner = 'molly' name = 'bench_e2e_decode_q5_1024k' crate = 'brotli_1_1_3' entrypoint_path = 'benches/brotli_1_1_3/src/bin/bench-e2e-decode-q5-1024k.rs' @@ -15,7 +15,7 @@ crate = 'brotli_1_1_3' entrypoint_path = 'benches/brotli_1_1_3/src/bin/bench-e2e-decode-q9-5-1024k.rs' [benchmarks."brotli_1_1_3::bench_e2e_rt_q5_1024k"] -runner = 'sally' +runner = 'wilhelm' name = 'bench_e2e_rt_q5_1024k' crate = 'brotli_1_1_3' entrypoint_path = 'benches/brotli_1_1_3/src/bin/bench-e2e-rt-q5-1024k.rs' @@ -33,7 +33,7 @@ crate = 'brotli_1_1_3' entrypoint_path = 'benches/brotli_1_1_3/src/bin/bench-e2e-rt-q9-5-1024k.rs' [benchmarks."byteorder_1_2_6::f32::read_big_endian"] -runner = 'sally' +runner = 'wilhelm' name = 'f32::read_big_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/f32-read-big-endian.rs' @@ -66,13 +66,13 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/f32-write-native-endian.rs' [benchmarks."byteorder_1_2_6::f64::read_big_endian"] -runner = 'sally' +runner = 'molly' name = 'f64::read_big_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/f64-read-big-endian.rs' [benchmarks."byteorder_1_2_6::f64::read_little_endian"] -runner = 'sally' +runner = 'molly' name = 'f64::read_little_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/f64-read-little-endian.rs' @@ -99,7 +99,7 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/f64-write-native-endian.rs' [benchmarks."byteorder_1_2_6::i128::read_big_endian"] -runner = 'sally' +runner = 'molly' name = 'i128::read_big_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/i128-read-big-endian.rs' @@ -132,7 +132,7 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/i128-write-native-endian.rs' [benchmarks."byteorder_1_2_6::i16::read_big_endian"] -runner = 'sally' +runner = 'molly' name = 'i16::read_big_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/i16-read-big-endian.rs' @@ -165,7 +165,7 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/i16-write-native-endian.rs' [benchmarks."byteorder_1_2_6::i32::read_big_endian"] -runner = 'sally' +runner = 'molly' name = 'i32::read_big_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/i32-read-big-endian.rs' @@ -210,7 +210,7 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/i64-read-little-endian.rs' [benchmarks."byteorder_1_2_6::i64::read_native_endian"] -runner = 'sally' +runner = 'molly' name = 'i64::read_native_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/i64-read-native-endian.rs' @@ -249,13 +249,13 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int128-10-read-native-endian.rs' [benchmarks."byteorder_1_2_6::int128_11::read_big_endian"] -runner = 'sally' +runner = 'wilhelm' name = 'int128_11::read_big_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int128-11-read-big-endian.rs' [benchmarks."byteorder_1_2_6::int128_11::read_little_endian"] -runner = 'sally' +runner = 'wilhelm' name = 'int128_11::read_little_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int128-11-read-little-endian.rs' @@ -279,13 +279,13 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int128-12-read-little-endian.rs' [benchmarks."byteorder_1_2_6::int128_12::read_native_endian"] -runner = 'sally' +runner = 'molly' name = 'int128_12::read_native_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int128-12-read-native-endian.rs' [benchmarks."byteorder_1_2_6::int128_13::read_big_endian"] -runner = 'sally' +runner = 'wilhelm' name = 'int128_13::read_big_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int128-13-read-big-endian.rs' @@ -309,7 +309,7 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int128-14-read-big-endian.rs' [benchmarks."byteorder_1_2_6::int128_14::read_little_endian"] -runner = 'sally' +runner = 'wilhelm' name = 'int128_14::read_little_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int128-14-read-little-endian.rs' @@ -327,7 +327,7 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int128-15-read-big-endian.rs' [benchmarks."byteorder_1_2_6::int128_15::read_little_endian"] -runner = 'sally' +runner = 'molly' name = 'int128_15::read_little_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int128-15-read-little-endian.rs' @@ -339,7 +339,7 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int128-15-read-native-endian.rs' [benchmarks."byteorder_1_2_6::int128_16::read_big_endian"] -runner = 'sally' +runner = 'molly' name = 'int128_16::read_big_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int128-16-read-big-endian.rs' @@ -351,7 +351,7 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int128-16-read-little-endian.rs' [benchmarks."byteorder_1_2_6::int128_16::read_native_endian"] -runner = 'sally' +runner = 'molly' name = 'int128_16::read_native_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int128-16-read-native-endian.rs' @@ -369,7 +369,7 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int128-1-read-little-endian.rs' [benchmarks."byteorder_1_2_6::int128_1::read_native_endian"] -runner = 'sally' +runner = 'wilhelm' name = 'int128_1::read_native_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int128-1-read-native-endian.rs' @@ -387,13 +387,13 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int128-2-read-little-endian.rs' [benchmarks."byteorder_1_2_6::int128_2::read_native_endian"] -runner = 'sally' +runner = 'wilhelm' name = 'int128_2::read_native_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int128-2-read-native-endian.rs' [benchmarks."byteorder_1_2_6::int128_3::read_big_endian"] -runner = 'sally' +runner = 'wilhelm' name = 'int128_3::read_big_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int128-3-read-big-endian.rs' @@ -411,13 +411,13 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int128-3-read-native-endian.rs' [benchmarks."byteorder_1_2_6::int128_4::read_big_endian"] -runner = 'sally' +runner = 'molly' name = 'int128_4::read_big_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int128-4-read-big-endian.rs' [benchmarks."byteorder_1_2_6::int128_4::read_little_endian"] -runner = 'sally' +runner = 'wilhelm' name = 'int128_4::read_little_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int128-4-read-little-endian.rs' @@ -459,7 +459,7 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int128-6-read-little-endian.rs' [benchmarks."byteorder_1_2_6::int128_6::read_native_endian"] -runner = 'sally' +runner = 'molly' name = 'int128_6::read_native_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int128-6-read-native-endian.rs' @@ -471,13 +471,13 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int128-7-read-big-endian.rs' [benchmarks."byteorder_1_2_6::int128_7::read_little_endian"] -runner = 'sally' +runner = 'molly' name = 'int128_7::read_little_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int128-7-read-little-endian.rs' [benchmarks."byteorder_1_2_6::int128_7::read_native_endian"] -runner = 'sally' +runner = 'wilhelm' name = 'int128_7::read_native_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int128-7-read-native-endian.rs' @@ -501,7 +501,7 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int128-8-read-native-endian.rs' [benchmarks."byteorder_1_2_6::int128_9::read_big_endian"] -runner = 'sally' +runner = 'molly' name = 'int128_9::read_big_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int128-9-read-big-endian.rs' @@ -513,7 +513,7 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int128-9-read-little-endian.rs' [benchmarks."byteorder_1_2_6::int128_9::read_native_endian"] -runner = 'sally' +runner = 'molly' name = 'int128_9::read_native_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int128-9-read-native-endian.rs' @@ -531,7 +531,7 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int-1-read-little-endian.rs' [benchmarks."byteorder_1_2_6::int_1::read_native_endian"] -runner = 'sally' +runner = 'wilhelm' name = 'int_1::read_native_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int-1-read-native-endian.rs' @@ -549,7 +549,7 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int-2-read-little-endian.rs' [benchmarks."byteorder_1_2_6::int_2::read_native_endian"] -runner = 'sally' +runner = 'wilhelm' name = 'int_2::read_native_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int-2-read-native-endian.rs' @@ -561,13 +561,13 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int-3-read-big-endian.rs' [benchmarks."byteorder_1_2_6::int_3::read_little_endian"] -runner = 'sally' +runner = 'wilhelm' name = 'int_3::read_little_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int-3-read-little-endian.rs' [benchmarks."byteorder_1_2_6::int_3::read_native_endian"] -runner = 'sally' +runner = 'wilhelm' name = 'int_3::read_native_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int-3-read-native-endian.rs' @@ -591,7 +591,7 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int-4-read-native-endian.rs' [benchmarks."byteorder_1_2_6::int_5::read_big_endian"] -runner = 'sally' +runner = 'wilhelm' name = 'int_5::read_big_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int-5-read-big-endian.rs' @@ -603,7 +603,7 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int-5-read-little-endian.rs' [benchmarks."byteorder_1_2_6::int_5::read_native_endian"] -runner = 'sally' +runner = 'wilhelm' name = 'int_5::read_native_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int-5-read-native-endian.rs' @@ -615,7 +615,7 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int-6-read-big-endian.rs' [benchmarks."byteorder_1_2_6::int_6::read_little_endian"] -runner = 'sally' +runner = 'molly' name = 'int_6::read_little_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int-6-read-little-endian.rs' @@ -645,7 +645,7 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int-7-read-native-endian.rs' [benchmarks."byteorder_1_2_6::int_8::read_big_endian"] -runner = 'sally' +runner = 'wilhelm' name = 'int_8::read_big_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int-8-read-big-endian.rs' @@ -657,7 +657,7 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int-8-read-little-endian.rs' [benchmarks."byteorder_1_2_6::int_8::read_native_endian"] -runner = 'sally' +runner = 'molly' name = 'int_8::read_native_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/int-8-read-native-endian.rs' @@ -693,7 +693,7 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/u128-read-big-endian.rs' [benchmarks."byteorder_1_2_6::u128::read_little_endian"] -runner = 'sally' +runner = 'wilhelm' name = 'u128::read_little_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/u128-read-little-endian.rs' @@ -732,7 +732,7 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/u16-read-little-endian.rs' [benchmarks."byteorder_1_2_6::u16::read_native_endian"] -runner = 'sally' +runner = 'wilhelm' name = 'u16::read_native_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/u16-read-native-endian.rs' @@ -759,7 +759,7 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/u32-read-big-endian.rs' [benchmarks."byteorder_1_2_6::u32::read_little_endian"] -runner = 'sally' +runner = 'wilhelm' name = 'u32::read_little_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/u32-read-little-endian.rs' @@ -798,7 +798,7 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/u64-read-little-endian.rs' [benchmarks."byteorder_1_2_6::u64::read_native_endian"] -runner = 'sally' +runner = 'molly' name = 'u64::read_native_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/u64-read-native-endian.rs' @@ -855,7 +855,7 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/uint128-11-read-native-endian.rs' [benchmarks."byteorder_1_2_6::uint128_12::read_big_endian"] -runner = 'sally' +runner = 'molly' name = 'uint128_12::read_big_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/uint128-12-read-big-endian.rs' @@ -867,19 +867,19 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/uint128-12-read-little-endian.rs' [benchmarks."byteorder_1_2_6::uint128_12::read_native_endian"] -runner = 'sally' +runner = 'molly' name = 'uint128_12::read_native_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/uint128-12-read-native-endian.rs' [benchmarks."byteorder_1_2_6::uint128_13::read_big_endian"] -runner = 'sally' +runner = 'molly' name = 'uint128_13::read_big_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/uint128-13-read-big-endian.rs' [benchmarks."byteorder_1_2_6::uint128_13::read_little_endian"] -runner = 'sally' +runner = 'molly' name = 'uint128_13::read_little_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/uint128-13-read-little-endian.rs' @@ -921,19 +921,19 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/uint128-15-read-little-endian.rs' [benchmarks."byteorder_1_2_6::uint128_15::read_native_endian"] -runner = 'sally' +runner = 'molly' name = 'uint128_15::read_native_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/uint128-15-read-native-endian.rs' [benchmarks."byteorder_1_2_6::uint128_16::read_big_endian"] -runner = 'sally' +runner = 'wilhelm' name = 'uint128_16::read_big_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/uint128-16-read-big-endian.rs' [benchmarks."byteorder_1_2_6::uint128_16::read_little_endian"] -runner = 'sally' +runner = 'wilhelm' name = 'uint128_16::read_little_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/uint128-16-read-little-endian.rs' @@ -981,13 +981,13 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/uint128-2-read-native-endian.rs' [benchmarks."byteorder_1_2_6::uint128_3::read_big_endian"] -runner = 'sally' +runner = 'wilhelm' name = 'uint128_3::read_big_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/uint128-3-read-big-endian.rs' [benchmarks."byteorder_1_2_6::uint128_3::read_little_endian"] -runner = 'sally' +runner = 'molly' name = 'uint128_3::read_little_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/uint128-3-read-little-endian.rs' @@ -1011,7 +1011,7 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/uint128-4-read-little-endian.rs' [benchmarks."byteorder_1_2_6::uint128_4::read_native_endian"] -runner = 'sally' +runner = 'molly' name = 'uint128_4::read_native_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/uint128-4-read-native-endian.rs' @@ -1023,7 +1023,7 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/uint128-5-read-big-endian.rs' [benchmarks."byteorder_1_2_6::uint128_5::read_little_endian"] -runner = 'sally' +runner = 'wilhelm' name = 'uint128_5::read_little_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/uint128-5-read-little-endian.rs' @@ -1077,7 +1077,7 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/uint128-8-read-big-endian.rs' [benchmarks."byteorder_1_2_6::uint128_8::read_little_endian"] -runner = 'sally' +runner = 'wilhelm' name = 'uint128_8::read_little_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/uint128-8-read-little-endian.rs' @@ -1089,7 +1089,7 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/uint128-8-read-native-endian.rs' [benchmarks."byteorder_1_2_6::uint128_9::read_big_endian"] -runner = 'sally' +runner = 'wilhelm' name = 'uint128_9::read_big_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/uint128-9-read-big-endian.rs' @@ -1119,7 +1119,7 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/uint-1-read-little-endian.rs' [benchmarks."byteorder_1_2_6::uint_1::read_native_endian"] -runner = 'sally' +runner = 'molly' name = 'uint_1::read_native_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/uint-1-read-native-endian.rs' @@ -1167,7 +1167,7 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/uint-4-read-big-endian.rs' [benchmarks."byteorder_1_2_6::uint_4::read_little_endian"] -runner = 'sally' +runner = 'wilhelm' name = 'uint_4::read_little_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/uint-4-read-little-endian.rs' @@ -1197,13 +1197,13 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/uint-5-read-native-endian.rs' [benchmarks."byteorder_1_2_6::uint_6::read_big_endian"] -runner = 'sally' +runner = 'wilhelm' name = 'uint_6::read_big_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/uint-6-read-big-endian.rs' [benchmarks."byteorder_1_2_6::uint_6::read_little_endian"] -runner = 'sally' +runner = 'wilhelm' name = 'uint_6::read_little_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/uint-6-read-little-endian.rs' @@ -1215,7 +1215,7 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/uint-6-read-native-endian.rs' [benchmarks."byteorder_1_2_6::uint_7::read_big_endian"] -runner = 'sally' +runner = 'molly' name = 'uint_7::read_big_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/uint-7-read-big-endian.rs' @@ -1227,7 +1227,7 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/uint-7-read-little-endian.rs' [benchmarks."byteorder_1_2_6::uint_7::read_native_endian"] -runner = 'sally' +runner = 'molly' name = 'uint_7::read_native_endian' crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/uint-7-read-native-endian.rs' @@ -1261,252 +1261,301 @@ crate = 'byteorder_1_2_6' entrypoint_path = 'benches/byteorder_1_2_6/src/bin/write-native-endian.rs' [benchmarks."clap_2_31_2::_01_default::build_app"] +runner = 'molly' name = '_01_default::build_app' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/01-default-build-app.rs' [benchmarks."clap_2_31_2::_01_default::parse_clean"] +runner = 'molly' name = '_01_default::parse_clean' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/01-default-parse-clean.rs' [benchmarks."clap_2_31_2::_02_simple::add_flag"] +runner = 'molly' name = '_02_simple::add_flag' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/02-simple-add-flag.rs' [benchmarks."clap_2_31_2::_02_simple::add_flag_ref"] +runner = 'molly' name = '_02_simple::add_flag_ref' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/02-simple-add-flag-ref.rs' [benchmarks."clap_2_31_2::_02_simple::add_opt"] +runner = 'molly' name = '_02_simple::add_opt' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/02-simple-add-opt.rs' [benchmarks."clap_2_31_2::_02_simple::add_opt_ref"] +runner = 'molly' name = '_02_simple::add_opt_ref' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/02-simple-add-opt-ref.rs' [benchmarks."clap_2_31_2::_02_simple::add_pos"] +runner = 'wilhelm' name = '_02_simple::add_pos' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/02-simple-add-pos.rs' [benchmarks."clap_2_31_2::_02_simple::add_pos_ref"] +runner = 'molly' name = '_02_simple::add_pos_ref' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/02-simple-add-pos-ref.rs' [benchmarks."clap_2_31_2::_02_simple::build_app"] +runner = 'molly' name = '_02_simple::build_app' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/02-simple-build-app.rs' [benchmarks."clap_2_31_2::_02_simple::parse_clean"] +runner = 'molly' name = '_02_simple::parse_clean' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/02-simple-parse-clean.rs' [benchmarks."clap_2_31_2::_02_simple::parse_complex"] +runner = 'wilhelm' name = '_02_simple::parse_complex' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/02-simple-parse-complex.rs' [benchmarks."clap_2_31_2::_02_simple::parse_flag"] +runner = 'wilhelm' name = '_02_simple::parse_flag' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/02-simple-parse-flag.rs' [benchmarks."clap_2_31_2::_02_simple::parse_option"] +runner = 'wilhelm' name = '_02_simple::parse_option' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/02-simple-parse-option.rs' [benchmarks."clap_2_31_2::_02_simple::parse_positional"] +runner = 'molly' name = '_02_simple::parse_positional' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/02-simple-parse-positional.rs' [benchmarks."clap_2_31_2::_03_complex::create_app_builder"] +runner = 'molly' name = '_03_complex::create_app_builder' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/03-complex-create-app-builder.rs' [benchmarks."clap_2_31_2::_03_complex::create_app_from_usage"] +runner = 'molly' name = '_03_complex::create_app_from_usage' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/03-complex-create-app-from-usage.rs' [benchmarks."clap_2_31_2::_03_complex::create_app_macros"] +runner = 'wilhelm' name = '_03_complex::create_app_macros' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/03-complex-create-app-macros.rs' [benchmarks."clap_2_31_2::_03_complex::parse_clean"] +runner = 'wilhelm' name = '_03_complex::parse_clean' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/03-complex-parse-clean.rs' [benchmarks."clap_2_31_2::_03_complex::parse_complex1"] +runner = 'molly' name = '_03_complex::parse_complex1' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/03-complex-parse-complex1.rs' [benchmarks."clap_2_31_2::_03_complex::parse_complex2"] +runner = 'wilhelm' name = '_03_complex::parse_complex2' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/03-complex-parse-complex2.rs' [benchmarks."clap_2_31_2::_03_complex::parse_complex2_with_args_negate_scs"] +runner = 'molly' name = '_03_complex::parse_complex2_with_args_negate_scs' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/03-complex-parse-complex2-with-args-negate-scs.rs' [benchmarks."clap_2_31_2::_03_complex::parse_flag"] +runner = 'molly' name = '_03_complex::parse_flag' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/03-complex-parse-flag.rs' [benchmarks."clap_2_31_2::_03_complex::parse_option"] +runner = 'wilhelm' name = '_03_complex::parse_option' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/03-complex-parse-option.rs' [benchmarks."clap_2_31_2::_03_complex::parse_positional"] +runner = 'wilhelm' name = '_03_complex::parse_positional' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/03-complex-parse-positional.rs' [benchmarks."clap_2_31_2::_03_complex::parse_sc_clean"] +runner = 'wilhelm' name = '_03_complex::parse_sc_clean' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/03-complex-parse-sc-clean.rs' [benchmarks."clap_2_31_2::_03_complex::parse_sc_complex"] +runner = 'molly' name = '_03_complex::parse_sc_complex' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/03-complex-parse-sc-complex.rs' [benchmarks."clap_2_31_2::_03_complex::parse_sc_flag"] +runner = 'wilhelm' name = '_03_complex::parse_sc_flag' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/03-complex-parse-sc-flag.rs' [benchmarks."clap_2_31_2::_03_complex::parse_sc_option"] +runner = 'wilhelm' name = '_03_complex::parse_sc_option' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/03-complex-parse-sc-option.rs' [benchmarks."clap_2_31_2::_03_complex::parse_sc_positional"] +runner = 'molly' name = '_03_complex::parse_sc_positional' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/03-complex-parse-sc-positional.rs' [benchmarks."clap_2_31_2::_04_new_help::example1"] +runner = 'molly' name = '_04_new_help::example1' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/04-new-help-example1.rs' [benchmarks."clap_2_31_2::_04_new_help::example10"] +runner = 'molly' name = '_04_new_help::example10' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/04-new-help-example10.rs' [benchmarks."clap_2_31_2::_04_new_help::example2"] +runner = 'molly' name = '_04_new_help::example2' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/04-new-help-example2.rs' [benchmarks."clap_2_31_2::_04_new_help::example3"] +runner = 'molly' name = '_04_new_help::example3' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/04-new-help-example3.rs' [benchmarks."clap_2_31_2::_04_new_help::example4"] +runner = 'wilhelm' name = '_04_new_help::example4' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/04-new-help-example4.rs' [benchmarks."clap_2_31_2::_04_new_help::example4_template"] +runner = 'molly' name = '_04_new_help::example4_template' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/04-new-help-example4-template.rs' [benchmarks."clap_2_31_2::_04_new_help::example5"] +runner = 'molly' name = '_04_new_help::example5' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/04-new-help-example5.rs' [benchmarks."clap_2_31_2::_04_new_help::example6"] +runner = 'molly' name = '_04_new_help::example6' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/04-new-help-example6.rs' [benchmarks."clap_2_31_2::_04_new_help::example7"] +runner = 'molly' name = '_04_new_help::example7' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/04-new-help-example7.rs' [benchmarks."clap_2_31_2::_04_new_help::example8"] +runner = 'wilhelm' name = '_04_new_help::example8' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/04-new-help-example8.rs' [benchmarks."clap_2_31_2::_05_ripgrep::build_app_long"] +runner = 'wilhelm' name = '_05_ripgrep::build_app_long' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/05-ripgrep-build-app-long.rs' [benchmarks."clap_2_31_2::_05_ripgrep::build_app_short"] +runner = 'wilhelm' name = '_05_ripgrep::build_app_short' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/05-ripgrep-build-app-short.rs' [benchmarks."clap_2_31_2::_05_ripgrep::build_help_long"] +runner = 'wilhelm' name = '_05_ripgrep::build_help_long' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/05-ripgrep-build-help-long.rs' [benchmarks."clap_2_31_2::_05_ripgrep::build_help_short"] +runner = 'molly' name = '_05_ripgrep::build_help_short' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/05-ripgrep-build-help-short.rs' [benchmarks."clap_2_31_2::_05_ripgrep::parse_clean"] +runner = 'molly' name = '_05_ripgrep::parse_clean' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/05-ripgrep-parse-clean.rs' [benchmarks."clap_2_31_2::_05_ripgrep::parse_complex"] +runner = 'molly' name = '_05_ripgrep::parse_complex' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/05-ripgrep-parse-complex.rs' [benchmarks."clap_2_31_2::_05_ripgrep::parse_lots"] +runner = 'molly' name = '_05_ripgrep::parse_lots' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/05-ripgrep-parse-lots.rs' [benchmarks."clap_2_31_2::_06_rustup::build_app"] +runner = 'molly' name = '_06_rustup::build_app' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/06-rustup-build-app.rs' [benchmarks."clap_2_31_2::_06_rustup::parse_clean"] +runner = 'molly' name = '_06_rustup::parse_clean' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/06-rustup-parse-clean.rs' [benchmarks."clap_2_31_2::_06_rustup::parse_subcommands"] +runner = 'wilhelm' name = '_06_rustup::parse_subcommands' crate = 'clap_2_31_2' entrypoint_path = 'benches/clap_2_31_2/src/bin/06-rustup-parse-subcommands.rs' [benchmarks."crossbeam_epoch_0_4_0::defer::multi_alloc_defer_free"] -runner = 'sally' +runner = 'wilhelm' name = 'defer::multi_alloc_defer_free' crate = 'crossbeam_epoch_0_4_0' entrypoint_path = 'benches/crossbeam_epoch_0_4_0/src/bin/defer-multi-alloc-defer-free.rs' @@ -1572,7 +1621,7 @@ crate = 'csv_1_0_2' entrypoint_path = 'benches/csv_1_0_2/src/bin/count-game-deserialize-borrowed-str.rs' [benchmarks."csv_1_0_2::count_game_deserialize_owned_bytes"] -runner = 'sally' +runner = 'wilhelm' name = 'count_game_deserialize_owned_bytes' crate = 'csv_1_0_2' entrypoint_path = 'benches/csv_1_0_2/src/bin/count-game-deserialize-owned-bytes.rs' @@ -1662,13 +1711,13 @@ crate = 'csv_1_0_2' entrypoint_path = 'benches/csv_1_0_2/src/bin/count-mbta-read-bytes.rs' [benchmarks."csv_1_0_2::count_mbta_read_str"] -runner = 'sally' +runner = 'wilhelm' name = 'count_mbta_read_str' crate = 'csv_1_0_2' entrypoint_path = 'benches/csv_1_0_2/src/bin/count-mbta-read-str.rs' [benchmarks."csv_1_0_2::count_mbta_serialize_owned_bytes"] -runner = 'sally' +runner = 'molly' name = 'count_mbta_serialize_owned_bytes' crate = 'csv_1_0_2' entrypoint_path = 'benches/csv_1_0_2/src/bin/count-mbta-serialize-owned-bytes.rs' @@ -1692,7 +1741,7 @@ crate = 'csv_1_0_2' entrypoint_path = 'benches/csv_1_0_2/src/bin/count-nfl-deserialize-borrowed-str.rs' [benchmarks."csv_1_0_2::count_nfl_deserialize_owned_bytes"] -runner = 'sally' +runner = 'wilhelm' name = 'count_nfl_deserialize_owned_bytes' crate = 'csv_1_0_2' entrypoint_path = 'benches/csv_1_0_2/src/bin/count-nfl-deserialize-owned-bytes.rs' @@ -1704,7 +1753,7 @@ crate = 'csv_1_0_2' entrypoint_path = 'benches/csv_1_0_2/src/bin/count-nfl-deserialize-owned-str.rs' [benchmarks."csv_1_0_2::count_nfl_iter_bytes"] -runner = 'sally' +runner = 'wilhelm' name = 'count_nfl_iter_bytes' crate = 'csv_1_0_2' entrypoint_path = 'benches/csv_1_0_2/src/bin/count-nfl-iter-bytes.rs' @@ -1722,19 +1771,19 @@ crate = 'csv_1_0_2' entrypoint_path = 'benches/csv_1_0_2/src/bin/count-nfl-iter-str.rs' [benchmarks."csv_1_0_2::count_nfl_iter_str_trimmed"] -runner = 'sally' +runner = 'molly' name = 'count_nfl_iter_str_trimmed' crate = 'csv_1_0_2' entrypoint_path = 'benches/csv_1_0_2/src/bin/count-nfl-iter-str-trimmed.rs' [benchmarks."csv_1_0_2::count_nfl_read_bytes"] -runner = 'sally' +runner = 'molly' name = 'count_nfl_read_bytes' crate = 'csv_1_0_2' entrypoint_path = 'benches/csv_1_0_2/src/bin/count-nfl-read-bytes.rs' [benchmarks."csv_1_0_2::count_nfl_read_str"] -runner = 'sally' +runner = 'wilhelm' name = 'count_nfl_read_str' crate = 'csv_1_0_2' entrypoint_path = 'benches/csv_1_0_2/src/bin/count-nfl-read-str.rs' @@ -1746,13 +1795,13 @@ crate = 'csv_1_0_2' entrypoint_path = 'benches/csv_1_0_2/src/bin/count-nfl-serialize-owned-bytes.rs' [benchmarks."csv_1_0_2::count_nfl_serialize_owned_str"] -runner = 'sally' +runner = 'molly' name = 'count_nfl_serialize_owned_str' crate = 'csv_1_0_2' entrypoint_path = 'benches/csv_1_0_2/src/bin/count-nfl-serialize-owned-str.rs' [benchmarks."csv_1_0_2::count_pop_deserialize_borrowed_bytes"] -runner = 'sally' +runner = 'molly' name = 'count_pop_deserialize_borrowed_bytes' crate = 'csv_1_0_2' entrypoint_path = 'benches/csv_1_0_2/src/bin/count-pop-deserialize-borrowed-bytes.rs' @@ -1824,13 +1873,13 @@ crate = 'csv_1_0_2' entrypoint_path = 'benches/csv_1_0_2/src/bin/write-nfl-record.rs' [benchmarks."diesel_1_1_1::bench_medium_complex_query_selecting_10_000_rows"] -runner = 'sally' +runner = 'molly' name = 'bench_medium_complex_query_selecting_10_000_rows' crate = 'diesel_1_1_1' entrypoint_path = 'benches/diesel_1_1_1/src/bin/bench-medium-complex-query-selecting-10-000-rows.rs' [benchmarks."diesel_1_1_1::bench_medium_complex_query_selecting_10_000_rows_boxed"] -runner = 'sally' +runner = 'molly' name = 'bench_medium_complex_query_selecting_10_000_rows_boxed' crate = 'diesel_1_1_1' entrypoint_path = 'benches/diesel_1_1_1/src/bin/bench-medium-complex-query-selecting-10-000-rows-boxed.rs' @@ -1854,7 +1903,7 @@ crate = 'diesel_1_1_1' entrypoint_path = 'benches/diesel_1_1_1/src/bin/bench-medium-complex-query-selecting-100-rows.rs' [benchmarks."diesel_1_1_1::bench_medium_complex_query_selecting____100_rows_boxed"] -runner = 'sally' +runner = 'molly' name = 'bench_medium_complex_query_selecting____100_rows_boxed' crate = 'diesel_1_1_1' entrypoint_path = 'benches/diesel_1_1_1/src/bin/bench-medium-complex-query-selecting-100-rows-boxed.rs' @@ -1872,7 +1921,7 @@ crate = 'diesel_1_1_1' entrypoint_path = 'benches/diesel_1_1_1/src/bin/bench-medium-complex-query-selecting-10-rows-boxed.rs' [benchmarks."diesel_1_1_1::bench_medium_complex_query_selecting______1_row"] -runner = 'sally' +runner = 'wilhelm' name = 'bench_medium_complex_query_selecting______1_row' crate = 'diesel_1_1_1' entrypoint_path = 'benches/diesel_1_1_1/src/bin/bench-medium-complex-query-selecting-1-row.rs' @@ -1908,7 +1957,7 @@ crate = 'diesel_1_1_1' entrypoint_path = 'benches/diesel_1_1_1/src/bin/bench-trivial-query-selecting-1-000-rows-boxed.rs' [benchmarks."diesel_1_1_1::bench_trivial_query_selecting____100_rows"] -runner = 'sally' +runner = 'wilhelm' name = 'bench_trivial_query_selecting____100_rows' crate = 'diesel_1_1_1' entrypoint_path = 'benches/diesel_1_1_1/src/bin/bench-trivial-query-selecting-100-rows.rs' @@ -1920,7 +1969,7 @@ crate = 'diesel_1_1_1' entrypoint_path = 'benches/diesel_1_1_1/src/bin/bench-trivial-query-selecting-100-rows-boxed.rs' [benchmarks."diesel_1_1_1::bench_trivial_query_selecting_____10_rows"] -runner = 'sally' +runner = 'wilhelm' name = 'bench_trivial_query_selecting_____10_rows' crate = 'diesel_1_1_1' entrypoint_path = 'benches/diesel_1_1_1/src/bin/bench-trivial-query-selecting-10-rows.rs' @@ -1968,7 +2017,7 @@ crate = 'json_benchmark_c7d3d9b' entrypoint_path = 'benches/json_benchmark_c7d3d9b/src/bin/serde-canada-dom.rs' [benchmarks."json_benchmark_c7d3d9b::serde_canada_struct"] -runner = 'sally' +runner = 'molly' name = 'serde_canada_struct' crate = 'json_benchmark_c7d3d9b' entrypoint_path = 'benches/json_benchmark_c7d3d9b/src/bin/serde-canada-struct.rs' @@ -1980,7 +2029,7 @@ crate = 'json_benchmark_c7d3d9b' entrypoint_path = 'benches/json_benchmark_c7d3d9b/src/bin/serde-citm-dom.rs' [benchmarks."json_benchmark_c7d3d9b::serde_citm_struct"] -runner = 'sally' +runner = 'wilhelm' name = 'serde_citm_struct' crate = 'json_benchmark_c7d3d9b' entrypoint_path = 'benches/json_benchmark_c7d3d9b/src/bin/serde-citm-struct.rs' @@ -1998,7 +2047,7 @@ crate = 'json_benchmark_c7d3d9b' entrypoint_path = 'benches/json_benchmark_c7d3d9b/src/bin/serde-twitter-struct.rs' [benchmarks."json_benchmark_c7d3d9b::serialize_canada_dom"] -runner = 'sally' +runner = 'wilhelm' name = 'serialize_canada_dom' crate = 'json_benchmark_c7d3d9b' entrypoint_path = 'benches/json_benchmark_c7d3d9b/src/bin/serialize-canada-dom.rs' @@ -2010,7 +2059,7 @@ crate = 'json_benchmark_c7d3d9b' entrypoint_path = 'benches/json_benchmark_c7d3d9b/src/bin/serialize-canada-struct.rs' [benchmarks."json_benchmark_c7d3d9b::serialize_citm_dom"] -runner = 'sally' +runner = 'wilhelm' name = 'serialize_citm_dom' crate = 'json_benchmark_c7d3d9b' entrypoint_path = 'benches/json_benchmark_c7d3d9b/src/bin/serialize-citm-dom.rs' @@ -2046,7 +2095,7 @@ crate = 'nom_4_0_0' entrypoint_path = 'benches/nom_4_0_0/src/bin/http-one-test.rs' [benchmarks."nom_4_0_0::ini::bench_ini_key_value"] -runner = 'sally' +runner = 'molly' name = 'ini::bench_ini_key_value' crate = 'nom_4_0_0' entrypoint_path = 'benches/nom_4_0_0/src/bin/ini-bench-ini-key-value.rs' @@ -2058,13 +2107,13 @@ crate = 'nom_4_0_0' entrypoint_path = 'benches/nom_4_0_0/src/bin/ini-bench-ini-keys-and-values.rs' [benchmarks."nom_4_0_0::ini_str::bench_ini_str"] -runner = 'sally' +runner = 'wilhelm' name = 'ini_str::bench_ini_str' crate = 'nom_4_0_0' entrypoint_path = 'benches/nom_4_0_0/src/bin/ini-str-bench-ini-str.rs' [benchmarks."quickcheck_0_6_1::shrink_f64_1_tuple"] -runner = 'sally' +runner = 'molly' name = 'shrink_f64_1_tuple' crate = 'quickcheck_0_6_1' entrypoint_path = 'benches/quickcheck_0_6_1/src/bin/shrink-f64-1-tuple.rs' @@ -2076,13 +2125,13 @@ crate = 'quickcheck_0_6_1' entrypoint_path = 'benches/quickcheck_0_6_1/src/bin/shrink-f64-2-tuple.rs' [benchmarks."quickcheck_0_6_1::shrink_f64_3_tuple"] -runner = 'sally' +runner = 'molly' name = 'shrink_f64_3_tuple' crate = 'quickcheck_0_6_1' entrypoint_path = 'benches/quickcheck_0_6_1/src/bin/shrink-f64-3-tuple.rs' [benchmarks."quickcheck_0_6_1::shrink_f64_4_tuple"] -runner = 'sally' +runner = 'molly' name = 'shrink_f64_4_tuple' crate = 'quickcheck_0_6_1' entrypoint_path = 'benches/quickcheck_0_6_1/src/bin/shrink-f64-4-tuple.rs' @@ -2106,19 +2155,19 @@ crate = 'quickcheck_0_6_1' entrypoint_path = 'benches/quickcheck_0_6_1/src/bin/shrink-f64-7-tuple.rs' [benchmarks."quickcheck_0_6_1::shrink_f64_8_tuple"] -runner = 'sally' +runner = 'wilhelm' name = 'shrink_f64_8_tuple' crate = 'quickcheck_0_6_1' entrypoint_path = 'benches/quickcheck_0_6_1/src/bin/shrink-f64-8-tuple.rs' [benchmarks."quickcheck_0_6_1::shrink_i64_1_tuple"] -runner = 'sally' +runner = 'wilhelm' name = 'shrink_i64_1_tuple' crate = 'quickcheck_0_6_1' entrypoint_path = 'benches/quickcheck_0_6_1/src/bin/shrink-i64-1-tuple.rs' [benchmarks."quickcheck_0_6_1::shrink_i64_2_tuple"] -runner = 'sally' +runner = 'wilhelm' name = 'shrink_i64_2_tuple' crate = 'quickcheck_0_6_1' entrypoint_path = 'benches/quickcheck_0_6_1/src/bin/shrink-i64-2-tuple.rs' @@ -2142,13 +2191,13 @@ crate = 'quickcheck_0_6_1' entrypoint_path = 'benches/quickcheck_0_6_1/src/bin/shrink-i64-5-tuple.rs' [benchmarks."quickcheck_0_6_1::shrink_i64_6_tuple"] -runner = 'sally' +runner = 'molly' name = 'shrink_i64_6_tuple' crate = 'quickcheck_0_6_1' entrypoint_path = 'benches/quickcheck_0_6_1/src/bin/shrink-i64-6-tuple.rs' [benchmarks."quickcheck_0_6_1::shrink_i64_7_tuple"] -runner = 'sally' +runner = 'molly' name = 'shrink_i64_7_tuple' crate = 'quickcheck_0_6_1' entrypoint_path = 'benches/quickcheck_0_6_1/src/bin/shrink-i64-7-tuple.rs' @@ -2160,7 +2209,7 @@ crate = 'quickcheck_0_6_1' entrypoint_path = 'benches/quickcheck_0_6_1/src/bin/shrink-i64-8-tuple.rs' [benchmarks."quickcheck_0_6_1::shrink_string_1_tuple"] -runner = 'sally' +runner = 'molly' name = 'shrink_string_1_tuple' crate = 'quickcheck_0_6_1' entrypoint_path = 'benches/quickcheck_0_6_1/src/bin/shrink-string-1-tuple.rs' @@ -2172,7 +2221,7 @@ crate = 'quickcheck_0_6_1' entrypoint_path = 'benches/quickcheck_0_6_1/src/bin/shrink-string-2-tuple.rs' [benchmarks."quickcheck_0_6_1::shrink_string_3_tuple"] -runner = 'sally' +runner = 'molly' name = 'shrink_string_3_tuple' crate = 'quickcheck_0_6_1' entrypoint_path = 'benches/quickcheck_0_6_1/src/bin/shrink-string-3-tuple.rs' @@ -2244,7 +2293,7 @@ crate = 'quickcheck_0_6_1' entrypoint_path = 'benches/quickcheck_0_6_1/src/bin/shrink-u64-6-tuple.rs' [benchmarks."quickcheck_0_6_1::shrink_u64_7_tuple"] -runner = 'sally' +runner = 'molly' name = 'shrink_u64_7_tuple' crate = 'quickcheck_0_6_1' entrypoint_path = 'benches/quickcheck_0_6_1/src/bin/shrink-u64-7-tuple.rs' @@ -2256,13 +2305,13 @@ crate = 'quickcheck_0_6_1' entrypoint_path = 'benches/quickcheck_0_6_1/src/bin/shrink-u64-8-tuple.rs' [benchmarks."quickcheck_0_6_1::shrink_unit_1_tuple"] -runner = 'sally' +runner = 'molly' name = 'shrink_unit_1_tuple' crate = 'quickcheck_0_6_1' entrypoint_path = 'benches/quickcheck_0_6_1/src/bin/shrink-unit-1-tuple.rs' [benchmarks."quickcheck_0_6_1::shrink_unit_2_tuple"] -runner = 'sally' +runner = 'molly' name = 'shrink_unit_2_tuple' crate = 'quickcheck_0_6_1' entrypoint_path = 'benches/quickcheck_0_6_1/src/bin/shrink-unit-2-tuple.rs' @@ -2280,7 +2329,7 @@ crate = 'quickcheck_0_6_1' entrypoint_path = 'benches/quickcheck_0_6_1/src/bin/shrink-unit-4-tuple.rs' [benchmarks."quickcheck_0_6_1::shrink_unit_5_tuple"] -runner = 'sally' +runner = 'wilhelm' name = 'shrink_unit_5_tuple' crate = 'quickcheck_0_6_1' entrypoint_path = 'benches/quickcheck_0_6_1/src/bin/shrink-unit-5-tuple.rs' @@ -2298,7 +2347,7 @@ crate = 'quickcheck_0_6_1' entrypoint_path = 'benches/quickcheck_0_6_1/src/bin/shrink-unit-7-tuple.rs' [benchmarks."quickcheck_0_6_1::shrink_unit_8_tuple"] -runner = 'sally' +runner = 'molly' name = 'shrink_unit_8_tuple' crate = 'quickcheck_0_6_1' entrypoint_path = 'benches/quickcheck_0_6_1/src/bin/shrink-unit-8-tuple.rs' @@ -2316,7 +2365,7 @@ crate = 'quickcheck_0_6_1' entrypoint_path = 'benches/quickcheck_0_6_1/src/bin/shrink-vec-u8-2-tuple.rs' [benchmarks."quickcheck_0_6_1::shrink_vec_u8_3_tuple"] -runner = 'sally' +runner = 'molly' name = 'shrink_vec_u8_3_tuple' crate = 'quickcheck_0_6_1' entrypoint_path = 'benches/quickcheck_0_6_1/src/bin/shrink-vec-u8-3-tuple.rs' @@ -2364,7 +2413,7 @@ crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/factorial-factorial-join.rs' [benchmarks."rayon_1_0_0::factorial::factorial_par_iter"] -runner = 'sally' +runner = 'wilhelm' name = 'factorial::factorial_par_iter' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/factorial-factorial-par-iter.rs' @@ -2406,7 +2455,7 @@ crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/fibonacci-fibonacci-split-iterative.rs' [benchmarks."rayon_1_0_0::fibonacci::fibonacci_split_recursive"] -runner = 'sally' +runner = 'molly' name = 'fibonacci::fibonacci_split_recursive' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/fibonacci-fibonacci-split-recursive.rs' @@ -2418,7 +2467,7 @@ crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/find-parallel-find-common.rs' [benchmarks."rayon_1_0_0::find::parallel_find_first"] -runner = 'sally' +runner = 'molly' name = 'find::parallel_find_first' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/find-parallel-find-first.rs' @@ -2466,7 +2515,7 @@ crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/find-serial-find-middle.rs' [benchmarks."rayon_1_0_0::find::serial_find_missing"] -runner = 'sally' +runner = 'wilhelm' name = 'find::serial_find_missing' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/find-serial-find-missing.rs' @@ -2478,7 +2527,7 @@ crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/join-microbench-increment-all.rs' [benchmarks."rayon_1_0_0::join_microbench::increment_all_atomized"] -runner = 'sally' +runner = 'molly' name = 'join_microbench::increment_all_atomized' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/join-microbench-increment-all-atomized.rs' @@ -2490,7 +2539,7 @@ crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/join-microbench-increment-all-max.rs' [benchmarks."rayon_1_0_0::join_microbench::increment_all_min"] -runner = 'sally' +runner = 'wilhelm' name = 'join_microbench::increment_all_min' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/join-microbench-increment-all-min.rs' @@ -2502,7 +2551,7 @@ crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/join-microbench-increment-all-serialized.rs' [benchmarks."rayon_1_0_0::join_microbench::join_recursively"] -runner = 'sally' +runner = 'wilhelm' name = 'join_microbench::join_recursively' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/join-microbench-join-recursively.rs' @@ -2514,7 +2563,7 @@ crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/life-bench-generations.rs' [benchmarks."rayon_1_0_0::life::bench::parallel_generations"] -runner = 'sally' +runner = 'molly' name = 'life::bench::parallel_generations' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/life-bench-parallel-generations.rs' @@ -2538,7 +2587,7 @@ crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/map-collect-i-mod-10-to-i-with-fold-vec.rs' [benchmarks."rayon_1_0_0::map_collect::i_mod_10_to_i::with_linked_list_collect"] -runner = 'sally' +runner = 'wilhelm' name = 'map_collect::i_mod_10_to_i::with_linked_list_collect' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/map-collect-i-mod-10-to-i-with-linked-list-collect.rs' @@ -2586,7 +2635,7 @@ crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/map-collect-i-to-i-with-collect.rs' [benchmarks."rayon_1_0_0::map_collect::i_to_i::with_fold"] -runner = 'sally' +runner = 'molly' name = 'map_collect::i_to_i::with_fold' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/map-collect-i-to-i-with-fold.rs' @@ -2598,7 +2647,7 @@ crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/map-collect-i-to-i-with-fold-vec.rs' [benchmarks."rayon_1_0_0::map_collect::i_to_i::with_linked_list_collect"] -runner = 'sally' +runner = 'wilhelm' name = 'map_collect::i_to_i::with_linked_list_collect' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/map-collect-i-to-i-with-linked-list-collect.rs' @@ -2610,7 +2659,7 @@ crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/map-collect-i-to-i-with-linked-list-collect-vec.rs' [benchmarks."rayon_1_0_0::map_collect::i_to_i::with_linked_list_collect_vec_sized"] -runner = 'sally' +runner = 'molly' name = 'map_collect::i_to_i::with_linked_list_collect_vec_sized' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/map-collect-i-to-i-with-linked-list-collect-vec-sized.rs' @@ -2622,7 +2671,7 @@ crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/map-collect-i-to-i-with-linked-list-map-reduce-vec-sized.rs' [benchmarks."rayon_1_0_0::map_collect::i_to_i::with_mutex"] -runner = 'sally' +runner = 'molly' name = 'map_collect::i_to_i::with_mutex' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/map-collect-i-to-i-with-mutex.rs' @@ -2634,7 +2683,7 @@ crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/map-collect-i-to-i-with-mutex-vec.rs' [benchmarks."rayon_1_0_0::map_collect::i_to_i::with_vec_vec_sized"] -runner = 'sally' +runner = 'molly' name = 'map_collect::i_to_i::with_vec_vec_sized' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/map-collect-i-to-i-with-vec-vec-sized.rs' @@ -2646,7 +2695,7 @@ crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/matmul-bench-bench-matmul-strassen.rs' [benchmarks."rayon_1_0_0::mergesort::bench::merge_sort_par_bench"] -runner = 'sally' +runner = 'molly' name = 'mergesort::bench::merge_sort_par_bench' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/mergesort-bench-merge-sort-par-bench.rs' @@ -2682,13 +2731,13 @@ crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/pythagoras-euclid-faux-serial.rs' [benchmarks."rayon_1_0_0::pythagoras::euclid_parallel_full"] -runner = 'sally' +runner = 'molly' name = 'pythagoras::euclid_parallel_full' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/pythagoras-euclid-parallel-full.rs' [benchmarks."rayon_1_0_0::pythagoras::euclid_parallel_one"] -runner = 'sally' +runner = 'wilhelm' name = 'pythagoras::euclid_parallel_one' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/pythagoras-euclid-parallel-one.rs' @@ -2706,7 +2755,7 @@ crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/pythagoras-euclid-parallel-weightless.rs' [benchmarks."rayon_1_0_0::pythagoras::euclid_serial"] -runner = 'sally' +runner = 'wilhelm' name = 'pythagoras::euclid_serial' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/pythagoras-euclid-serial.rs' @@ -2760,13 +2809,13 @@ crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/sort-demo-merge-sort-big.rs' [benchmarks."rayon_1_0_0::sort::demo_merge_sort_descending"] -runner = 'sally' +runner = 'molly' name = 'sort::demo_merge_sort_descending' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/sort-demo-merge-sort-descending.rs' [benchmarks."rayon_1_0_0::sort::demo_merge_sort_mostly_ascending"] -runner = 'sally' +runner = 'molly' name = 'sort::demo_merge_sort_mostly_ascending' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/sort-demo-merge-sort-mostly-ascending.rs' @@ -2784,7 +2833,7 @@ crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/sort-demo-merge-sort-random.rs' [benchmarks."rayon_1_0_0::sort::demo_merge_sort_strings"] -runner = 'sally' +runner = 'molly' name = 'sort::demo_merge_sort_strings' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/sort-demo-merge-sort-strings.rs' @@ -2808,7 +2857,7 @@ crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/sort-demo-quick-sort-mostly-descending.rs' [benchmarks."rayon_1_0_0::sort::demo_quick_sort_random"] -runner = 'sally' +runner = 'wilhelm' name = 'sort::demo_quick_sort_random' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/sort-demo-quick-sort-random.rs' @@ -2826,13 +2875,13 @@ crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/sort-par-sort-ascending.rs' [benchmarks."rayon_1_0_0::sort::par_sort_big"] -runner = 'sally' +runner = 'molly' name = 'sort::par_sort_big' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/sort-par-sort-big.rs' [benchmarks."rayon_1_0_0::sort::par_sort_descending"] -runner = 'sally' +runner = 'molly' name = 'sort::par_sort_descending' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/sort-par-sort-descending.rs' @@ -2892,19 +2941,19 @@ crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/sort-par-sort-unstable-expensive.rs' [benchmarks."rayon_1_0_0::sort::par_sort_unstable_mostly_ascending"] -runner = 'sally' +runner = 'wilhelm' name = 'sort::par_sort_unstable_mostly_ascending' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/sort-par-sort-unstable-mostly-ascending.rs' [benchmarks."rayon_1_0_0::sort::par_sort_unstable_mostly_descending"] -runner = 'sally' +runner = 'wilhelm' name = 'sort::par_sort_unstable_mostly_descending' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/sort-par-sort-unstable-mostly-descending.rs' [benchmarks."rayon_1_0_0::sort::par_sort_unstable_random"] -runner = 'sally' +runner = 'wilhelm' name = 'sort::par_sort_unstable_random' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/sort-par-sort-unstable-random.rs' @@ -2940,13 +2989,13 @@ crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/str-split-serial-space-fn.rs' [benchmarks."rayon_1_0_0::str_split::serial_space_str"] -runner = 'sally' +runner = 'molly' name = 'str_split::serial_space_str' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/str-split-serial-space-str.rs' [benchmarks."rayon_1_0_0::vec_collect::vec_i::with_collect"] -runner = 'sally' +runner = 'wilhelm' name = 'vec_collect::vec_i::with_collect' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/vec-collect-vec-i-with-collect.rs' @@ -2970,7 +3019,7 @@ crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/vec-collect-vec-i-with-fold.rs' [benchmarks."rayon_1_0_0::vec_collect::vec_i::with_linked_list_collect_vec"] -runner = 'sally' +runner = 'wilhelm' name = 'vec_collect::vec_i::with_linked_list_collect_vec' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/vec-collect-vec-i-with-linked-list-collect-vec.rs' @@ -2982,7 +3031,7 @@ crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/vec-collect-vec-i-with-linked-list-collect-vec-sized.rs' [benchmarks."rayon_1_0_0::vec_collect::vec_i::with_linked_list_map_reduce_vec_sized"] -runner = 'sally' +runner = 'wilhelm' name = 'vec_collect::vec_i::with_linked_list_map_reduce_vec_sized' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/vec-collect-vec-i-with-linked-list-map-reduce-vec-sized.rs' @@ -2994,13 +3043,13 @@ crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/vec-collect-vec-i-with-vec-vec-sized.rs' [benchmarks."rayon_1_0_0::vec_collect::vec_i_filtered::with_collect"] -runner = 'sally' +runner = 'molly' name = 'vec_collect::vec_i_filtered::with_collect' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/vec-collect-vec-i-filtered-with-collect.rs' [benchmarks."rayon_1_0_0::vec_collect::vec_i_filtered::with_fold"] -runner = 'sally' +runner = 'wilhelm' name = 'vec_collect::vec_i_filtered::with_fold' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/vec-collect-vec-i-filtered-with-fold.rs' @@ -3012,7 +3061,7 @@ crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/vec-collect-vec-i-filtered-with-linked-list-collect-vec.rs' [benchmarks."rayon_1_0_0::vec_collect::vec_i_filtered::with_linked_list_collect_vec_sized"] -runner = 'sally' +runner = 'molly' name = 'vec_collect::vec_i_filtered::with_linked_list_collect_vec_sized' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/vec-collect-vec-i-filtered-with-linked-list-collect-vec-sized.rs' @@ -3024,13 +3073,13 @@ crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/vec-collect-vec-i-filtered-with-linked-list-map-reduce-vec-sized.rs' [benchmarks."rayon_1_0_0::vec_collect::vec_i_filtered::with_vec_vec_sized"] -runner = 'sally' +runner = 'molly' name = 'vec_collect::vec_i_filtered::with_vec_vec_sized' crate = 'rayon_1_0_0' entrypoint_path = 'benches/rayon_1_0_0/src/bin/vec-collect-vec-i-filtered-with-vec-vec-sized.rs' [benchmarks."raytrace_8de9020::raytrace_random_scenes"] -runner = 'sally' +runner = 'wilhelm' name = 'raytrace_random_scenes' crate = 'raytrace_8de9020' entrypoint_path = 'benches/raytrace_8de9020/src/bin/raytrace-random-scenes.rs' @@ -3054,7 +3103,7 @@ crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/misc-anchored-literal-short-match.rs' [benchmarks."regex_0_2_6::misc::anchored_literal_short_non_match"] -runner = 'sally' +runner = 'wilhelm' name = 'misc::anchored_literal_short_non_match' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/misc-anchored-literal-short-non-match.rs' @@ -3072,7 +3121,7 @@ crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/misc-easy0-1mb.rs' [benchmarks."regex_0_2_6::misc::easy0_32"] -runner = 'sally' +runner = 'wilhelm' name = 'misc::easy0_32' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/misc-easy0-32.rs' @@ -3090,7 +3139,7 @@ crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/misc-easy1-1k.rs' [benchmarks."regex_0_2_6::misc::easy1_1MB"] -runner = 'sally' +runner = 'wilhelm' name = 'misc::easy1_1MB' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/misc-easy1-1mb.rs' @@ -3120,13 +3169,13 @@ crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/misc-hard-1mb.rs' [benchmarks."regex_0_2_6::misc::hard_32"] -runner = 'sally' +runner = 'molly' name = 'misc::hard_32' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/misc-hard-32.rs' [benchmarks."regex_0_2_6::misc::hard_32K"] -runner = 'sally' +runner = 'molly' name = 'misc::hard_32K' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/misc-hard-32k.rs' @@ -3138,13 +3187,13 @@ crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/misc-literal.rs' [benchmarks."regex_0_2_6::misc::long_needle1"] -runner = 'sally' +runner = 'wilhelm' name = 'misc::long_needle1' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/misc-long-needle1.rs' [benchmarks."regex_0_2_6::misc::long_needle2"] -runner = 'sally' +runner = 'wilhelm' name = 'misc::long_needle2' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/misc-long-needle2.rs' @@ -3156,7 +3205,7 @@ crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/misc-match-class.rs' [benchmarks."regex_0_2_6::misc::match_class_in_range"] -runner = 'sally' +runner = 'wilhelm' name = 'misc::match_class_in_range' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/misc-match-class-in-range.rs' @@ -3180,13 +3229,13 @@ crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/misc-medium-32.rs' [benchmarks."regex_0_2_6::misc::medium_32K"] -runner = 'sally' +runner = 'wilhelm' name = 'misc::medium_32K' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/misc-medium-32k.rs' [benchmarks."regex_0_2_6::misc::not_literal"] -runner = 'sally' +runner = 'wilhelm' name = 'misc::not_literal' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/misc-not-literal.rs' @@ -3204,13 +3253,13 @@ crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/misc-one-pass-long-prefix-not.rs' [benchmarks."regex_0_2_6::misc::one_pass_short"] -runner = 'sally' +runner = 'molly' name = 'misc::one_pass_short' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/misc-one-pass-short.rs' [benchmarks."regex_0_2_6::misc::one_pass_short_not"] -runner = 'sally' +runner = 'molly' name = 'misc::one_pass_short_not' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/misc-one-pass-short-not.rs' @@ -3258,13 +3307,13 @@ crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/misc-reverse-suffix-no-quadratic.rs' [benchmarks."regex_0_2_6::misc::short_haystack_1000000x"] -runner = 'sally' +runner = 'molly' name = 'misc::short_haystack_1000000x' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/misc-short-haystack-1000000x.rs' [benchmarks."regex_0_2_6::misc::short_haystack_100000x"] -runner = 'sally' +runner = 'molly' name = 'misc::short_haystack_100000x' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/misc-short-haystack-100000x.rs' @@ -3276,7 +3325,7 @@ crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/misc-short-haystack-10000x.rs' [benchmarks."regex_0_2_6::misc::short_haystack_1000x"] -runner = 'sally' +runner = 'molly' name = 'misc::short_haystack_1000x' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/misc-short-haystack-1000x.rs' @@ -3288,7 +3337,7 @@ crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/misc-short-haystack-100x.rs' [benchmarks."regex_0_2_6::misc::short_haystack_10x"] -runner = 'sally' +runner = 'molly' name = 'misc::short_haystack_10x' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/misc-short-haystack-10x.rs' @@ -3306,7 +3355,7 @@ crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/misc-short-haystack-2x.rs' [benchmarks."regex_0_2_6::misc::short_haystack_3x"] -runner = 'sally' +runner = 'wilhelm' name = 'misc::short_haystack_3x' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/misc-short-haystack-3x.rs' @@ -3324,7 +3373,7 @@ crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/regexdna-find-new-lines.rs' [benchmarks."regex_0_2_6::regexdna::subst1"] -runner = 'sally' +runner = 'molly' name = 'regexdna::subst1' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/regexdna-subst1.rs' @@ -3342,7 +3391,7 @@ crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/regexdna-subst11.rs' [benchmarks."regex_0_2_6::regexdna::subst2"] -runner = 'sally' +runner = 'molly' name = 'regexdna::subst2' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/regexdna-subst2.rs' @@ -3360,7 +3409,7 @@ crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/regexdna-subst4.rs' [benchmarks."regex_0_2_6::regexdna::subst5"] -runner = 'sally' +runner = 'molly' name = 'regexdna::subst5' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/regexdna-subst5.rs' @@ -3378,7 +3427,7 @@ crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/regexdna-subst7.rs' [benchmarks."regex_0_2_6::regexdna::subst8"] -runner = 'sally' +runner = 'wilhelm' name = 'regexdna::subst8' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/regexdna-subst8.rs' @@ -3402,13 +3451,13 @@ crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/regexdna-variant2.rs' [benchmarks."regex_0_2_6::regexdna::variant3"] -runner = 'sally' +runner = 'molly' name = 'regexdna::variant3' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/regexdna-variant3.rs' [benchmarks."regex_0_2_6::regexdna::variant4"] -runner = 'sally' +runner = 'wilhelm' name = 'regexdna::variant4' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/regexdna-variant4.rs' @@ -3432,13 +3481,13 @@ crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/regexdna-variant7.rs' [benchmarks."regex_0_2_6::regexdna::variant8"] -runner = 'sally' +runner = 'molly' name = 'regexdna::variant8' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/regexdna-variant8.rs' [benchmarks."regex_0_2_6::regexdna::variant9"] -runner = 'sally' +runner = 'molly' name = 'regexdna::variant9' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/regexdna-variant9.rs' @@ -3456,7 +3505,7 @@ crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/rust-parse-parse-simple.rs' [benchmarks."regex_0_2_6::rust_parse::parse_simple2"] -runner = 'sally' +runner = 'wilhelm' name = 'rust_parse::parse_simple2' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/rust-parse-parse-simple2.rs' @@ -3468,7 +3517,7 @@ crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/rust-parse-parse-small.rs' [benchmarks."regex_0_2_6::sherlock::before_after_holmes"] -runner = 'sally' +runner = 'wilhelm' name = 'sherlock::before_after_holmes' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/sherlock-before-after-holmes.rs' @@ -3486,7 +3535,7 @@ crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/sherlock-everything-greedy.rs' [benchmarks."regex_0_2_6::sherlock::everything_greedy_nl"] -runner = 'sally' +runner = 'molly' name = 'sherlock::everything_greedy_nl' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/sherlock-everything-greedy-nl.rs' @@ -3498,13 +3547,13 @@ crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/sherlock-holmes-cochar-watson.rs' [benchmarks."regex_0_2_6::sherlock::holmes_coword_watson"] -runner = 'sally' +runner = 'wilhelm' name = 'sherlock::holmes_coword_watson' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/sherlock-holmes-coword-watson.rs' [benchmarks."regex_0_2_6::sherlock::ing_suffix"] -runner = 'sally' +runner = 'wilhelm' name = 'sherlock::ing_suffix' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/sherlock-ing-suffix.rs' @@ -3528,7 +3577,7 @@ crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/sherlock-letters-lower.rs' [benchmarks."regex_0_2_6::sherlock::letters_upper"] -runner = 'sally' +runner = 'molly' name = 'sherlock::letters_upper' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/sherlock-letters-upper.rs' @@ -3552,13 +3601,13 @@ crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/sherlock-name-alt2.rs' [benchmarks."regex_0_2_6::sherlock::name_alt3"] -runner = 'sally' +runner = 'wilhelm' name = 'sherlock::name_alt3' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/sherlock-name-alt3.rs' [benchmarks."regex_0_2_6::sherlock::name_alt3_nocase"] -runner = 'sally' +runner = 'molly' name = 'sherlock::name_alt3_nocase' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/sherlock-name-alt3-nocase.rs' @@ -3594,7 +3643,7 @@ crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/sherlock-name-holmes.rs' [benchmarks."regex_0_2_6::sherlock::name_holmes_nocase"] -runner = 'sally' +runner = 'wilhelm' name = 'sherlock::name_holmes_nocase' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/sherlock-name-holmes-nocase.rs' @@ -3606,7 +3655,7 @@ crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/sherlock-name-sherlock.rs' [benchmarks."regex_0_2_6::sherlock::name_sherlock_holmes"] -runner = 'sally' +runner = 'molly' name = 'sherlock::name_sherlock_holmes' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/sherlock-name-sherlock-holmes.rs' @@ -3624,7 +3673,7 @@ crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/sherlock-name-sherlock-nocase.rs' [benchmarks."regex_0_2_6::sherlock::name_whitespace"] -runner = 'sally' +runner = 'molly' name = 'sherlock::name_whitespace' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/sherlock-name-whitespace.rs' @@ -3648,13 +3697,13 @@ crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/sherlock-no-match-uncommon.rs' [benchmarks."regex_0_2_6::sherlock::quotes"] -runner = 'sally' +runner = 'molly' name = 'sherlock::quotes' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/sherlock-quotes.rs' [benchmarks."regex_0_2_6::sherlock::repeated_class_negation"] -runner = 'sally' +runner = 'molly' name = 'sherlock::repeated_class_negation' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/sherlock-repeated-class-negation.rs' @@ -3666,7 +3715,7 @@ crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/sherlock-the-lower.rs' [benchmarks."regex_0_2_6::sherlock::the_nocase"] -runner = 'sally' +runner = 'wilhelm' name = 'sherlock::the_nocase' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/sherlock-the-nocase.rs' @@ -3678,13 +3727,13 @@ crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/sherlock-the-upper.rs' [benchmarks."regex_0_2_6::sherlock::the_whitespace"] -runner = 'sally' +runner = 'molly' name = 'sherlock::the_whitespace' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/sherlock-the-whitespace.rs' [benchmarks."regex_0_2_6::sherlock::word_ending_n"] -runner = 'sally' +runner = 'molly' name = 'sherlock::word_ending_n' crate = 'regex_0_2_6' entrypoint_path = 'benches/regex_0_2_6/src/bin/sherlock-word-ending-n.rs' @@ -3756,13 +3805,13 @@ crate = 'sha3_0_8_0' entrypoint_path = 'benches/sha3_0_8_0/src/bin/sha3-256-bench2-100.rs' [benchmarks."sha3_0_8_0::sha3_256::bench3_1000"] -runner = 'sally' +runner = 'molly' name = 'sha3_256::bench3_1000' crate = 'sha3_0_8_0' entrypoint_path = 'benches/sha3_0_8_0/src/bin/sha3-256-bench3-1000.rs' [benchmarks."sha3_0_8_0::sha3_256::bench4_10000"] -runner = 'sally' +runner = 'wilhelm' name = 'sha3_256::bench4_10000' crate = 'sha3_0_8_0' entrypoint_path = 'benches/sha3_0_8_0/src/bin/sha3-256-bench4-10000.rs' @@ -3780,7 +3829,7 @@ crate = 'sha3_0_8_0' entrypoint_path = 'benches/sha3_0_8_0/src/bin/sha3-512-bench2-100.rs' [benchmarks."sha3_0_8_0::sha3_512::bench3_1000"] -runner = 'sally' +runner = 'molly' name = 'sha3_512::bench3_1000' crate = 'sha3_0_8_0' entrypoint_path = 'benches/sha3_0_8_0/src/bin/sha3-512-bench3-1000.rs' @@ -3816,7 +3865,7 @@ crate = 'snap_0_2_4' entrypoint_path = 'benches/snap_0_2_4/src/bin/uflat03-jpg-200.rs' [benchmarks."snap_0_2_4::uflat04_pdf"] -runner = 'sally' +runner = 'wilhelm' name = 'uflat04_pdf' crate = 'snap_0_2_4' entrypoint_path = 'benches/snap_0_2_4/src/bin/uflat04-pdf.rs' @@ -3834,13 +3883,13 @@ crate = 'snap_0_2_4' entrypoint_path = 'benches/snap_0_2_4/src/bin/uflat06-txt1.rs' [benchmarks."snap_0_2_4::uflat07_txt2"] -runner = 'sally' +runner = 'wilhelm' name = 'uflat07_txt2' crate = 'snap_0_2_4' entrypoint_path = 'benches/snap_0_2_4/src/bin/uflat07-txt2.rs' [benchmarks."snap_0_2_4::uflat08_txt3"] -runner = 'sally' +runner = 'molly' name = 'uflat08_txt3' crate = 'snap_0_2_4' entrypoint_path = 'benches/snap_0_2_4/src/bin/uflat08-txt3.rs' @@ -3852,7 +3901,7 @@ crate = 'snap_0_2_4' entrypoint_path = 'benches/snap_0_2_4/src/bin/uflat09-txt4.rs' [benchmarks."snap_0_2_4::uflat10_pb"] -runner = 'sally' +runner = 'molly' name = 'uflat10_pb' crate = 'snap_0_2_4' entrypoint_path = 'benches/snap_0_2_4/src/bin/uflat10-pb.rs' @@ -3864,7 +3913,7 @@ crate = 'snap_0_2_4' entrypoint_path = 'benches/snap_0_2_4/src/bin/uflat11-gaviota.rs' [benchmarks."snap_0_2_4::zflat00_html"] -runner = 'sally' +runner = 'wilhelm' name = 'zflat00_html' crate = 'snap_0_2_4' entrypoint_path = 'benches/snap_0_2_4/src/bin/zflat00-html.rs' @@ -3882,7 +3931,7 @@ crate = 'snap_0_2_4' entrypoint_path = 'benches/snap_0_2_4/src/bin/zflat02-jpg.rs' [benchmarks."snap_0_2_4::zflat03_jpg_200"] -runner = 'sally' +runner = 'molly' name = 'zflat03_jpg_200' crate = 'snap_0_2_4' entrypoint_path = 'benches/snap_0_2_4/src/bin/zflat03-jpg-200.rs' @@ -3906,7 +3955,7 @@ crate = 'snap_0_2_4' entrypoint_path = 'benches/snap_0_2_4/src/bin/zflat06-txt1.rs' [benchmarks."snap_0_2_4::zflat07_txt2"] -runner = 'sally' +runner = 'wilhelm' name = 'zflat07_txt2' crate = 'snap_0_2_4' entrypoint_path = 'benches/snap_0_2_4/src/bin/zflat07-txt2.rs' @@ -3918,7 +3967,7 @@ crate = 'snap_0_2_4' entrypoint_path = 'benches/snap_0_2_4/src/bin/zflat08-txt3.rs' [benchmarks."snap_0_2_4::zflat09_txt4"] -runner = 'sally' +runner = 'wilhelm' name = 'zflat09_txt4' crate = 'snap_0_2_4' entrypoint_path = 'benches/snap_0_2_4/src/bin/zflat09-txt4.rs' @@ -3930,7 +3979,7 @@ crate = 'snap_0_2_4' entrypoint_path = 'benches/snap_0_2_4/src/bin/zflat10-pb.rs' [benchmarks."snap_0_2_4::zflat11_gaviota"] -runner = 'sally' +runner = 'molly' name = 'zflat11_gaviota' crate = 'snap_0_2_4' entrypoint_path = 'benches/snap_0_2_4/src/bin/zflat11-gaviota.rs' From 3359d5ae93b657d89454ec611b0b0027b91868d9 Mon Sep 17 00:00:00 2001 From: Adam Perry Date: Sun, 13 Dec 2020 11:50:03 -0800 Subject: [PATCH 47/47] Disable deploy step for now. --- .github/workflows/main.yml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 7195290..7700c61 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -518,12 +518,12 @@ jobs: name: screenshots path: ~/screenshots - deploy: - if: github.ref == 'ref/head/master' - needs: [core, lint, website] - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - run: ./deploy.sh $GITHUB_SHA + # deploy: + # if: github.ref == 'ref/head/master' + # needs: [core, lint, website] + # runs-on: ubuntu-latest + # steps: + # - uses: actions/checkout@v2 + # with: + # submodules: true + # - run: ./deploy.sh $GITHUB_SHA