Get Travis Shield on Github to Reflect Selected Branch Status

前端 未结 2 1935
傲寒
傲寒 2020-12-30 09:43

Right now I can get my travis shield to either reflect the latest run, or a specific branch, irrespective of what branch I select in my github project page. I can do this b

相关标签:
2条回答
  • 2020-12-30 09:58

    This is not a perfect solution, but if you're already knit-ing your README from a README.Rmd, there's no added cost. Basically, you can use a system call in your README.Rmd to dynamically generate the Travis-CI shield based on whatever branch you're working in. It will be up to date and branch-specific as long as you always knit before pushing to GitHub.

    Here's a simple example:

    # Example README.Rmd
    
    Here's a branch specific shield:
    
    ```{r, echo=FALSE, eval=TRUE, results="asis"}
    travis_url <- "https://travis-ci.org/RevolutionAnalytics/miniCRAN.svg?branch="
    shield <- paste0("[![Build Status](",
                     travis_url,
                     system("git rev-parse --abbrev-ref HEAD", intern = TRUE),
                     ")](https://travis-ci.org/RevolutionAnalytics/miniCRAN)")
    cat(shield)
    ```
    

    The result will be like this:

    # Example README.Rmd
    
    Here's a branch specific shield:
    
    [![Build Status](https://travis-ci.org/RevolutionAnalytics/miniCRAN.svg?branch=master)](https://travis-ci.org/RevolutionAnalytics/miniCRAN)
    

    but the URL will point to whatever branch you're currently working on.

    Note: h/t to this answer for the relevant git command to detect the current branch name.

    0 讨论(0)
  • 2020-12-30 10:22

    I make use of Travis build shields for miniCRAN, and the solution is quite simple.

    Note the addition of ?branch=... at the end of each travis shield link.

    Here is an extract from the README.md:

    **Build status**
    
    master: 
    [![Build Status](https://travis-ci.org/andrie/miniCRAN.svg?branch=master)](https://travis-ci.org/andrie/miniCRAN)
    release:
    [![Build Status](https://travis-ci.org/andrie/miniCRAN.svg?branch=release)](https://travis-ci.org/andrie/miniCRAN)
    dev: [![Build Status](https://travis-ci.org/andrie/miniCRAN.svg?branch=dev)](https://travis-ci.org/andrie/miniCRAN)
    

    This results in:

    Build status

    master: release: dev:

    0 讨论(0)
提交回复
热议问题