update to mastodon 2.4.0 in travis (#371)
* update to mastodon 2.4.0 in travis * lint fix
This commit is contained in:
parent
708340502d
commit
992c3a890d
|
@ -89,3 +89,16 @@ The Webpack Bundle Analyzer `report.html` and `stats.json` are available publicl
|
||||||
- [dev.pinafore.social/stats.json](https://dev.pinafore.social/stats.json)
|
- [dev.pinafore.social/stats.json](https://dev.pinafore.social/stats.json)
|
||||||
|
|
||||||
This is also available locally after `npm run build` at `.sapper/client/report.html`.
|
This is also available locally after `npm run build` at `.sapper/client/report.html`.
|
||||||
|
|
||||||
|
## Updating Mastodon used for testing
|
||||||
|
|
||||||
|
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.
|
||||||
|
2. Update the `GIT_TAG` in `run-mastodon.js` to whatever you want
|
||||||
|
3. Run `npm run run-mastodon`
|
||||||
|
4. Run `npm run backup-mastodon-data` to overwrite the data in `fixtures/`
|
||||||
|
5. Uncomment `await restoreMastodonData()` in `run-mastodon.js`
|
||||||
|
6. Commit all changed files
|
||||||
|
7. Run `rm -fr mastodon/` and `npm run run-mastodon` to confirm everything's working
|
||||||
|
|
||||||
|
Check `mastodon.log` if you have any issues.
|
|
@ -13,19 +13,21 @@ const stat = pify(fs.stat.bind(fs))
|
||||||
const writeFile = pify(fs.writeFile.bind(fs))
|
const writeFile = pify(fs.writeFile.bind(fs))
|
||||||
const dir = __dirname
|
const dir = __dirname
|
||||||
|
|
||||||
const GIT_URL = 'https://github.com/nolanlawson/mastodon'
|
const GIT_URL = 'https://github.com/tootsuite/mastodon.git'
|
||||||
const GIT_BRANCH = 'for-pinafore'
|
const GIT_TAG = 'v2.4.0'
|
||||||
|
|
||||||
const DB_NAME = 'pinafore_development'
|
const DB_NAME = 'pinafore_development'
|
||||||
const DB_USER = 'pinafore'
|
const DB_USER = 'pinafore'
|
||||||
const DB_PASS = 'pinafore'
|
const DB_PASS = 'pinafore'
|
||||||
|
const DB_PORT = process.env.PGPORT || 5432
|
||||||
|
const DB_HOST = '127.0.0.1'
|
||||||
|
|
||||||
const envFile = `
|
const envFile = `
|
||||||
PAPERCLIP_SECRET=foo
|
PAPERCLIP_SECRET=foo
|
||||||
SECRET_KEY_BASE=bar
|
SECRET_KEY_BASE=bar
|
||||||
OTP_SECRET=foobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobar
|
OTP_SECRET=foobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobar
|
||||||
DB_HOST=127.0.0.1
|
DB_HOST=${DB_HOST}
|
||||||
DB_PORT=${process.env.PGPORT || 5432}
|
DB_PORT=${DB_PORT}
|
||||||
DB_USER=${DB_USER}
|
DB_USER=${DB_USER}
|
||||||
DB_NAME=${DB_NAME}
|
DB_NAME=${DB_NAME}
|
||||||
DB_PASS=${DB_PASS}
|
DB_PASS=${DB_PASS}
|
||||||
|
@ -40,7 +42,8 @@ async function cloneMastodon () {
|
||||||
await stat(mastodonDir)
|
await stat(mastodonDir)
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.log('Cloning mastodon...')
|
console.log('Cloning mastodon...')
|
||||||
await exec(`git clone ${GIT_URL} --branch ${GIT_BRANCH} --single-branch --depth 1 "${mastodonDir}"`)
|
await exec(`git clone ${GIT_URL} "${mastodonDir}"`)
|
||||||
|
await exec(`git checkout ${GIT_TAG}`, { cwd: mastodonDir })
|
||||||
await writeFile(path.join(dir, '../mastodon/.env'), envFile, 'utf8')
|
await writeFile(path.join(dir, '../mastodon/.env'), envFile, 'utf8')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -75,20 +78,28 @@ async function setupMastodonDatabase () {
|
||||||
|
|
||||||
async function runMastodon () {
|
async function runMastodon () {
|
||||||
console.log('Running mastodon...')
|
console.log('Running mastodon...')
|
||||||
|
let env = Object.assign({}, process.env, {
|
||||||
|
RAILS_ENV: 'development',
|
||||||
|
NODE_ENV: 'development',
|
||||||
|
DB_NAME,
|
||||||
|
DB_USER,
|
||||||
|
DB_PASS,
|
||||||
|
DB_HOST,
|
||||||
|
DB_PORT
|
||||||
|
})
|
||||||
|
let cwd = mastodonDir
|
||||||
let cmds = [
|
let cmds = [
|
||||||
'gem install bundler foreman',
|
'gem install bundler foreman',
|
||||||
'bundle install',
|
'bundle install',
|
||||||
|
'bundle exec rails db:migrate',
|
||||||
'yarn --pure-lockfile'
|
'yarn --pure-lockfile'
|
||||||
]
|
]
|
||||||
|
|
||||||
for (let cmd of cmds) {
|
for (let cmd of cmds) {
|
||||||
console.log(cmd)
|
console.log(cmd)
|
||||||
await exec(cmd, {cwd: mastodonDir})
|
await exec(cmd, {cwd, env})
|
||||||
}
|
}
|
||||||
const promise = spawn('foreman', ['start'], {
|
const promise = spawn('foreman', ['start'], {cwd, env})
|
||||||
cwd: mastodonDir,
|
|
||||||
env: Object.assign({}, process.env, {RAILS_ENV: 'development', NODE_ENV: 'development'})
|
|
||||||
})
|
|
||||||
const log = fs.createWriteStream('mastodon.log', {flags: 'a'})
|
const log = fs.createWriteStream('mastodon.log', {flags: 'a'})
|
||||||
childProc = promise.childProcess
|
childProc = promise.childProcess
|
||||||
childProc.stdout.pipe(log)
|
childProc.stdout.pipe(log)
|
||||||
|
|
|
@ -8,8 +8,8 @@ if [[ "$COMMAND" = deploy-dev-travis ]]; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
source "$HOME/.rvm/scripts/rvm"
|
source "$HOME/.rvm/scripts/rvm"
|
||||||
rvm install 2.5.0
|
rvm install 2.5.1
|
||||||
rvm use 2.5.0
|
rvm use 2.5.1
|
||||||
|
|
||||||
sudo -E add-apt-repository -y ppa:mc3man/trusty-media
|
sudo -E add-apt-repository -y ppa:mc3man/trusty-media
|
||||||
sudo -E apt-get update
|
sudo -E apt-get update
|
||||||
|
|
|
@ -44,7 +44,7 @@
|
||||||
"deploy-prod": "run-s stage-prod launch alias-prod cleanup",
|
"deploy-prod": "run-s stage-prod launch alias-prod cleanup",
|
||||||
"deploy-dev": "run-s stage-dev launch alias-dev cleanup",
|
"deploy-dev": "run-s stage-dev launch alias-dev cleanup",
|
||||||
"deploy-dev-travis": "if [ $TRAVIS_BRANCH = master -a $TRAVIS_PULL_REQUEST = false ]; then run-s stage-dev launch-travis alias-dev-travis cleanup-travis; fi",
|
"deploy-dev-travis": "if [ $TRAVIS_BRANCH = master -a $TRAVIS_PULL_REQUEST = false ]; then run-s stage-dev launch-travis alias-dev-travis cleanup-travis; fi",
|
||||||
"backup-mastodon-data": "pg_dump -Fc mastodon_development > fixtures/dump.sql && cd mastodon/public/system && tar -czf ../../../fixtures/system.tgz ."
|
"backup-mastodon-data": "PGPASSWORD=pinafore pg_dump -U pinafore -w mastodon_development > fixtures/dump.sql && cd mastodon/public/system && tar -czf ../../../fixtures/system.tgz ."
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@gamestdio/websocket": "^0.2.5",
|
"@gamestdio/websocket": "^0.2.5",
|
||||||
|
|
Loading…
Reference in New Issue