Giter Site home page Giter Site logo

beta-features's Introduction

Beta Features

This repository is used for gathering feedback from users, customers, and various household animals.

You can find a list of Beta Features we are gathering feedback on by clicking on the Issues tab at the top.

Thanks for being awesome!

The Travis Team

beta-features's People

Contributors

backspace avatar joshk avatar mariadeanton avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

beta-features's Issues

Crons : Simple scheduled builds for your repositories

Earlier this year we dark shipped a new feature for running scheduled builds for repositories, which we called Crons.

This feature was developed with the help from some amazing students at HPI University in Potsdam, Germany.

You can find current, and up to date docs for Crons here: https://docs.travis-ci.com/user/cron-jobs/

This feature is going into General Availability on the 6th of December.

Please leave all feedback related to this feature here as comments.

UPDATE: 2017-01-20

I wanted to give a quick update that I'll being going through all the feedback shortly and provide some information on when this will come out of Beta and what improvements we have lined up.

Thank you everyone for your feedback!

UPDATE: 2017-02-02

Thanks a lot for your feedback everyone!

I am adding each of the suggested changes below for votes.

Once we have gathered votes over a few weeks, we will decide which of these can be implemented earliest to be able to get Crons out of Beta.

UPDATE: 2017-03-02
We have started working on fixing and improving some things to move Crons out of Beta, details here.

Thanks

Hello!

This isn’t the place for feature requests or bug reports. If that’s what you’ve come here for, please either visit our public bug tracker or send us an email at [email protected].

Otherwise, go ahead and delete this text 😬

Dashboard: Focus on the Repositories you care most about

When @lislis joined, we started planning an updated UI which would help users focus on the Repositories which they care most about.

This is especially useful for teams which have a growing number of Repositories testing on Travis. Additionally, it brings consistency to our UI when viewing Builds across various screen sizes.

We have further iterations of this feature in planning, but we want to hear from you on what works well, what needs improvement, and what could be removed.

This feature will be available for users to opt-in to from the 28th of February.

Please leave all feedback related to this feature here as comments.

build stage: configuration not intuitive

I can understand how build stage is current designed. It's just not intuitive. the structure suggests that one stage can only contain one script, and if you want more than one scripts in one stage, you need to define a new script following current stage, whilst it should be defined within the stage, isn't it?

would below configuration makes more sense?

job:
  stage:
  - name: stage1
    jobs:
    - script 1
    - script 2
  - name: stage2
    jobs:
    - script 3
    - script 4

[Multiple Jobs] - Show average or max time vs total

Not so much a bug or feature request as more something for discussion. I noticed after switching to multiple jobs. When I look at the build history. The time seemed rather excessive. I thought it was making the builds take longer. Instead its showing a total of all build times combined. Which I guess makes sense as to total build time. But I think it makes more sense for like an average, or to display the max time from any one. Given that they all run together, the actual time is really no longer than the time of the longest one. Or the time to run all stages, which still seems less than time of all combined.

Example history, pretty easy to see without any other information other than build times when I switched to multiple jobs.
https://travis-ci.org/Obsidian-StudiosInc/entrance/builds

I have no preference really either way just feedback. At first I thought something might be off.

Problem with conditional jobs

This is about the beta feature Conditional Builds, Stages, and Jobs.

I have conditional jobs setup in my build matrix like (travis.yml)

matrix:
  include:
  - os: linux
    env: BUILDTYPE=Debug
  - os: linux
    env: BUILDTYPE=Release
    if: (branch = master AND NOT type = pull_request) OR tag IS present

That works fine with what I try to accomplish:

  • run Release type builds for
    • all builds from master branch (but not for PR's against master!)
    • all tagged commits

Problem is that I want to prevent Debug builds for tags in return.
I tried with what the documentation gives me, but it did not work.

All of this if: statements still created a Debug job:

  - os: linux
    env: BUILDTYPE=Debug
    if: tag IS blank
  - os: linux
    env: BUILDTYPE=Debug
    if: tag IS NOT present
  - os: linux
    env: BUILDTYPE=Debug
    if: tag NOT present

Also, using env(TRAVIS_TAG) instead tag didn't help.

Any suggestions? Did I run into an issue/bug?
It's confusing because tag IS present seems to work for my configuration for Release as shown above.

Beta

Hello!

This isn’t the place for feature requests or bug reports. If that’s what you’ve come here for, please either visit the Travis CI community forum or send us an email at [email protected].

Otherwise, go ahead and delete this text 😬

Thank you!

Beta-features

Hello!

This isn’t the place for feature requests or bug reports. If that’s what you’ve come here for, please either visit our public bug tracker or send us an email at [email protected].

Otherwise, go ahead and delete this text 😬

Documentation is misleading

Hi
The doc states the following :
jobs:
include:
- script: ./test 1 # uses the default stage name "test"
- script: ./test 2
- stage: deploy
script: ./deploy target-1
- script: ./deploy target-2

When applying this to my case it was not working. See travis-ci/travis-ci#7846

The error came from a matrix.include usage. The configuration section should mention what are the constraints.

Auto-retry failed builds

Many of our front-end Capybara tests fail randomly but will pass upon retry builds.
Although we will work to improve our tests so this doesn't happen, it would be great if we could have a way to request auto-retry builds n number of times.

Deploy stage broken?

#So I am running Travis-CI with the beta stages feature and its been working well except recently. I made a change to add in that the job that runs our deploys can also work when we run a cron job once a week since it deploys our site which should always be ready to deploy.

So I made the following change (and a follow-up commit just to fix the spacing of course):
acceptbitcoincash/acceptbitcoincash@0d4bf19#diff-354f30a63fb0907d4ad57269548329e3L41

It worked well when I had set up my cron job and I was happy to get the 4-25-2018 tagged docker container that appeared here: https://hub.docker.com/r/acceptbitcoincash/acceptbitcoincash/tags/

Today I went to tag the repository, which under normal circumstances will force a build of the docker container and then a tag of the current date, and deploy to docker hub.

The tag build started but then failed to identify that variable should change. Okay, my fault I thought. So I went ahead and fixed it to force it to go into the path I wanted.

Well, that did not work. Instead, I got the following message with my build:
https://travis-ci.org/acceptbitcoincash/acceptbitcoincash/jobs/373285943#L704

What is not permitted about? My only condition for that deploy to go is that its got that variable changed. That was most certainly the case on my four attempts where I got variations of that message.

Build Stages: Flexible and practical Continuous Delivery pipelines

From simple deployment pipelines, to complex testing groups, the world is your CI and CD oyster with Build Stages.

Build Stages allows you and your team to compose groups of Jobs which are only started once the previous Stage has finished.

You can mix Linux and Mac VMs together, or split them into different Stages. Since each Stage is configurable, there are endless Build pipeline possibilities!

This feature will be available for general beta testing soon... watch this space 😄

We love to hear feedback, it's the best way for us to improve and shape Travis CI. Please leave all thoughts/comments/ideas related to this feature here.

Happy Testing!

Star and follow other people's Repositories

Is would be interesting if we could star other people's repositories in order to follow builds of repositories I care about on a single Dashboard, instead of having to navigate to other people's pages

Use of Build Stages, Extra Python Job

When using Build Stages, given the following config:

sudo: false
language: python
python:
 - 2.7
 - 3.4
 - 3.5
 - 3.6
 - pypy
 - pypy3
install:
 - pip install awscli
 - pip install -r requires/testing.txt
 - python setup.py develop
stages:
 - test
 - name: upload_coverage
   if: branch = master
 - name: deploy
   if: tag IS present
script: nosetests
jobs:
  include:
   - stage: test
     services:
     - postgres
     script: nosetests

For the test stage there are 2 jobs created for Python 2.7. So for stage "Test" I will see:

  • 2.7
  • 3.4
  • 3.5
  • 3.6
  • pypy
  • pypy3
  • 2.7

You can see this in two different projects:

S

Hello!

This isn’t the place for feature requests or bug reports. If that’s what you’ve come here for, please either visit our public bug tracker or send us an email at [email protected].

Otherwise, go ahead and delete this text 😬

I'm not convinced that the custom boolean language with the new stage feature is needed.

I've been testing out stages and overall, it's a fantastic addition to the platform. That being said, the new boolean language for specifying stage conditions feels a bit awkward. I've been battling the syntax and banging my head for a few hours just to implement simple conditional statements.

For example:
With environment variables, do I use env(VAR) or env.global(VAR) or "$VAR"??? How do I test if an environment variable is unset? Compare it with "", use "IS present"? Do something else?
What regex syntax is supported? Is it Perl5?

It might be easier to just allow bash/shell statements in conditions the same way you can with the on: tag https://docs.travis-ci.com/user/deployment#Conditional-Releases-with-on%3A.

Regardless, it feels inconsistent having two ways to define conditions in .travis.yml.

Hanging Build since > 11h

Hi,

at the moment i have a "hanging", but faild stage build since ca 11h, look

it is ok that the Development Stage faild, because some test faild, 34.1 and 34.2 !

The next Stage (#34.3) was skipped ... like the Stage Build shout work, but the Last stage 34.4 are are executed ... i thinking that is a Error.

the build are not cancelled after #37 runned.

the bug has no impact for me ... all other builds run fine !!!

thanks for the nice Service !

i don't know why,but travis always build error with a log "An error occurred while generating the build script."

this can not see any thing,and my .travis.yml is succeed in http://lint.travis-ci.org/,I don't know what happend. Here is my cofig:

language: android

sudo: false

notifications:
  email: false

jdk:
  - oraclejdk8
  
android:
  components:
        -build-tools-25.0.2
        -android-25

        - extra-android-m2repository
        - extra-android-support

        - platform-tools
        - tools

        - add-on
        - extra

before_install:     
 - chmod +x gradlew

script:
     - ./gradlew assembleRelease

Use of Build Stages and missing top-level stanzas

It appears that if I have a config as such using build stages:

sudo: false
language: python
python:
 - 2.7
 - 3.4
 - 3.5
 - 3.6
 - pypy
 - pypy3
stages:
 - test
 - name: upload_coverage
   if: branch = master
 - name: deploy
   if: tag IS present
jobs:
  include:
   - stage: test
     install:
      - pip install awscli
      - pip install -r requires/testing.txt
      - python setup.py develop
     services:
      - postgres
     script: nosetests
     after_success:
       - aws s3 cp ...
   - stage: upload coverage
     python: 3.6
     install:
     - pip install awscli coverage codecov
     script:
      - echo "Hello"
     after_success: codecov
   - stage: deploy
     python: 3.6
     deploy:
       distributions: sdist bdist_wheel

That no action will be taken as part of the install, script, or after_success steps unless the top-level install`, script, and after_success`` stanzas are defined.

My expectation was that by defining them under the job stanzas it would work but my guess is there's per-job munging that occurs between the top level value and the values in the list and if there is no top level entry for that stanza it is ignored.

API V3 : A complete reimagining of what the Travis CI API should be

After many months of amazing work by the entire Travis team, we're super excited to announce the release of the Travis CI API Version 3!

Central to this release is an improved and modernized API experience, with faster response times, and a dramatically cleaner code base.

As our UI is based on Ember, and as such is a rich javascript codebase, so a great API is even more important to us!

Some of the topics we focused on during development were:

  • an API that was functional and well structured
  • standardized formats and RESTful endpoints
  • responses that are discoverable and self-documenting
  • consistent and informative error messages
  • all the hypermedia features expected from a modern API

We could go on for pages about why we love this API so much, but why not try it out for yourself! You can head over to our documentation for more information, or read our Blog post announcement which has more information about our API explorer.

Please leave all feedback as comments here, or if you run into a bug, please report it to our support team.

[Multiple jobs] - Lost apt installed packages despite cache: apt: true

Please excuse if I am off here or have something misconfigured. I recently switched an overlay to using jobs/stages. All was going well till a new stage, or separate group of stages. The previous apt installed packages were no longer present or the prepared env. Despite having cache: apt: true

You can see the resulting build output here. It failed on the Coverity stage as pip was not installed. I had installed that via the new beta apt integration.

I assumed since I had cache: apt: true, that it would retain anything installed via apt for all jobs/stages. That maybe just keeping apt package cache up to date, vs syncing for each stage not sure. I ended up reverting to old means to install stuff via install.

I noticed another essentially duplicating the packages install section for other job groups. Which I find to be less than ideal. It requires duplication and if you change a package in one and forget or miss the other issues. The legacy install approach uses the same section for all. Though I believe it does install more than once stuff, so is less efficient.

search for pagination

Hello!

Is that right place to tell you about user experience?

After pagination you introduce in Account page, it's hard to find needed project to enable it build. I have a lot of repositories (200+) and for me it's very inconvenient

Before, my flow was next: I just synced repositories with my github account and using command+F was able to quickly find target repo and toggling ON/OFF button, but now is not possible. Right now I see only one useful way to do that: type manually repository travis uri: /$account-name/$repository-name and activate build here

Conditional build stages and job pruning

I'm trying to improve CI performance by pruning jobs.

Consider a situation where I have 30 jobs (5 php versions, 6 modules that need testing).
Based on the project setup I'm sure that if changes are limited to 1 module there is no need to test the other 5 modules.
I can easily identify what changes have been made (git diff --name-only ...).

I'd like to be able to run a prune stage that executes my code, then based on the outcome (re)evaluates job conditions.
My pruning stages could for example set environment variables, but the issue is that at that point the jobs have already been created / scheduled.

Currently the only solution is to do this check before each job, which is a small optimization but still requires Travis to prep VMs and clone the repository for each job...

Stage ignore script command

Hi,
I have the following stage:
language:
java

jdk:

  • oraclejdk8

jobs:
include:
- stage: test
script: ./runmvnprofile.sh gw4e-eclipse-plugin-tests
script: ./runmvnprofile.sh gw4e-eclipse-plugin-ui-tests
script: ./runmvnprofile.sh gw4e-eclipse-studio-tests
script: ./runmvnprofile.sh gw4e-eclipse-studio-ui-tests

The runmvnprofile.sh is as follows
#!/bin/bash

if [ "$1" != "" ]; then
mvn clean install -P$1
else
echo "Profile parameter is missing"
fi

Unfortunately the stages are not taken into account. The shell script is not called instead mvn command are executed mvn test -B
I dont know where these commands came from.

Any idea of how can I launch shell in parallel ?

Thanks.

explicit matrix for stages

I would like to do something like the following where the prepare stage runs with default setting, and the test stage runs with a matrix of explicitly specified configurations. this doesn't work, but i'm not sure how to achieve what i'm looking for. thanks.

  include:
    - stage: prepare
      script:
        - echo "prepare"
    - stage: test
      matrix:
        include:
          - os: linux
            compiler: gcc
          - os: linux
            env: DOCKER_IMAGE=centos:7
          - os: linux
            env: DOCKER_IMAGE=fedora:25
          - os: linux
            env: DOCKER_IMAGE=fedora:24
      script:
        - echo "test with ${DOCKER_IMAGE}"

Auto Cancellation : Get faster results by only testing your most recent build

It's not uncommon to have your waiting builds queue grow, especially if your team is pushing new code to GitHub every few minutes.

With Auto Cancellation, you can enable Travis to cancel waiting and outdated builds when new builds flow in from GitHub.

This setting can be enabled for Branch and Pull Request builds separately.

Builds will only be canceled if they are waiting to run, allowing for any running jobs to finish.

You can find this new setting on the Repository settings page.

This feature was released for beta testing soon on the 22nd of March. You can find the blog post announcement here: https://blog.travis-ci.com/2017-03-22-introducing-auto-cancellation

Please Note: We are looking at adding the ability to also cancel running jobs. If this is of interest to you and your team, please add the 🎉 emoji to this issue 😄

Build Stages Part 2: Stages Order and Conditions

We have shipped iteration 2 for the Build Stages feature.

Along with a lot of bug fixes and small improvements this includes:

  • Build Stages section: Define the order of stages, optionally with a condition
  • Conditional builds, stages, jobs: Define conditions for accepting/rejecting a given build, stage, or job

Find out more about this on our blog, and documentation here and here.

We would love to hear your feedback. Please leave all thoughts, comments, ideas related to this feature here.

Happy Testing!

FAQ

What feature requests have you received for improving Build Stages so far?

We are adding this list of feature requests (with a rough indication of how likely we are going to prioritize it) so you don't have to ask about these again :)

  • Pausing a build after a given stage, and proceeding only after an interactive confirmation. (Yes)
  • Add a native build artifacts feature that can be used for sharing artifacts across stages, or another way to more easily share storage or artifacts. (Yes)
  • Making the native cache feature more configurable by specifying cache keys per job. This would allow you to reuse caches in more flexible ways in subsequent stages. (Probably yes)
  • Allow script etc. on the new stages section, so they can be shared across all jobs in one stage. (Yes, but not before [1])
  • Allow specifying allow_failure: true per job on jobs.include. (Probably yes, but not before [1].)
  • Allow a stage key on the deploy section. Turn this into a stage and a job. (Not quite sure, not before [1].)
  • Add a name/description to jobs, in order to reveal the intend, show them in the UI. (Not quite sure.)
  • Consider skip: all, so one does not have to overwrite before_install, install, and script. (Sounds like a good idea? Not before [1])
  • Silence skipped commands: no log output. (Not quite sure.)
  • Consider "embedded matrix expansion", e.g. jobs.include.env: [FOO=foo, BAR=bar]. (Not quite sure)
  • Build config .travis.yml editor/web tool. (Yes, based on the specification produced in [1])
  • Allow grouping jobs into arbitrary groups, not depending on each other, like stages, just for visual presentation on the UI. (Probably not)
  • Update the GitHub commit status per stage, add with more detailed commit status information. (Unsure, definitely not before [2])
  • Consider automatically restarting jobs in later stages that have been canceled because a job on a previous stage failed when this job is restarted. (So far uncertain. There's a lot of complexity involved.)
  • In the running tab, consider grouping jobs per build (and possibly stage). (Interesting thought. We are working on improving this UI, and might consider this in a later iteration.)

Other improvements:

  • [1] A strict travis-yml parser has been shipped.
  • [2] The GitHub commit status API has the known limitation that new updates are being rejected after the 1000th update. They are working on improving this, and providing a way for us to post more updates. Until this is unblocked we are unlikely to make any changes to our commit status updates.

Php projects build under versions 7.0 and 7.1

I've decided to write this bug here as this is beta feature issue:

I try to build my project under php versions 7.0 and 7.1 but this how build looks like

image

So it's running tests for 7.0 twice but never doing build for php 7.1

My .travis.yml

sudo: true
language: php
php:
  - '7.0'
  - '7.1'

before_script:
  - sudo add-apt-repository ppa:ondrej/php -y
  - sudo apt-get update -yy
  - sudo apt-get install -y php-bcmath
  - composer install -o -q

jobs:
  include:
    - stage: build
      install:
        - composer require edgedesign/phpqa --update-no-dev --no-progress -q
      script:
        - ./vendor/bin/phpqa --analyzedDirs src --report --buildDir ./docs --tools phpcs:0,phpmd,phpcpd:0,phpmetrics:0,phploc,pdepend
    - stage: test
      script:
        - phpunit

Crons: Build every hours

I use one of my cronjobs for reinstalling a CMS demo from a master branch each day - it would be awesome to build the demo every hour. Other people may need this to refresh a dev or stage environment.

Please add a UI workflow to export travis.yml

I am trying to export travis.yml to see what the web UI added as the daily cron job. Though I used the web UI to enable the cron job, we use travis.yml because its easier to manage. Additionally, other can use the travis.yml we supply with the project (in contrast to my web UI settings , which no one gets to see or utilize).

Appveyor had a similar request at Export YML from project configuration. It was well received by the devs, and it serves the community well. Additionally, Appveyor allows one to validate the YML file before committing changes to it.

My apologies if the feature is already present. I'm in the repo's settings, and I only see four headings (General, Auto Cancellation, Environment Variables, Cron Jobs). I also don't see a discussion of the YML in Cron Jobs.

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.