Coder Social home page Coder Social logo

ur5us / travis-web Goto Github PK

View Code? Open in Web Editor NEW

This project forked from travis-ci/travis-web

0.0 2.0 0.0 85.27 MB

The Ember web client for Travis CI

Home Page: https://travis-ci.org/

License: MIT License

JavaScript 53.01% Ruby 1.68% HTML 12.45% CSS 32.63% Shell 0.23%

travis-web's Introduction

Travis CI ember web client

Build Status

Running the app

The app is developed using Ember CLI. It requires nodejs with npm installed.

In order to run the app you need to install dependencies with:

bower install
npm install

Now you can run the server:

ember serve

And open http://localhost:4200 in the browser.

Alternatively you can run ember build --watch and start the server with waiter/script/server

Waiter Workarounds

Should you encounter issues installing Puma while bundling Waiter on a recent OSX version, you need to tinker with Homebrew:

brew install openssl
brew link --force openssl

You should then be able to run bundle install as usual.

Running the app in private repos mode

At the moment Travis CI is available as two separate sites - https://travis-ci.org for Open Source projects and https://travis-ci.com for private projects. travis-web will connect to the Open Source version by default. In order to connect it to the API for private projects you need to run:

TRAVIS_PRO=true ember serve --ssl --ssl-key=ssl/server.key --ssl-cert=ssl/server.crt

One caveat here is that the command will start server with SSL, so the page will be accessible at https://localhost:4200 (note https part).

Running on SSL in general

Sometimes there is a need to test the app with an SSL connection. This is required to make Pusher work when running Travis CI Pro, but it may also be needed in other situations.

There's already an SSL certificate in the ssl directory, which is set for localhost host. If you want to use it, you can start the server with:

ember serve --ssl --ssl-key=ssl/server.key --ssl-cert=ssl/server.crt

In case you want your own certificate, you can follow the instructions posted here: https://gist.github.com/trcarden/3295935 and then point the server to your certificate with --ssl-key and --ssl-cert.

Running tests

To run the test suite execute:

ember test

You can also start an interactive test runner for easier development:

ember test --serve

Feature Flags

travis-web is beginning the transition to use feature flags wherever it makes sense. To enable/disable/add/remove a feature flag for the application, you can edit the config/environment.js file. For instance, to enable some-feature, you would simply add/update the file like so:

  {
    featureFlags: {
      'some-feature': true
    }
  }

This uses the awesome ember-feature-flags addon under the hood, so be sure to read its own documentation for more information.

Debugging

Ember's default logging has been disabled in all environments by default and moved to a feature flag. To enable it, simply edit the debug-logging feature flag as mentioned previously in the Feature Flags section.

Updating the team page

The team information can be found in app/routes/team.js. To add another member just add the info in the same style as the previous ones. Like so

{
  name: 'Mr T'
  title: 'Mascot'
  handle: 'travisci'
  nationality: 'internet'
  country: 'internet'
  image: 'mrt'
}

The order of value pairs does not matter, the quotation marks do. Name and title will be displayed as they are. The handle will be used to generate a link to Twitter and displayed with a '@' in front of it. Nationality and country determine the flags. Please use the name of the country and not the adjective (like 'germany' and NOT 'german'). Image is the identifier to find the right image and animated gif. 'mrt' in the example will result in team-mrt.png and mrt-animated.gif. Add the images themselves to public/images/team/ and additional flags to public/images/pro-landing/. Mind the naming conventions already in place.

For special cases where the “is from” or “lives in” sentence forms don’t make sense, such as “ukswitzerland”, you can override the output in app/components/team-member.js. If you need to style a flag, it has an attached class; look in app/pages/team.sass for examples. You can use countryAlias to override the displayed flag with another, such as with occupiedcanada becoming canada with a CSS transform applied to invert it.

Deploying

ember-cli-deploy is available for deploying pull requests. See after_success in .travis.yaml and associated scripts for details. It uses the “lightning strategy” of deploying assets to S3 and index.html to a Redis server. You can deploy from your own machine too:

AWS_KEY=key AWS_SECRET=secret ORG_PRODUCTION_REDIS_URL=redis TRAVIS_PULL_REQUEST_BRANCH=branch \
ember deploy org-production-pull-request --activate

After success, your deployment will be available at branch.test-deployments.travis-ci.org.

See the documentation for the full list of deployment environments and more details.

The Redis server is a modified version of waiter/lib/travis/web/app.rb. We will eventually replace that with travis-web-index and move to using ember-cli-deploy for all deployments.

Ember beta and canary deployments

Upon a merge to master, the application is built with the latest beta and canary versions of Ember, running against the production API. This uses the same infrastructure as the pull request deployments. You can visit these deployments at:

These deployments are also performed with the weekly cron build.

travis-web's People

Contributors

drogus avatar lislis avatar svenfuchs avatar clekstro avatar backspace avatar roidrage avatar ctrlaltjustine avatar rkh avatar greenkeeperio-bot avatar banzaiman avatar joshk avatar sarahhodne avatar randym avatar rwjblue avatar gusaiani avatar simi avatar igorwwwwwwwwwwwwwwwwwwww avatar dmathieu avatar carlad avatar meatballhat avatar nschonni avatar tay avatar cotsog avatar thriqon avatar mariadeanton avatar kl-7 avatar lukesarnacki avatar 0xcaff avatar locks avatar nef10 avatar

Watchers

Juri Hahn avatar James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.