chore: switch from circle ci to github actions (#2253)
This commit is contained in:
parent
0e4523a37d
commit
fda00fc87c
|
@ -1,212 +0,0 @@
|
||||||
version: 2.1
|
|
||||||
|
|
||||||
orbs:
|
|
||||||
browser-tools: circleci/browser-tools@1.1.3
|
|
||||||
workflows:
|
|
||||||
version: 2
|
|
||||||
build_and_test:
|
|
||||||
jobs:
|
|
||||||
- build_and_unit_test
|
|
||||||
- integration_test_readonly:
|
|
||||||
requires:
|
|
||||||
- build_and_unit_test
|
|
||||||
- integration_test_readwrite:
|
|
||||||
requires:
|
|
||||||
- build_and_unit_test
|
|
||||||
executors:
|
|
||||||
node:
|
|
||||||
working_directory: ~/pinafore
|
|
||||||
docker:
|
|
||||||
- image: cimg/ruby:3.0.3-browsers
|
|
||||||
node_and_ruby:
|
|
||||||
working_directory: ~/pinafore
|
|
||||||
docker:
|
|
||||||
- image: cimg/ruby:3.0.3-browsers
|
|
||||||
- image: circleci/postgres:12.2
|
|
||||||
environment:
|
|
||||||
POSTGRES_USER: pinafore
|
|
||||||
POSTGRES_PASSWORD: pinafore
|
|
||||||
POSTGRES_DB: pinafore_development
|
|
||||||
BROWSER: chrome:headless
|
|
||||||
- image: circleci/redis:5-alpine
|
|
||||||
commands:
|
|
||||||
install_mastodon_system_dependencies:
|
|
||||||
description: Install system dependencies that Mastodon requires
|
|
||||||
steps:
|
|
||||||
- run:
|
|
||||||
name: Install system dependencies
|
|
||||||
command: |
|
|
||||||
sudo apt-get update
|
|
||||||
sudo apt-get install -y \
|
|
||||||
ffmpeg \
|
|
||||||
fonts-noto-color-emoji \
|
|
||||||
imagemagick \
|
|
||||||
libicu-dev \
|
|
||||||
libidn11-dev \
|
|
||||||
libprotobuf-dev \
|
|
||||||
postgresql-contrib \
|
|
||||||
protobuf-compiler
|
|
||||||
install_browsers:
|
|
||||||
description: Install browsers and tools
|
|
||||||
steps:
|
|
||||||
- browser-tools/install-chrome:
|
|
||||||
chrome-version: 91.0.4472.114
|
|
||||||
- browser-tools/install-chromedriver
|
|
||||||
- run:
|
|
||||||
name: "Check browser version"
|
|
||||||
command: |
|
|
||||||
google-chrome --version
|
|
||||||
install_node:
|
|
||||||
description: Install Node.js
|
|
||||||
steps:
|
|
||||||
- run:
|
|
||||||
name: "Install Node.js"
|
|
||||||
# via https://circleci.com/docs/2.0/circleci-images/#notes-on-pinning-images
|
|
||||||
command: |
|
|
||||||
curl -sSL "https://nodejs.org/dist/v14.21.1/node-v14.21.1-linux-x64.tar.xz" \
|
|
||||||
| sudo tar --strip-components=2 -xJ -C /usr/local/bin/ node-v14.21.1-linux-x64/bin/node
|
|
||||||
- run:
|
|
||||||
name: Check current version of node
|
|
||||||
command: node -v
|
|
||||||
|
|
||||||
save_workspace:
|
|
||||||
description: Persist workspace
|
|
||||||
steps:
|
|
||||||
- persist_to_workspace:
|
|
||||||
root: .
|
|
||||||
paths:
|
|
||||||
- .
|
|
||||||
load_workspace:
|
|
||||||
description: Load workspace
|
|
||||||
steps:
|
|
||||||
- attach_workspace:
|
|
||||||
at: ~/pinafore
|
|
||||||
restore_yarn_cache:
|
|
||||||
description: Restore yarn cache
|
|
||||||
steps:
|
|
||||||
- restore_cache:
|
|
||||||
name: Restore yarn cache
|
|
||||||
key: yarn-v4-{{ checksum "yarn.lock" }}
|
|
||||||
save_yarn_cache:
|
|
||||||
description: Save yarn cache
|
|
||||||
steps:
|
|
||||||
- save_cache:
|
|
||||||
name: Save yarn cache
|
|
||||||
key: yarn-v4-{{ checksum "yarn.lock" }}
|
|
||||||
paths:
|
|
||||||
- ~/.cache/yarn
|
|
||||||
restore_yarn_cache_mastodon:
|
|
||||||
description: Restore yarn cache for Mastodon
|
|
||||||
steps:
|
|
||||||
- restore_cache:
|
|
||||||
name: Restore yarn cache for Mastodon
|
|
||||||
key: yarn-v4-{{ checksum "mastodon/yarn.lock" }}
|
|
||||||
save_yarn_cache_mastodon:
|
|
||||||
description: Save yarn cache for Mastodon
|
|
||||||
steps:
|
|
||||||
- save_cache:
|
|
||||||
name: Save yarn cache for Mastodon
|
|
||||||
key: yarn-v4-{{ checksum "mastodon/yarn.lock" }}
|
|
||||||
paths:
|
|
||||||
- ~/.cache/yarn
|
|
||||||
restore_bundler_cache:
|
|
||||||
description: Restore bundler cache
|
|
||||||
steps:
|
|
||||||
- restore_cache:
|
|
||||||
name: Restore bundler cache
|
|
||||||
key: bundler-v4-{{ checksum "mastodon/Gemfile.lock" }}
|
|
||||||
save_bundler_cache:
|
|
||||||
description: Save bundler cache
|
|
||||||
steps:
|
|
||||||
- save_cache:
|
|
||||||
name: Save bundler cache
|
|
||||||
key: bundler-v4-{{ checksum "mastodon/Gemfile.lock" }}
|
|
||||||
paths:
|
|
||||||
- mastodon/vendor/bundle
|
|
||||||
install_mastodon:
|
|
||||||
description: Install Mastodon and set up Postgres/Redis
|
|
||||||
steps:
|
|
||||||
- run:
|
|
||||||
name: Clone mastodon
|
|
||||||
command: yarn clone-mastodon
|
|
||||||
- restore_yarn_cache_mastodon
|
|
||||||
- restore_bundler_cache
|
|
||||||
- run:
|
|
||||||
name: Install mastodon
|
|
||||||
command: yarn install-mastodon
|
|
||||||
- save_yarn_cache_mastodon
|
|
||||||
- save_bundler_cache
|
|
||||||
- run:
|
|
||||||
name: Wait for postgres to be ready
|
|
||||||
command: |
|
|
||||||
for i in `seq 1 10`;
|
|
||||||
do
|
|
||||||
nc -z localhost 5432 && echo Success && exit 0
|
|
||||||
echo -n .
|
|
||||||
sleep 1
|
|
||||||
done
|
|
||||||
echo Failed waiting for postgres && exit 1
|
|
||||||
- run:
|
|
||||||
name: Wait for redis to be ready
|
|
||||||
command: |
|
|
||||||
for i in `seq 1 10`;
|
|
||||||
do
|
|
||||||
nc -z localhost 6379 && echo Success && exit 0
|
|
||||||
echo -n .
|
|
||||||
sleep 1
|
|
||||||
done
|
|
||||||
echo Failed waiting for redis && exit 1
|
|
||||||
jobs:
|
|
||||||
build_and_unit_test:
|
|
||||||
executor: node
|
|
||||||
steps:
|
|
||||||
- checkout
|
|
||||||
- install_node
|
|
||||||
- restore_yarn_cache
|
|
||||||
- run:
|
|
||||||
name: Yarn install
|
|
||||||
command: yarn install --frozen-lockfile
|
|
||||||
- save_yarn_cache
|
|
||||||
- run:
|
|
||||||
name: Lint
|
|
||||||
command: yarn lint
|
|
||||||
- run:
|
|
||||||
name: Copy vercel.json
|
|
||||||
command: cp vercel.json vercel-old.json
|
|
||||||
- run:
|
|
||||||
name: Build
|
|
||||||
command: yarn build
|
|
||||||
- run:
|
|
||||||
name: Check vercel.json unchanged
|
|
||||||
command: |
|
|
||||||
if ! diff -q vercel-old.json vercel.json &>/dev/null; then
|
|
||||||
diff vercel-old.json vercel.json
|
|
||||||
echo "vercel.json changed, run yarn build and make sure everything looks okay"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
- run:
|
|
||||||
name: Unit tests
|
|
||||||
command: yarn test-unit
|
|
||||||
- save_workspace
|
|
||||||
integration_test_readonly:
|
|
||||||
executor: node_and_ruby
|
|
||||||
steps:
|
|
||||||
- install_mastodon_system_dependencies
|
|
||||||
- install_browsers
|
|
||||||
- install_node
|
|
||||||
- load_workspace
|
|
||||||
- install_mastodon
|
|
||||||
- run:
|
|
||||||
name: Read-only integration tests
|
|
||||||
command: yarn test-in-ci-suite0
|
|
||||||
integration_test_readwrite:
|
|
||||||
executor: node_and_ruby
|
|
||||||
steps:
|
|
||||||
- install_mastodon_system_dependencies
|
|
||||||
- install_browsers
|
|
||||||
- install_node
|
|
||||||
- load_workspace
|
|
||||||
- install_mastodon
|
|
||||||
- run:
|
|
||||||
name: Read-write integration tests
|
|
||||||
command: yarn test-in-ci-suite1
|
|
65
.github/workflows/e2e-tests-readonly.yml
vendored
Normal file
65
.github/workflows/e2e-tests-readonly.yml
vendored
Normal file
|
@ -0,0 +1,65 @@
|
||||||
|
name: Read-only e2e tests
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
branches: [ master ]
|
||||||
|
jobs:
|
||||||
|
test:
|
||||||
|
runs-on: ubuntu-18.04
|
||||||
|
services:
|
||||||
|
postgres:
|
||||||
|
image: postgres:12.2
|
||||||
|
env:
|
||||||
|
POSTGRES_USER: pinafore
|
||||||
|
POSTGRES_PASSWORD: pinafore
|
||||||
|
POSTGRES_DB: pinafore_development
|
||||||
|
POSTGRES_HOST: 127.0.0.1
|
||||||
|
POSTGRES_PORT: 5432
|
||||||
|
ports:
|
||||||
|
- 5432:5432
|
||||||
|
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
|
||||||
|
redis:
|
||||||
|
image: redis:5
|
||||||
|
ports:
|
||||||
|
- 6379:6379
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- uses: actions/setup-node@v3
|
||||||
|
with:
|
||||||
|
node-version: '14'
|
||||||
|
- uses: ruby/setup-ruby@v1
|
||||||
|
with:
|
||||||
|
ruby-version: '3.0.3'
|
||||||
|
- name: Cache Mastodon bundler
|
||||||
|
uses: actions/cache@v3
|
||||||
|
with:
|
||||||
|
path: ~/.bundle-vendor-cache
|
||||||
|
# cache based on masto version implicitly defined in mastodon-config.js
|
||||||
|
key: masto-bundler-v3-${{ hashFiles('bin/mastodon-config.js') }}
|
||||||
|
- name: Cache Mastodon's and our yarn
|
||||||
|
uses: actions/cache@v3
|
||||||
|
with:
|
||||||
|
path: ~/.cache/yarn
|
||||||
|
# cache based on our version and masto version implicitly defined in mastodon-config.js
|
||||||
|
# because we share the yarn cache
|
||||||
|
key: masto-yarn-v1-${{ hashFiles('yarn.lock') }}-${{ hashFiles('bin/mastodon-config.js') }}
|
||||||
|
- name: Install Mastodon system dependencies
|
||||||
|
run: |
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install -y \
|
||||||
|
ffmpeg \
|
||||||
|
fonts-noto-color-emoji \
|
||||||
|
imagemagick \
|
||||||
|
libicu-dev \
|
||||||
|
libidn11-dev \
|
||||||
|
libprotobuf-dev \
|
||||||
|
postgresql-contrib \
|
||||||
|
protobuf-compiler
|
||||||
|
- run: yarn --frozen-lockfile
|
||||||
|
- run: yarn build
|
||||||
|
- run: yarn clone-mastodon
|
||||||
|
- name: Move bundler cache so Mastodon can find it
|
||||||
|
run: if [ -d ~/.bundle-vendor-cache ]; then mkdir -p ./mastodon/vendor && mv ~/.bundle-vendor-cache ./mastodon/vendor/bundle; fi
|
||||||
|
- name: Read-only e2e tests
|
||||||
|
run: yarn test-in-ci-suite0
|
||||||
|
- name: Move bundler cache so GitHub Actions can find it
|
||||||
|
run: mv ./mastodon/vendor/bundle ~/.bundle-vendor-cache
|
65
.github/workflows/e2e-tests-readwrite.yml
vendored
Normal file
65
.github/workflows/e2e-tests-readwrite.yml
vendored
Normal file
|
@ -0,0 +1,65 @@
|
||||||
|
name: Read-write e2e tests
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
branches: [ master ]
|
||||||
|
jobs:
|
||||||
|
test:
|
||||||
|
runs-on: ubuntu-18.04
|
||||||
|
services:
|
||||||
|
postgres:
|
||||||
|
image: postgres:12.2
|
||||||
|
env:
|
||||||
|
POSTGRES_USER: pinafore
|
||||||
|
POSTGRES_PASSWORD: pinafore
|
||||||
|
POSTGRES_DB: pinafore_development
|
||||||
|
POSTGRES_HOST: 127.0.0.1
|
||||||
|
POSTGRES_PORT: 5432
|
||||||
|
ports:
|
||||||
|
- 5432:5432
|
||||||
|
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
|
||||||
|
redis:
|
||||||
|
image: redis:5
|
||||||
|
ports:
|
||||||
|
- 6379:6379
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- uses: actions/setup-node@v3
|
||||||
|
with:
|
||||||
|
node-version: '14'
|
||||||
|
- uses: ruby/setup-ruby@v1
|
||||||
|
with:
|
||||||
|
ruby-version: '3.0.3'
|
||||||
|
- name: Cache Mastodon bundler
|
||||||
|
uses: actions/cache@v3
|
||||||
|
with:
|
||||||
|
path: ~/.bundle-vendor-cache
|
||||||
|
# cache based on masto version implicitly defined in mastodon-config.js
|
||||||
|
key: masto-bundler-v3-${{ hashFiles('bin/mastodon-config.js') }}
|
||||||
|
- name: Cache Mastodon's and our yarn
|
||||||
|
uses: actions/cache@v3
|
||||||
|
with:
|
||||||
|
path: ~/.cache/yarn
|
||||||
|
# cache based on our version and masto version implicitly defined in mastodon-config.js
|
||||||
|
# because we share the yarn cache
|
||||||
|
key: masto-yarn-v1-${{ hashFiles('yarn.lock') }}-${{ hashFiles('bin/mastodon-config.js') }}
|
||||||
|
- name: Install Mastodon system dependencies
|
||||||
|
run: |
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install -y \
|
||||||
|
ffmpeg \
|
||||||
|
fonts-noto-color-emoji \
|
||||||
|
imagemagick \
|
||||||
|
libicu-dev \
|
||||||
|
libidn11-dev \
|
||||||
|
libprotobuf-dev \
|
||||||
|
postgresql-contrib \
|
||||||
|
protobuf-compiler
|
||||||
|
- run: yarn --frozen-lockfile
|
||||||
|
- run: yarn build
|
||||||
|
- run: yarn clone-mastodon
|
||||||
|
- name: Move bundler cache so Mastodon can find it
|
||||||
|
run: if [ -d ~/.bundle-vendor-cache ]; then mkdir -p ./mastodon/vendor && mv ~/.bundle-vendor-cache ./mastodon/vendor/bundle; fi
|
||||||
|
- name: Read-write e2e tests
|
||||||
|
run: yarn test-in-ci-suite1
|
||||||
|
- name: Move bundler cache so GitHub Actions can find it
|
||||||
|
run: mv ./mastodon/vendor/bundle ~/.bundle-vendor-cache
|
17
.github/workflows/unit-tests.yml
vendored
Normal file
17
.github/workflows/unit-tests.yml
vendored
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
name: Unit tests
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
branches: [ master ]
|
||||||
|
jobs:
|
||||||
|
test:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- uses: actions/setup-node@v3
|
||||||
|
with:
|
||||||
|
node-version: '14'
|
||||||
|
cache: 'yarn'
|
||||||
|
- run: yarn --frozen-lockfile
|
||||||
|
- run: yarn lint
|
||||||
|
- run: yarn test-vercel-json
|
||||||
|
- run: yarn test-unit
|
|
@ -120,8 +120,8 @@ or
|
||||||
|
|
||||||
1. Run `rm -fr mastodon` to clear out all Mastodon data
|
1. Run `rm -fr mastodon` to clear out all Mastodon data
|
||||||
1. Comment out `await restoreMastodonData()` in `run-mastodon.js` to avoid actually populating the database with statuses/favorites/etc.
|
1. Comment out `await restoreMastodonData()` in `run-mastodon.js` to avoid actually populating the database with statuses/favorites/etc.
|
||||||
2. Update the `GIT_TAG_OR_BRANCH` in `clone-mastodon.js` to whatever you want
|
2. Update the `GIT_TAG` in `mastodon-config.js` to whatever you want
|
||||||
3. If the Ruby version changed (check Mastodon's `.ruby-version`), install it and update `RUBY_VERSION` in `mastodon-config.js` as well as the Ruby version in `.circleci/config.yml`.
|
3. If the Ruby version changed (check Mastodon's `.ruby-version`), install it and update `RUBY_VERSION` in `mastodon-config.js` as well as the Ruby version in `.github/workflows`.
|
||||||
4. Run `yarn run-mastodon`
|
4. Run `yarn run-mastodon`
|
||||||
5. Run `yarn backup-mastodon-data` to overwrite the data in `fixtures/`
|
5. Run `yarn backup-mastodon-data` to overwrite the data in `fixtures/`
|
||||||
6. Uncomment `await restoreMastodonData()` in `run-mastodon.js`
|
6. Uncomment `await restoreMastodonData()` in `run-mastodon.js`
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Pinafore [![Build status](https://circleci.com/gh/nolanlawson/pinafore.svg?style=svg)](https://app.circleci.com/pipelines/gh/nolanlawson/pinafore)
|
# Pinafore
|
||||||
|
|
||||||
An alternative web client for [Mastodon](https://joinmastodon.org), focused on speed and simplicity.
|
An alternative web client for [Mastodon](https://joinmastodon.org), focused on speed and simplicity.
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@ import { promisify } from 'util'
|
||||||
import childProcessPromise from 'child-process-promise'
|
import childProcessPromise from 'child-process-promise'
|
||||||
import path from 'path'
|
import path from 'path'
|
||||||
import fs from 'fs'
|
import fs from 'fs'
|
||||||
import { envFile, RUBY_VERSION } from './mastodon-config.js'
|
import { envFile, GIT_TAG, GIT_URL, RUBY_VERSION } from './mastodon-config.js'
|
||||||
import esMain from 'es-main'
|
import esMain from 'es-main'
|
||||||
|
|
||||||
const exec = childProcessPromise.exec
|
const exec = childProcessPromise.exec
|
||||||
|
@ -11,9 +11,6 @@ const writeFile = promisify(fs.writeFile)
|
||||||
const __dirname = path.dirname(new URL(import.meta.url).pathname)
|
const __dirname = path.dirname(new URL(import.meta.url).pathname)
|
||||||
const dir = __dirname
|
const dir = __dirname
|
||||||
|
|
||||||
const GIT_URL = 'https://github.com/tootsuite/mastodon.git'
|
|
||||||
const GIT_TAG = 'v3.5.3'
|
|
||||||
|
|
||||||
const mastodonDir = path.join(dir, '../mastodon')
|
const mastodonDir = path.join(dir, '../mastodon')
|
||||||
|
|
||||||
export default async function cloneMastodon () {
|
export default async function cloneMastodon () {
|
||||||
|
|
5
bin/copy-vercel-json.sh
Executable file
5
bin/copy-vercel-json.sh
Executable file
|
@ -0,0 +1,5 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Designed to be run before yarn build, and then tested with test-vercel-json-unchanged.sh
|
||||||
|
|
||||||
|
cp ./vercel.json /tmp/vercel-old.json
|
|
@ -18,6 +18,9 @@ DB_PASS=${DB_PASS}
|
||||||
BIND=0.0.0.0
|
BIND=0.0.0.0
|
||||||
`
|
`
|
||||||
|
|
||||||
|
export const GIT_URL = 'https://github.com/tootsuite/mastodon.git'
|
||||||
|
export const GIT_TAG = 'v3.5.3'
|
||||||
|
|
||||||
export const RUBY_VERSION = '3.0.3'
|
export const RUBY_VERSION = '3.0.3'
|
||||||
|
|
||||||
const __dirname = path.dirname(new URL(import.meta.url).pathname)
|
const __dirname = path.dirname(new URL(import.meta.url).pathname)
|
||||||
|
|
|
@ -15,7 +15,7 @@ async function runMastodon () {
|
||||||
const cwd = mastodonDir
|
const cwd = mastodonDir
|
||||||
const promise = spawn('foreman', ['start'], { cwd, env })
|
const promise = spawn('foreman', ['start'], { cwd, env })
|
||||||
// don't bother writing to mastodon.log in CI; we can't read the file anyway
|
// don't bother writing to mastodon.log in CI; we can't read the file anyway
|
||||||
const logFile = process.env.CIRCLECI ? '/dev/null' : 'mastodon.log'
|
const logFile = process.env.CI ? '/dev/null' : 'mastodon.log'
|
||||||
const log = fs.createWriteStream(logFile, { flags: 'a' })
|
const log = fs.createWriteStream(logFile, { flags: 'a' })
|
||||||
childProc = promise.childProcess
|
childProc = promise.childProcess
|
||||||
childProc.stdout.pipe(log)
|
childProc.stdout.pipe(log)
|
||||||
|
|
10
bin/test-vercel-json-unchanged.sh
Executable file
10
bin/test-vercel-json-unchanged.sh
Executable file
|
@ -0,0 +1,10 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# In CI, we need to make sure the vercel.json file is built correctly,
|
||||||
|
# or else it will mess up the deployment to Vercel
|
||||||
|
|
||||||
|
if ! diff -q /tmp/vercel-old.json ./vercel.json &>/dev/null; then
|
||||||
|
diff /tmp/vercel-old.json ./vercel.json
|
||||||
|
echo "vercel.json changed, run yarn build and make sure everything looks okay"
|
||||||
|
exit 1
|
||||||
|
fi
|
|
@ -31,11 +31,14 @@
|
||||||
"test-mastodon-suite0": "run-s wait-for-mastodon-to-start wait-for-mastodon-data testcafe-suite0",
|
"test-mastodon-suite0": "run-s wait-for-mastodon-to-start wait-for-mastodon-data testcafe-suite0",
|
||||||
"test-mastodon-suite1": "run-s wait-for-mastodon-to-start wait-for-mastodon-data testcafe-suite1",
|
"test-mastodon-suite1": "run-s wait-for-mastodon-to-start wait-for-mastodon-data testcafe-suite1",
|
||||||
"testcafe": "run-s testcafe-suite0 testcafe-suite1",
|
"testcafe": "run-s testcafe-suite0 testcafe-suite1",
|
||||||
"testcafe-suite0": "cross-env-shell testcafe $BROWSER tests/spec/0*",
|
"testcafe-suite0": "cross-env-shell testcafe -c 2 $BROWSER tests/spec/0*",
|
||||||
"testcafe-suite1": "cross-env-shell testcafe $BROWSER tests/spec/1*",
|
"testcafe-suite1": "cross-env-shell testcafe $BROWSER tests/spec/1*",
|
||||||
"test-unit": "NODE_ENV=test mocha -r bin/browser-shim.js tests/unit/",
|
"test-unit": "NODE_ENV=test mocha -r bin/browser-shim.js tests/unit/",
|
||||||
"test-in-ci-suite0": "cross-env BROWSER=chrome:headless run-p --race run-mastodon start test-mastodon-suite0",
|
"test-in-ci-suite0": "cross-env BROWSER=chrome:headless run-p --race run-mastodon start test-mastodon-suite0",
|
||||||
"test-in-ci-suite1": "cross-env BROWSER=chrome:headless run-p --race run-mastodon start test-mastodon-suite1",
|
"test-in-ci-suite1": "cross-env BROWSER=chrome:headless run-p --race run-mastodon start test-mastodon-suite1",
|
||||||
|
"test-vercel-json": "run-s test-vercel-json-copy build test-vercel-json-test",
|
||||||
|
"test-vercel-json-copy": "./bin/copy-vercel-json.sh",
|
||||||
|
"test-vercel-json-test": "./bin/test-vercel-json-unchanged.sh",
|
||||||
"wait-for-mastodon-to-start": "node bin/wait-for-mastodon-to-start.js",
|
"wait-for-mastodon-to-start": "node bin/wait-for-mastodon-to-start.js",
|
||||||
"wait-for-mastodon-data": "node bin/wait-for-mastodon-data.js",
|
"wait-for-mastodon-data": "node bin/wait-for-mastodon-data.js",
|
||||||
"backup-mastodon-data": "./bin/backup-mastodon-data.sh",
|
"backup-mastodon-data": "./bin/backup-mastodon-data.sh",
|
||||||
|
|
|
@ -127,8 +127,8 @@ export default {
|
||||||
dev && new webpack.HotModuleReplacementPlugin({
|
dev && new webpack.HotModuleReplacementPlugin({
|
||||||
requestTimeout: 120000
|
requestTimeout: 120000
|
||||||
}),
|
}),
|
||||||
// generates report.html, somewhat expensive to compute, so avoid in CircleCI tests
|
// generates report.html, somewhat expensive to compute, so avoid in CI tests
|
||||||
!dev && !process.env.CIRCLECI && new BundleAnalyzerPlugin({
|
!dev && !process.env.CI && new BundleAnalyzerPlugin({
|
||||||
analyzerMode: 'static',
|
analyzerMode: 'static',
|
||||||
openAnalyzer: false,
|
openAnalyzer: false,
|
||||||
logLevel: 'silent'
|
logLevel: 'silent'
|
||||||
|
|
Loading…
Reference in a new issue