library(gitlabr)
This code is the one you can run with an account on gitlab.com to be able to contribute to {gitlabr} and set a testing environment (See CONTRIBUTING.md.
You can use this code to create all your new projects with a specific template. For instance, you can have a first issue to welcome all collaborators, explain them how your repository works and ask them to answer with a comment. This makes you sure that all collaborators know how to find issues and how to interact with you.
GITLAB_COM_TOKEN
usethis::edit_r_environ()
to open the correct file# GitLab con
set_gitlab_connection(
gitlab_url = "https://gitlab.com",
private_token = Sys.getenv("GITLAB_COM_TOKEN")
)
<- "testor.main"
test_project_name <- "main" main_branch
testor.main
, owned by the userProject is initialized with a README file
<- gl_new_project(
project_info name = test_project_name,
default_branch = main_branch,
initialize_with_readme = TRUE
)
gl_list_branches(project = project_info$id)
browseURL(project_info$web_url)
README.md
# Content of the README
<- paste("
content_md # testor.main
Repository to test R package [{gitlabr}](https://github.com/statnmap/gitlabr)
")
# Push file with a commit
gl_push_file(
project = project_info$id,
file_path = "README.md",
content = content_md,
commit_message = "Update README",
branch = main_branch,
overwrite = TRUE)
# Create the new branch
gl_create_branch(project = project_info$id, branch = "for-tests", ref = main_branch)
# List branches to see if it was created
# Note that branch creation can take a while, wait a little before using `gl_list_branches()`
# gl_list_branches(project = project_info$id)
The “.gitlab-ci.yml” below is a simple example of CI with artifact. If you want a proper CI for your R package or bookdown project, you may want to look at gitlabr::use_gitlab_ci()
and run it when you cloned your project locally.
<- paste("
content_ci testing:
script: echo 'test 1 2 1 2' > 'test.txt'
artifacts:
paths:
- test.txt
")
gl_push_file(
project = project_info$id,
file_path = ".gitlab-ci.yml",
content = content_ci,
commit_message = "Add CI to the main branch",
branch = main_branch,
overwrite = TRUE)
# Get list of commits in default branch
<- gl_get_commits(project = project_info$id, ref_name = main_branch)
commits_in_main # Add a comment to this commmit
gl_comment_commit(
project = project_info$id,
id = commits_in_main$id[1],
text = "Write a comment")
# Create an issue
<- gl_create_issue(
issue_info project = project_info$id,
title = "Dont close issue 1",
description = "An example issue to not close for tests")
# Create a comment to the issue
gl_comment_issue(
project = project_info$id,
id = issue_info$iid,
text = "A comment on issue to not close")
gl_delete_project(project_id)