Giter VIP home page Giter VIP logo

pkg-skeleton's People

Contributors

bryanhanson avatar cbeleites avatar eoduniyi avatar gegznav avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

pkg-skeleton's Issues

Add necessary `usethis` commands for the things we cannot set correctly in advance

In the skeleton's README, we could write a sequence of usethis or other (e.g., custom-made) commands, that help to set up the aspects of the package we do not know in advance. E.g., commands that add necessary badges, type of license, etc. There are functions that do the most of the job to set up Travis CI and Appveyor (this means that not only plain text files are created by those functions), etc.

I think the skeleton should contain only those elements of the package that work out of the box (E.g., GitHub Actions workflows, some examples of vignettes, and functions). And all the infrastructure should work in the skeleton: CI, code coverage, pkgdown builds, etc.

Update CI workflow for Linux

GH actions issues this warning:
image

Annotations

1 warning

Insert package (drat) : .github#L1

The ubuntu-16.04 environment is deprecated and will be removed on September 20, 2021. Migrate to ubuntu-latest instead. For more details see actions/runner-images#3287

We should update CI workflow in hySpc repos. There are some specifics in the main hyperSpec repo, so a separate issue will be opened there too.

Do we have .Rbuildignore correct?

@GegznaV would you please look at .Rbuildignore on the develop branch and see if it looks OK? I ran a script which got .Rbuildignore from every repo and then grabbed all the unique values. I then manually went through it to organize. I dropped some entries that did not seem appropriate (really, the accumulated entries were a mess). If we do the best we can here, then when we actually deploy it we may still find some entries to add. I'm attaching the list of unique values for you to review.
Rbuildignore.txt

Automatic file updates make occasional `drat` workflow failures

There is a known issue related to the automatic distribution of files to several repos: the push from pkg-skeleton to other repos triggers GHA workflows on those repos, including drat workflow. The drat workflow tries to push updates to pkg-repo. But when updates from many packages are pushed at the same time, some workflows fail. See details here:

image

A manual restart of the failed drat workflow usually fixes the failure. But I think, we should find a way to disable triggering the drat workflow if the updates come from pkg-skeleton as these are usually setup files that update the infrastructure but do not change the functionality in the package.

Might help:

Add message to ` vignettes/.gitignore`

This message in vignettes/.gitignore is missing:

# READ-ONLY FILE
#
# Original file resides in r-hyperspec/pkg-skelton.
# DO NOT EDIT in any other repo as these changes will be overwritten.
# Edit at r-hyperspec/pkg-skelton, then push there and
# this file will be deployed to the other repos.
#

consistent set of labels across derived packages

... this is not strictly part of the skeleton package, but I think it would be good if we could have a consistent set of labels (including colors) for the derived packages and hyperSpec

  • have the "master" set of labels here in the skeleton project
    for a start, copy the ones from hyperSpec
  • make a code snippet/shell script that fetches them and pushes them into derived repository, see github API description

Do we have .gitignore correct?

@GegznaV would you please look at .gitignore on the develop branch and see if it looks OK? I ran a script which got .gitignore from every repo and then grabbed all the unique values. I then manually went through it to organize. I dropped some entries that did not seem appropriate (really, the accumulated entries were a mess). If we do the best we can here, then when we actually deploy it we may still find some entries to add. I'm attaching the list of unique values for you to review.
Gitignore.txt

How to keep all packages synchronized with the evolving skeleton?

The hyperSpec.skeleton will be a 'template' for several packages. Do we have a plan how we are going to synchronize them with each other?

I can imagine the following situation: we make four derived packages named A, B, C and D. Some time later, we decide to change the build system, or contrinuous integration, or vignette style, whatever. The purpose of the skeleton is to simplify this, so it should be possible to make a change only once in the skeleton package and propagate it to the derived packages.

Once we have this clarified, it should also go into the contributor's guide :)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.