Get Travis Shield on Github to Reflect Selected Branch Status

前端 未结 2 1947
傲寒
傲寒 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.

提交回复
热议问题