starters icon indicating copy to clipboard operation
starters copied to clipboard

Error: Conflict (HTTP 409). Failed to activate repo on Travis CI

Open moldach opened this issue 4 years ago • 6 comments

I'm getting an error from the default create_package_project():

library(starters)
> create_package_project(name = "networkanalyst", title = "A visual analytics platform for comprehensive gene expression profiling & meta-analysis")
✔ Creating '/home/tsundoku/RProjects/networkanalyst/'
✔ Setting active project to '/home/tsundoku/RProjects/networkanalyst'
✔ Creating 'R/'
✔ Writing 'DESCRIPTION'
Package: networkanalyst
Title: What the Package Does (One Line, Title Case)
Version: 0.0.0.9000
Authors@R (parsed):
    * Matthew Oldach <[email protected]> [aut, cre]
Description: What the package does (one paragraph).
License: MIT + file LICENSE
Encoding: UTF-8
Language: es
LazyData: true
✔ Writing 'NAMESPACE'
✔ Writing 'networkanalyst.Rproj'
✔ Adding '.Rproj.user' to '.gitignore'
✔ Adding '^networkanalyst\\.Rproj$', '^\\.Rproj\\.user$' to '.Rbuildignore'
✔ Setting active project to '<no active project>'
✔ Setting active project to '/home/tsundoku/RProjects/networkanalyst'
✔ Writing 'CODE_OF_CONDUCT.md'
✔ Adding '^CODE_OF_CONDUCT\\.md$' to '.Rbuildignore'
● Don't forget to describe the code of conduct in your README:
  Please note that the 'networkanalyst' project is released with a
  [Contributor Code of Conduct](CODE_OF_CONDUCT.md).
  By contributing to this project, you agree to abide by its terms.
  [Copied to clipboard]
✔ Writing 'LICENSE.md'
✔ Adding '^LICENSE\\.md$' to '.Rbuildignore'
✔ Writing 'LICENSE'
✔ Writing 'R/networkanalyst-package.R'
✔ Writing 'README.Rmd'
✔ Adding '^README\\.Rmd$' to '.Rbuildignore'
✔ Adding Project Status: WIP - Initial development is in progress, but there has not yet been a stable, usable release suitable for the public. badge to 'README.Rmd'
● Re-knit 'README.Rmd'
✔ Adding 'testthat' to Suggests field in DESCRIPTION
✔ Creating 'tests/testthat/'
✔ Writing 'tests/testthat.R'
● Call `use_test()` to initialize a basic test file and open it for editing.
✔ Adding 'knitr' to Suggests field in DESCRIPTION
✔ Setting VignetteBuilder field in DESCRIPTION to 'knitr'
✔ Adding 'inst/doc' to '.gitignore'
✔ Creating 'vignettes/'
✔ Adding '*.html', '*.R' to 'vignettes/.gitignore'
✔ Adding 'rmarkdown' to Suggests field in DESCRIPTION
✔ Writing 'vignettes/networkanalyst.Rmd'
● Modify 'vignettes/networkanalyst.Rmd'
✔ Initialising Git repo
✔ Adding '.Rhistory', '.RData' to '.gitignore'
There are 12 uncommitted files:
* '.gitignore'
* '.Rbuildignore'
* 'CODE_OF_CONDUCT.md'
* 'DESCRIPTION'
* 'LICENSE'
* 'LICENSE.md'
* 'NAMESPACE'
* 'networkanalyst.Rproj'
* 'R/'
* 'README.Rmd'
* 'tests/'
* 'vignettes/'
Is it ok to commit them?

1: Not now
2: Definitely
3: Absolutely not

Selection: 2
✔ Adding files
✔ Commit with message 'First commit of this amazing project, yee-haw!'
✔ Adding 'styler' to Suggests field in DESCRIPTION
● Use `requireNamespace("styler", quietly = TRUE)` to test if package is installed
● Then directly refer to functons like `styler::fun()` (replacing `fun()`).
✔ Writing 'NEWS.md'
✔ Adding '^_pkgdown\\.yml$' to '.Rbuildignore'
Trying to create GitHub repo, try 1
✔ Adding Codecov test coverage badge to 'README.Rmd'
● Re-knit 'README.Rmd'
✔ Writing '.travis.yml'
✔ Adding '^\\.travis\\.yml$' to '.Rbuildignore'
Finished initiating sync with GitHub.
Waiting for sync with GitHub.
Finished sync with GitHub.
Error: Conflict (HTTP 409). Failed to activate repo moldach/networkanalyst on Travis CI.
Oops! An error was found and the `networkanalyst` directory was deleted
✔ Setting active project to '<no active project>'

If I try setting ci_activation = NULL I get another error:

> create_package_project(name = "testRepo7777", external_setup = list(ci_activation = NULL))
✔ Creating '/home/tsundoku/RProjects/testRepo7777/'
✔ Setting active project to '/home/tsundoku/RProjects/testRepo7777'
✔ Creating 'R/'
✔ Writing 'DESCRIPTION'
Package: testRepo7777
Title: What the Package Does (One Line, Title Case)
Version: 0.0.0.9000
Authors@R (parsed):
    * Matthew Oldach <[email protected]> [aut, cre]
Description: What the package does (one paragraph).
License: MIT + file LICENSE
Encoding: UTF-8
Language: es
LazyData: true
✔ Writing 'NAMESPACE'
✔ Writing 'testRepo7777.Rproj'
✔ Adding '.Rproj.user' to '.gitignore'
✔ Adding '^testRepo7777\\.Rproj$', '^\\.Rproj\\.user$' to '.Rbuildignore'
✔ Setting active project to '<no active project>'
✔ Setting active project to '/home/tsundoku/RProjects/testRepo7777'
✔ Writing 'CODE_OF_CONDUCT.md'
✔ Adding '^CODE_OF_CONDUCT\\.md$' to '.Rbuildignore'
● Don't forget to describe the code of conduct in your README:
  Please note that the 'testRepo7777' project is released with a
  [Contributor Code of Conduct](CODE_OF_CONDUCT.md).
  By contributing to this project, you agree to abide by its terms.
  [Copied to clipboard]
✔ Writing 'LICENSE.md'
✔ Adding '^LICENSE\\.md$' to '.Rbuildignore'
✔ Writing 'LICENSE'
✔ Writing 'R/testRepo7777-package.R'
✔ Writing 'README.Rmd'
✔ Adding '^README\\.Rmd$' to '.Rbuildignore'
✔ Adding Project Status: WIP - Initial development is in progress, but there has not yet been a stable, usable release suitable for the public. badge to 'README.Rmd'
● Re-knit 'README.Rmd'
✔ Adding 'testthat' to Suggests field in DESCRIPTION
✔ Creating 'tests/testthat/'
✔ Writing 'tests/testthat.R'
● Call `use_test()` to initialize a basic test file and open it for editing.
✔ Adding 'knitr' to Suggests field in DESCRIPTION
✔ Setting VignetteBuilder field in DESCRIPTION to 'knitr'
✔ Adding 'inst/doc' to '.gitignore'
✔ Creating 'vignettes/'
✔ Adding '*.html', '*.R' to 'vignettes/.gitignore'
✔ Adding 'rmarkdown' to Suggests field in DESCRIPTION
✔ Writing 'vignettes/testRepo7777.Rmd'
● Modify 'vignettes/testRepo7777.Rmd'
✔ Initialising Git repo
✔ Adding '.Rhistory', '.RData' to '.gitignore'
There are 12 uncommitted files:
* '.gitignore'
* '.Rbuildignore'
* 'CODE_OF_CONDUCT.md'
* 'DESCRIPTION'
* 'LICENSE'
* 'LICENSE.md'
* 'NAMESPACE'
* 'R/'
* 'README.Rmd'
* 'testRepo7777.Rproj'
* 'tests/'
* 'vignettes/'
Is it ok to commit them?

1: Yeah
2: Absolutely not
3: Nope

Selection: 1
✔ Adding files
✔ Commit with message 'First commit of this primo project, yay!'
✔ Adding 'styler' to Suggests field in DESCRIPTION
● Use `requireNamespace("styler", quietly = TRUE)` to test if package is installed
● Then directly refer to functons like `styler::fun()` (replacing `fun()`).
✔ Writing 'NEWS.md'
✔ Adding '^_pkgdown\\.yml$' to '.Rbuildignore'
Error: argument is of length zero
Oops! An error was found and the `testRepo7777` directory was deleted
✔ Setting active project to '<no active project>'

It work's if I don't include a title = though....

> create_package_project(name = "testRepo686868")
✔ Creating '/home/tsundoku/RProjects/testRepo686868/'
✔ Setting active project to '/home/tsundoku/RProjects/testRepo686868'
✔ Creating 'R/'
✔ Writing 'DESCRIPTION'
Package: testRepo686868
Title: What the Package Does (One Line, Title Case)
Version: 0.0.0.9000
Authors@R (parsed):
    * Matthew Oldach <[email protected]> [aut, cre]
Description: What the package does (one paragraph).
License: MIT + file LICENSE
Encoding: UTF-8
Language: es
LazyData: true
✔ Writing 'NAMESPACE'
✔ Writing 'testRepo686868.Rproj'
✔ Adding '.Rproj.user' to '.gitignore'
✔ Adding '^testRepo686868\\.Rproj$', '^\\.Rproj\\.user$' to '.Rbuildignore'
✔ Setting active project to '<no active project>'
✔ Setting active project to '/home/tsundoku/RProjects/testRepo686868'
✔ Writing 'CODE_OF_CONDUCT.md'
✔ Adding '^CODE_OF_CONDUCT\\.md$' to '.Rbuildignore'
● Don't forget to describe the code of conduct in your README:
  Please note that the 'testRepo686868' project is released with a
  [Contributor Code of Conduct](CODE_OF_CONDUCT.md).
  By contributing to this project, you agree to abide by its terms.
  [Copied to clipboard]
✔ Writing 'LICENSE.md'
✔ Adding '^LICENSE\\.md$' to '.Rbuildignore'
✔ Writing 'LICENSE'
✔ Writing 'R/testRepo686868-package.R'
✔ Writing 'README.Rmd'
✔ Adding '^README\\.Rmd$' to '.Rbuildignore'
✔ Adding Project Status: WIP - Initial development is in progress, but there has not yet been a stable, usable release suitable for the public. badge to 'README.Rmd'
● Re-knit 'README.Rmd'
✔ Adding 'testthat' to Suggests field in DESCRIPTION
✔ Creating 'tests/testthat/'
✔ Writing 'tests/testthat.R'
● Call `use_test()` to initialize a basic test file and open it for editing.
✔ Adding 'knitr' to Suggests field in DESCRIPTION
✔ Setting VignetteBuilder field in DESCRIPTION to 'knitr'
✔ Adding 'inst/doc' to '.gitignore'
✔ Creating 'vignettes/'
✔ Adding '*.html', '*.R' to 'vignettes/.gitignore'
✔ Adding 'rmarkdown' to Suggests field in DESCRIPTION
✔ Writing 'vignettes/testRepo686868.Rmd'
● Modify 'vignettes/testRepo686868.Rmd'
✔ Initialising Git repo
✔ Adding '.Rhistory', '.RData' to '.gitignore'
There are 12 uncommitted files:
* '.gitignore'
* '.Rbuildignore'
* 'CODE_OF_CONDUCT.md'
* 'DESCRIPTION'
* 'LICENSE'
* 'LICENSE.md'
* 'NAMESPACE'
* 'R/'
* 'README.Rmd'
* 'testRepo686868.Rproj'
* 'tests/'
* 'vignettes/'
Is it ok to commit them?

1: Absolutely
2: No
3: Absolutely not

Selection: 1
✔ Adding files
✔ Commit with message 'First commit of this top-notch project, gee!'
✔ Adding 'styler' to Suggests field in DESCRIPTION
● Use `requireNamespace("styler", quietly = TRUE)` to test if package is installed
● Then directly refer to functons like `styler::fun()` (replacing `fun()`).
✔ Writing 'NEWS.md'
✔ Adding '^_pkgdown\\.yml$' to '.Rbuildignore'
Trying to create GitHub repo, try 1
✔ Adding Codecov test coverage badge to 'README.Rmd'
● Re-knit 'README.Rmd'
✔ Writing '.travis.yml'
✔ Adding '^\\.travis\\.yml$' to '.Rbuildignore'
>  Authenticating to GitHub.
Waiting for authentication in browser...
Press Esc/Ctrl + C to abort
Authentication complete.
✓ Authentication successful.
>  Authenticating to GitHub.
>  Authenticating to GitHub.
Waiting for authentication in browser...
Press Esc/Ctrl + C to abort
Authentication complete.
✓ Authentication successful.
Finished initiating sync with GitHub.
Waiting for sync with GitHub..
Finished sync with GitHub.
Finished activating repo moldach/testRepo686868 on Travis CI.
✔ Writing 'tic.R'
✔ Adding '^tic\\.R$' to '.Rbuildignore'
>  Authenticating to GitHub.
Waiting for authentication in browser...
Press Esc/Ctrl + C to abort
Authentication complete.
✓ Authentication successful.
Finished adding deploy keys on GitHub for repo moldach/testRepo686868.
✓ Successfully added public deploy key travis+tic' to GitHub for moldach/testRepo686868. 
>  You should receive a confirmation e-mail from GitHub.
>  Delete the key in the repository's settings to revoke access for that key or when you no longer need it.
Finished adding private environment variable id_rsa to moldach/testRepo686868 on Travis CI.
✓ Successfully added private deploy key to moldach/testRepo686868 as secure environment variable id_rsa to Travis CI.
>  Creating a personal access token (PAT).
>  The suggested description 'travis+tic for moldach/testRepo686868' has been copied to the clipboard.travis+tic for moldach/testRepo686868
ℹ  If you use this token only to avoid GitHub's rate limit, you can leave all scopes unchecked.
ℹ  Then, copy the new token to the clipboard, it will be detected and applied automatically.
ℹ Please visit
  https://github.com/settings/tokens/new
  A browser window will be opened.
ℹ  If you use this token only to avoid GitHub's rate limit, you can leave all scopes unchecked.
ℹ  Waiting for PAT to appear on the clipboard.
>  Detected PAT, clearing clipboard.
Finished adding private environment variable GITHUB_PAT to moldach/testRepo686868 on Travis CI.
✔ Adding Travis build status badge to 'README.Rmd'
● Re-knit 'README.Rmd'
● Call `use_test()` to initialize a basic test file and open it for editing.
✔ Increasing 'testthat' version to '>= 2.1.0' in DESCRIPTION
✔ Writing 'tests/testthat/test-sample.R'
✔ Setting active project to '<no active project>'

Weird... now all of a sudden I can no longer reproduce the above....

> create_package_project(name = "IHateMonday")
✔ Creating '/home/tsundoku/RProjects/IHateMonday/'
✔ Setting active project to '/home/tsundoku/RProjects/IHateMonday'
✔ Creating 'R/'
✔ Setting active project to '<no active project>'
Error: subscript out of bounds
Oops! An error was found and the `IHateMonday` directory was deleted
✔ Setting active project to '<no active project>'

And everything from starters::start_here() looks okay:

> starters::start_here()
Checking GitHub account can be guessed...
✔ Your GitHub username is moldach.
Checking git is installed...
✔ git seems to be installed!
Checking gitconfig...
✔ gitconfig is already set!
Checking GITHUB_PAT...
✔ GITHUB_PAT is already set!
Checking default description values...
✔ DESCRIPTION defaults are already set!
Checking build tools are available...
✔ Build tools are available!
✔ All set now!

Here's my sessionInfo():

R version 3.6.2 (2019-12-12)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 18.04.3 LTS

Matrix products: default
BLAS:   /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.7.1
LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.7.1

locale:
 [1] LC_CTYPE=en_CA.UTF-8       LC_NUMERIC=C               LC_TIME=en_CA.UTF-8        LC_COLLATE=en_CA.UTF-8     LC_MONETARY=en_CA.UTF-8   
 [6] LC_MESSAGES=en_CA.UTF-8    LC_PAPER=en_CA.UTF-8       LC_NAME=C                  LC_ADDRESS=C               LC_TELEPHONE=C            
[11] LC_MEASUREMENT=en_CA.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] starters_0.0.2 BRRR_1.2      

loaded via a namespace (and not attached):
 [1] Rcpp_1.0.3         pillar_1.4.2       compiler_3.6.2     git2r_0.26.1       prettyunits_1.0.2  tools_3.6.2        pkgbuild_1.0.6     testthat_2.3.1    
 [9] digest_0.6.23      tibble_2.1.3       jsonlite_1.6       praise_1.0.0       memoise_1.1.0.9000 evaluate_0.14      pkgconfig_2.0.3    rlang_0.4.2       
[17] cli_2.0.0          whoami_1.3.0       rstudioapi_0.10    curl_4.3           parallel_3.6.2     xfun_0.11          stringr_1.4.0      httr_1.4.1        
[25] styler_1.2.0       knitr_1.26         desc_1.2.0         fs_1.3.1           rprojroot_1.3-2    glue_1.3.1         R6_2.4.1           processx_3.4.1    
[33] gh_1.0.1           fansi_0.4.0        rmarkdown_2.0      callr_3.4.0        purrr_0.3.3        clipr_0.7.0        magrittr_1.5       whisker_0.4       
[41] ps_1.3.0           backports_1.1.5    clisymbols_1.2.0   htmltools_0.4.0    usethis_1.5.1      stringdist_0.9.5.5 assertthat_0.2.1   available_1.0.4   
[49] stringi_1.4.3      crayon_1.3.4       audio_0.1-6    

moldach avatar Dec 16 '19 20:12 moldach

Thanks! There are a few fixes in #142 but nothing related to Travis though so I suppose we missed developments in tic/travis. :grimacing: There'll be a break in development over the holidays, sorry.

maelle avatar Dec 17 '19 05:12 maelle

No problem, I'll just set it up manually this time. Thanks and happy holidays!

moldach avatar Dec 17 '19 15:12 moldach

Thanks, happy holidays to you too!

maelle avatar Dec 17 '19 16:12 maelle

One fix for

tmp <- tempfile(
  pattern = "hny",
  tempdir(check = TRUE)
)
fs::dir_create(tmp)

create_package_project(name = "starterstestrepo",
                       external_setup = list(ci_activation = NULL),
                       folder = tmp)

fs::dir_delete(tmp)

that does not create a GH repo, for that one needs something like

tmp <- tempfile(
  pattern = "hny",
  tempdir(check = TRUE)
)
fs::dir_create(tmp)

create_package_project(name = "starterstestrepo",
                       external_setup = list(
                         git_service = "GitHub",
                         login = gh::gh_whoami()$login,
                         private = TRUE,
                         protocol = "ssh",
                         ci_activation = NULL
                       ),
                       folder = tmp)

fs::dir_delete(tmp)

maelle avatar Jan 06 '20 09:01 maelle

The http error stems from https://docs.ropensci.org/travis/articles/travis.html -- one needs to set up an API key. I've now set it up but I'm guessing other parts of the tic/travis code will need to be updated.

maelle avatar Jan 06 '20 10:01 maelle

@moldach the next step for starters will actually be https://github.com/lockedata/starters/issues/144 (I'll work on that next week at the earliest)

In the meantime, having ci_activation set to NULL is better.

Sorry and thanks again for the bug report!

maelle avatar Jan 06 '20 10:01 maelle