circle

R client package for the Circle CI API

https://github.com/ropensci/circle

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.0%) to scientific vocabulary

Keywords

api-client circle-ci continuous-deployment continuous-integration

Keywords from Contributors

standardization meshing pipeline-testing datacleaner pde pinn interpretability data-profilers persistent-homology ripser
Last synced: 4 months ago · JSON representation

Repository

R client package for the Circle CI API

Basic Info
Statistics
  • Stars: 12
  • Watchers: 2
  • Forks: 1
  • Open Issues: 1
  • Releases: 10
Topics
api-client circle-ci continuous-deployment continuous-integration
Created about 6 years ago · Last pushed 12 months ago
Metadata Files
Readme Changelog Contributing License Codemeta

README.md

tic CircleCI CRAN Status Lifecycle:maturing

circle

R client package for the Continuous Integration (CI) provider 'Circle CI'. Circle CI stands in line with GitHub Actions, Travis CI, AppVeyor and many more CI providers. Circle CI heavily relies on Docker containers for runner execution.

Continuous Integration (CI) / Continuous Deployment (CD) is heavily used in the IT world to automatically perform certain actions after a specific trigger (e.g. after each commit). When developing R packages the most common uses cases are to check the package on each commit for CRAN eligibility (by running R CMD Check) and to deploy a {pkgdown} documentation page for the package.

This package aims help to set up CI/CD with the service provider Circle CI and provides R functions to execute CI specific tasks such as build restarts, log queries or setting environment variables from within R. It also simplifies the setup process for build deployments via use_circle_deploy(). All functionality relies on calls to the Circle CI REST API.

There are two ways to use this package:

  • Via the high-level functions of this package which wrap common API calls:
    • get_pipelines()
    • get_checkout_keys()
    • set_env_var()
    • etc.
  • Via direct API calls through the workhorse function circle().

{circle} does not come with an option to setup Circle CI YAML files. Please see the related {tic} package for such functionality and more CI workflow related tools. {circle} aims to provide a handy and flexible high-level interface to the Circle CI API without shipping opinionated workflow functionality.

API versions

All functionality uses the Circle CI API v2 which follows the pipelines -> workflows -> jobs approach. This API version is still in beta and might undergo some changes in the near future.

Some functions/endpoints can also be used via API versions v1.1 and v1 by setting the api_version argument. However, this will only work if the respective API endpoint is available for the chosen API version. Usually, there should be no need in practice to fall back to API version < 2.

For more information on the differences between the Circle CI API versions, have a look at the document explaining changes between v1.1 and v2.

Installation

Development Version:

r remotes::install_github("ropensci/circle")

Get Started

See the Getting Started vignette for an introduction.

Note to Developers

This packages relies on private API keys for local testing. See CONTRIBUTING.md#testing-the-package for detailed instructions.

Acknowledgments

This package was inspired by the work of Thomas J. Leeper on the (discontinued) cloudyr/circleci package and by the (archived) ropenscilabs/travis package.

Owner

  • Name: rOpenSci
  • Login: ropensci
  • Kind: organization
  • Email: info@ropensci.org
  • Location: Berkeley, CA

CodeMeta (codemeta.json)

{
  "@context": "https://doi.org/10.5063/schema/codemeta-2.0",
  "@type": "SoftwareSourceCode",
  "identifier": "circle",
  "description": "Tools for interacting with the 'Circle CI' API (<https://circleci.com/docs/api/v2/>). Besides executing common tasks such as querying build logs and restarting builds, this package also helps setting up permissions to deploy from builds.",
  "name": "circle: R Client Package for Circle CI",
  "relatedLink": "https://docs.ropensci.org/circle/",
  "codeRepository": "https://github.com/ropensci/circle",
  "issueTracker": "https://github.com/ropensci/circle/issues",
  "license": "https://spdx.org/licenses/GPL-3.0",
  "version": "0.7.2",
  "programmingLanguage": {
    "@type": "ComputerLanguage",
    "name": "R",
    "url": "https://r-project.org"
  },
  "runtimePlatform": "R version 4.2.1 (2022-06-23)",
  "provider": {
    "@id": "https://cran.r-project.org",
    "@type": "Organization",
    "name": "Comprehensive R Archive Network (CRAN)",
    "url": "https://cran.r-project.org"
  },
  "author": [
    {
      "@type": "Person",
      "givenName": "Patrick",
      "familyName": "Schratz",
      "email": "patrick.schratz@gmail.com",
      "@id": "https://orcid.org/0000-0003-0748-6624"
    }
  ],
  "maintainer": [
    {
      "@type": "Person",
      "givenName": "Patrick",
      "familyName": "Schratz",
      "email": "patrick.schratz@gmail.com",
      "@id": "https://orcid.org/0000-0003-0748-6624"
    }
  ],
  "softwareSuggestions": [
    {
      "@type": "SoftwareApplication",
      "identifier": "clipr",
      "name": "clipr",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=clipr"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "covr",
      "name": "covr",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=covr"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "gert",
      "name": "gert",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=gert"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "gh",
      "name": "gh",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=gh"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "knitr",
      "name": "knitr",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=knitr"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "openssl",
      "name": "openssl",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=openssl"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "purrr",
      "name": "purrr",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=purrr"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "rmarkdown",
      "name": "rmarkdown",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=rmarkdown"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "testthat",
      "name": "testthat",
      "version": ">= 3.0.0",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=testthat"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "usethis",
      "name": "usethis",
      "version": ">= 2.0.0",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=usethis"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "utils",
      "name": "utils"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "vcr",
      "name": "vcr",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=vcr"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "withr",
      "name": "withr",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=withr"
    }
  ],
  "softwareRequirements": {
    "1": {
      "@type": "SoftwareApplication",
      "identifier": "cli",
      "name": "cli",
      "version": ">= 2.0.0",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=cli"
    },
    "2": {
      "@type": "SoftwareApplication",
      "identifier": "httr",
      "name": "httr",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=httr"
    },
    "3": {
      "@type": "SoftwareApplication",
      "identifier": "jsonlite",
      "name": "jsonlite",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=jsonlite"
    },
    "SystemRequirements": null
  },
  "fileSize": "1288.526KB"
}

GitHub Events

Total
  • Issues event: 2
  • Issue comment event: 2
  • Push event: 1
  • Pull request event: 1
  • Create event: 1
Last Year
  • Issues event: 2
  • Issue comment event: 2
  • Push event: 1
  • Pull request event: 1
  • Create event: 1

Committers

Last synced: about 2 years ago

All Time
  • Total Commits: 319
  • Total Committers: 4
  • Avg Commits per committer: 79.75
  • Development Distribution Score (DDS): 0.063
Past Year
  • Commits: 4
  • Committers: 2
  • Avg Commits per committer: 2.0
  • Development Distribution Score (DDS): 0.25
Top Committers
Name Email Commits
pat-s p****z@g****m 299
leeper t****r@g****m 10
dependabot[bot] 4****] 9
github-actions[bot] 4****] 1

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 18
  • Total pull requests: 31
  • Average time to close issues: 16 days
  • Average time to close pull requests: about 1 month
  • Total issue authors: 4
  • Total pull request authors: 3
  • Average comments per issue: 1.11
  • Average comments per pull request: 0.16
  • Merged pull requests: 25
  • Bot issues: 0
  • Bot pull requests: 15
Past Year
  • Issues: 1
  • Pull requests: 1
  • Average time to close issues: about 2 months
  • Average time to close pull requests: N/A
  • Issue authors: 1
  • Pull request authors: 1
  • Average comments per issue: 2.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 1
Top Authors
Issue Authors
  • pat-s (14)
  • jdblischak (2)
  • jennybc (1)
  • maelle (1)
Pull Request Authors
  • pat-s (17)
  • dependabot[bot] (16)
  • olivroy (2)
Top Labels
Issue Labels
enhancement (4) documentation (3) bug (3) help wanted (1)
Pull Request Labels
dependencies (16) CRAN release :station: (2) github_actions (1)

Packages

  • Total packages: 1
  • Total downloads:
    • cran 442 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 1
  • Total versions: 3
  • Total maintainers: 1
cran.r-project.org: circle

R Client Package for Circle CI

  • Versions: 3
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 442 Last month
Rankings
Stargazers count: 15.1%
Forks count: 17.1%
Average: 22.3%
Dependent repos count: 24.0%
Downloads: 26.5%
Dependent packages count: 28.8%
Maintainers (1)
Last synced: 5 months ago

Dependencies

DESCRIPTION cran
  • cli >= 2.0.0 imports
  • httr * imports
  • jsonlite * imports
  • clipr * suggests
  • covr * suggests
  • gert * suggests
  • gh * suggests
  • knitr * suggests
  • openssl * suggests
  • purrr * suggests
  • rmarkdown * suggests
  • testthat >= 3.0.0 suggests
  • usethis >= 2.0.0 suggests
  • utils * suggests
  • vcr * suggests
  • withr * suggests
.github/workflows/tic.yml actions
  • actions/checkout v3 composite
  • actions/upload-artifact v3 composite
  • pat-s/always-upload-cache v3 composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-tinytex v2 composite
.github/workflows/update-tic.yml actions
  • actions/checkout v3 composite
  • peter-evans/create-pull-request v4 composite
  • r-lib/actions/setup-r v2 composite