Skip to content
This repository has been archived by the owner on May 24, 2021. It is now read-only.

Commit

Permalink
Merge branch 'release/4.1.0'
Browse files Browse the repository at this point in the history
* release/4.1.0: (100 commits)
  chore(package): Updates package version
  chore(build): Minify CSS
  fix(package): update @podlove/html5-audio-driver to version 1.2.0
  chore(package): update babel-plugin-lodash to version 3.3.3
  chore(package): update webpack to version 4.11.1
  chore(package): update sinon to version 5.1.0
  chore(package): update sass-loader to version 7.0.3
  chore(integration-tests): Upgrades cypress
  fix(embedding): Parses URL parameters also in embed mode
  fix(bundling): Extracts vendor and styles
  chore(package): update webpack-cli to version 3.0.2
  chore(package): update nyc to version 12.0.2
  chore(package): update vue-loader to version 15.2.4
  fix(package): update vue-i18n to version 7.8.0
  feat(accessibility): Improves accessibility
  chore(package): update nyc to version 12.0.1
  fix(package): update detect-browser to version 2.5.1
  chore(package): update webpack to version 4.10.2
  chore(package): update standard-changelog to version 2.0.0
  chore(package): update webpack to version 4.10.0
  ...
  • Loading branch information
alexander-heimbuch committed Jun 7, 2018
2 parents 82719eb + f339e99 commit 0953801
Show file tree
Hide file tree
Showing 106 changed files with 5,912 additions and 1,867 deletions.
3 changes: 2 additions & 1 deletion .babelrc
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@
"plugins": [
"lodash",
"transform-object-rest-spread",
"es6-promise"
"es6-promise",
"syntax-dynamic-import"
],
"env": {
"AVA": {
Expand Down
376 changes: 376 additions & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,376 @@
version: 2

aliases:
- &setup-artifacts
name: Initial Setup
command: |
mkdir -p ~/podlove-web-player
# yarn helpers
- &yarn-restore-cache
name: Restore Yarn Artifact Cache
keys:
- v1-yarn-{{ arch }}-{{ checksum "package.json" }}
- v1-yarn-{{ arch }}-

- &yarn-save-cache
name: Save Yarn Artifact Cache
paths:
- node_modules
- ~/.cache/yarn
key: v1-yarn-{{ arch }}-{{ checksum "package.json" }}

- &yarn
|
yarn install --non-interactive --cache-folder ~/.cache/yarn

# bundler helpers
- &bundler-restore-cache
name: Restore Bundler Artifact Cache
keys:
- v3-bundler-{{ checksum "docs/Gemfile.lock" }}
- v3-bundler-

- &bundler-save-cache
name: Save Bundler Artifact Cache
paths:
- vendor/bundle
key: v3-bundler-{{ checksum "docs/Gemfile.lock" }}

defaults: &defaults
working_directory: ~/podlove-web-player

defaults-js: &defaults-js
<<: *defaults
docker:
- image: circleci/node:8
environment:
- PATH: "/opt/yarn/yarn-v1.5.1/bin:/home/circleci/.yarn/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

defaults-ruby: &defaults-ruby
<<: *defaults
docker:
- image: circleci/ruby:2

defaults-cypress: &defaults-cypress
<<: *defaults
docker:
- image: cypress/base:8
environment:
- TERM: xterm
- PATH: "/opt/yarn/yarn-v1.5.1/bin:/home/circleci/.yarn/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

jobs:
checkout:
<<: *defaults-js
name: Checkout Project
steps:
- checkout
- run: *setup-artifacts
- persist_to_workspace:
root: .
paths: .

install:
<<: *defaults-js
name: Install Project Dependencies
steps:
- attach_workspace:
at: ~/podlove-web-player
- restore-cache: *yarn-restore-cache
- run: node --version
- run: npm --version
- run: yarn --version
- run: yarn global add greenkeeper-lockfile@1
- run: greenkeeper-lockfile-update
- run: *yarn
- save-cache: *yarn-save-cache
- persist_to_workspace:
root: .
paths: .

docs-dev:
<<: *defaults-ruby
name: Generating Documentation
steps:
- attach_workspace:
at: ~/podlove-web-player
- restore-cache: *bundler-restore-cache

- run: cd docs && bundle install
- run: jekyll build --source docs --destination dist
- run: cp -R docs/fixtures/* dist/fixtures

- save-cache: *bundler-save-cache
- persist_to_workspace:
root: .
paths: .

docs-prod:
<<: *defaults-ruby
name: Generating Documentation
steps:
- attach_workspace:
at: ~/podlove-web-player
- restore-cache: *bundler-restore-cache
- run: cd docs && bundle install
- run: jekyll build --source docs --destination dist --config docs/_config_prd.yml
- run: cp -R docs/fixtures/* dist/fixtures
- save-cache: *bundler-save-cache
- persist_to_workspace:
root: .
paths: .

build-dev:
<<: *defaults-js
name: Building Project
steps:
- attach_workspace:
at: ~/podlove-web-player
- run: yarn build
- persist_to_workspace:
root: .
paths: .

build-prod:
<<: *defaults-js
name: Building Project
steps:
- attach_workspace:
at: ~/podlove-web-player
- run: yarn build
- persist_to_workspace:
root: .
paths: .

test-lint:
<<: *defaults-js
name: Linting Project
steps:
- attach_workspace:
at: ~/podlove-web-player
- run: yarn lint:ci
- store_test_results:
path: reports
- store_artifacts:
path: reports

test-unit:
<<: *defaults-js
name: Unit Tests
steps:
- attach_workspace:
at: ~/podlove-web-player
- run: yarn test
- run: bash <(curl -s https://codecov.io/bash)
- store_test_results:
path: reports
- store_artifacts:
path: coverage/lcov-report

test-build:
<<: *defaults-js
name: Unit Tests
steps:
- attach_workspace:
at: ~/podlove-web-player
- run: yarn build

test-integration:
<<: *defaults-cypress
name: Integration Tests
steps:
- attach_workspace:
at: ~/podlove-web-player
- run: yarn test:integration
- store_test_results:
path: reports
- store_artifacts:
path: cypress/videos
- store_artifacts:
path: cypress/screenshots

greenkeeper:
<<: *defaults-js
name: Updating Greenkeeper Lockfile
steps:
- attach_workspace:
at: ~/podlove-web-player
- restore-cache: *yarn-restore-cache
- run: yarn global add greenkeeper-lockfile@1
- run: greenkeeper-lockfile-upload

deploy-preview:
<<: *defaults-js
name: Deploying Surge.sh Preview
steps:
- attach_workspace:
at: ~/podlove-web-player
- restore-cache: *yarn-restore-cache
- run: yarn global add surge-preview
- run: surge-preview

deploy-staging:
<<: *defaults-js
name: Deploying to podlove-player.surge.sh
steps:
- attach_workspace:
at: ~/podlove-web-player
- restore-cache: *yarn-restore-cache
- run: yarn deploy:surge

deploy-production:
<<: *defaults-js
name: Deploying to docs.podlove.org/podlove-web-player
steps:
- attach_workspace:
at: ~/podlove-web-player
- restore-cache: *yarn-restore-cache
- run: yarn deploy:gh-pages

publish-npm:
<<: *defaults-js
name: Publish npm package
steps:
- attach_workspace:
at: ~/podlove-web-player
- restore-cache: *yarn-restore-cache
- run: echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" >> ~/.npmrc
- run: yarn dist:clean
- run: yarn build
- run: npm publish

publish-cdn:
<<: *defaults-js
name: Publish to cdn.podlove.org
steps:
- attach_workspace:
at: ~/podlove-web-player
- restore-cache: *yarn-restore-cache
- run: yarn dist:clean
- run: BASE="//cdn.podlove.org/web-player/" yarn build
- run: yarn deploy:cdn

workflows:
version: 2

testing:
jobs:
- checkout
- install:
requires:
- checkout

# Tests
- test-lint:
requires:
- install
- test-unit:
requires:
- install
- test-build:
requires:
- install
- test-integration:
requires:
- install

# Preview/Staging/Production Documentation Deployment
- docs-dev:
requires:
- install
- test-lint
- test-unit
- test-integration
- test-build
filters:
branches:
only:
- /^(?!pull\/).*$/
- development
ignore: master
- docs-prod:
requires:
- test-lint
- test-unit
- test-integration
- test-build
filters:
branches:
only: master
- build-dev:
requires:
- docs-dev
filters:
branches:
only: /^(?!pull\/).*$/
ignore: master
- build-prod:
requires:
- docs-prod
filters:
branches:
only: master
# Deploy to a commit hash prefixed surge env
- deploy-preview:
requires:
- build-dev
filters:
branches:
only: /^(?!pull\/).*$/
ignore:
- development
- master
# Deploy to podlove.surge.sh
- deploy-staging:
requires:
- build-dev
filters:
branches:
only: developent
# Deploy to podlove.org/podlove-web-player
- deploy-production:
requires:
- build-prod
filters:
branches:
only: master

# Greenkeeper
- greenkeeper:
requires:
- install
- test-lint
- test-unit
- test-integration
- test-build
filters:
branches:
only: /^greenkeeper/.*$/

# Publishing
- publish-npm:
requires:
- test-lint
- test-unit
- test-integration
- test-build
filters:
branches:
only:
- master
tags:
only: /v.*/

- publish-cdn:
requires:
- test-lint
- test-unit
- test-integration
- test-build
filters:
branches:
only:
- master
tags:
only: /v.*/
Loading

0 comments on commit 0953801

Please sign in to comment.