forked from codevise/pageflow
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.travis.yml
More file actions
155 lines (130 loc) · 5.64 KB
/
.travis.yml
File metadata and controls
155 lines (130 loc) · 5.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
dist: xenial
cache:
bundler: true
directories:
- node_modules
services:
- redis-server
- mysql
notifications:
webhooks: https://coveralls.io/webhook?service_name=travis-ci
addons:
chrome: stable
_ruby_job: &ruby_job
language: ruby
before_install:
- nvm install v10.17.0
- gem update bundler
_pageflow_ruby_job: &pageflow_ruby_job
<<: *ruby_job
rvm: 2.3.1
before_script:
- yarn install
- bin/build-packages
- bin/rake pageflow:dummy
- WEBPACKER_PRECOMPILE=false bin/rake app:assets:precompile
script: bin/rspec
jobs:
include:
- name: RSpec - pageflow (Ruby 2.3)
<<: *pageflow_ruby_job
rvm: 2.3.1
env:
- COVERALLS_PARALLEL=true
- name: RSpec - pageflow (Ruby 2.6)
<<: *pageflow_ruby_job
rvm: 2.6.5
env:
- COVERALLS_PARALLEL=true
- name: RSpec - pageflow-paged
<<: *ruby_job
before_script:
- yarn install
- bin/build-packages
script: (cd entry_types/paged; bin/rspec)
- name: RSpec - pageflow-scrolled (non-js)
<<: *ruby_job
before_script:
- yarn install
- bin/build-packages
- (cd entry_types/scrolled; PAGEFLOW_PLUGIN_ENGINE=pageflow_scrolled bundle exec rake pageflow_scrolled:dummy)
- (cd entry_types/scrolled; WEBPACKER_PRECOMPILE=false bundle exec rake app:assets:precompile)
script: (cd entry_types/scrolled; bin/rspec --tag ~js)
- name: RSpec - pageflow-scrolled (js)
<<: *ruby_job
before_script:
- yarn install
- bin/build-packages
- (cd entry_types/scrolled; PAGEFLOW_PLUGIN_ENGINE=pageflow_scrolled bundle exec rake pageflow_scrolled:dummy)
- (cd entry_types/scrolled; WEBPACKER_PRECOMPILE=false bundle exec rake app:assets:precompile)
# See REDMINE-17430
# Running only the js specs should not take more than 20 seconds.
# If Chrome Driver hangs, the timeout command will exit with 137.
# Retry or else exit with original exit status of rspec command.
script: (cd entry_types/scrolled; for i in {1..10}; do timeout --signal=KILL 30 bin/rspec --tag js; e=$?; [[ $e -gt 100 ]] && echo Timeout || exit $e; done; exit 1)
- name: Jest
language: node_js
node_js: 10.17.0
install:
- yarn install
- (cd entry_types/paged/packages/pageflow-paged-react; yarn install)
before_script: yarn run build
script:
- (cd package; yarn test)
- (cd entry_types/paged/packages/pageflow-paged-react; yarn test)
- (cd entry_types/paged/packages/pageflow-paged; yarn test)
- (cd entry_types/scrolled/package; yarn test)
- name: Percy/Storybook - pageflow-scrolled
<<: *ruby_job
before_script:
- |
export ON_UPSTREAM=$([[ "$TRAVIS_PULL_REQUEST" == "false" && \
"$TRAVIS_REPO_SLUG" == "codevise/pageflow" ]] &&
echo "true" || echo "false")
if [[ "$TRAVIS_PULL_REQUEST" == "false" && "$ON_UPSTREAM" == "false" ]]; then
echo "Stopping job: Neither upstream nor PR."
travis_terminate 0
fi
if [[ "$TRAVIS_PULL_REQUEST" != "false" ]]; then
COMMIT_RANGE="$TRAVIS_BRANCH..HEAD"
git diff --name-only $COMMIT_RANGE | grep -qE '^entry_types/scrolled/package/src/' || {
echo "Stopping job: No changes to pageflow-scrolled package."
travis_terminate 0
}
fi
- yarn install
- (cd entry_types/scrolled; PAGEFLOW_PLUGIN_ENGINE=pageflow_scrolled bundle exec rake pageflow_scrolled:dummy)
script:
- |
export PAGEFLOW_PAPERCLIP_S3_ROOT=$([[ $ON_UPSTREAM == "true" ]] &&
echo "$TRAVIS_BRANCH" || echo "master")
export PAGEFLOW_SCROLLED_DB_SEED_SKIP_FILES=$([[ $ON_UPSTREAM == "true" ]] &&
echo "false" || echo "true")
export S3_BUCKET=de-codevise-pageflow-storybook-seed
export S3_ACCESS_KEY=$STORYBOOK_SEED_S3_ACCESS_KEY
export S3_SECRET_KEY=$STORYBOOK_SEED_S3_SECRET_KEY
export S3_HOST_NAME=s3-eu-west-1.amazonaws.com
export S3_REGION=eu-west-1
export S3_HOST_ALIAS=de-codevise-pageflow-storybook-seed.s3-eu-west-1.amazonaws.com
export S3_PROTOCOL=https
export PAGEFLOW_SKIP_ENCODING_STORYBOOK_FILES=true
export S3_OUTPUT_HOST_ALIAS=de-codevise-pageflow-storybook-seed.s3-eu-west-1.amazonaws.com
export PT=b55731926f7bcb9344a0b3ff662613954a4137d3c21c1be748e9929823f19b08
- (cd entry_types/scrolled; bundle exec rake pageflow_scrolled:storybook:seed:setup[package/.storybook/seed.json]) || travis_terminate 1
- (cd entry_types/scrolled/package; yarn run snapshot) || travis_terminate 1
- |
# Publish storybook to GitHub pages.
[[ $ON_UPSTREAM == "true" ]] || travis_terminate 0
cp -r entry_types/scrolled/package/.storybook/out $HOME/dist
git config --global user.email "travis@travis-ci.org"
git config --global user.name "Travis"
git clone --quiet https://${CODEVISE_BOT_PERSONAL_TOKEN}@github.com/codevise/pageflow-scrolled-storybook.git gh-pages > /dev/null
cd gh-pages
# Create directory for branch or tag. Remove old files if
# there already was a published storybook for this branch.
rm -rf $TRAVIS_BRANCH
mkdir $TRAVIS_BRANCH
cp -r $HOME/dist/* $TRAVIS_BRANCH
git add -f .
git commit -m "Travis build $TRAVIS_BUILD_NUMBER"
git push -fq origin master > /dev/null