phuse-org / devops Goto Github PK
View Code? Open in Web Editor NEWHome of the Pharma DevOps Working Group, providing everything you need for R and Python codebases used for clinical reporting
Home Page: https://phuse-org.github.io/devops/
Home of the Pharma DevOps Working Group, providing everything you need for R and Python codebases used for clinical reporting
Home Page: https://phuse-org.github.io/devops/
Currently this doesn't work due to an issue with the gh-action: https://phuse-org.github.io/devops/content/cicdworkflows-enhanced/posts/validate/validate.html
This needs to be closed: insightsengineering/thevalidatoR#66
Using the admiral content as a starter for a pan-packages set of guidance.
depends on #2
Aim to submit abstract to PHUSE US Connect about this working group, and with content from the landscaping of where we are today with CICD
After an initial look, the simplest use case seems to be very well covered by usethis::use_github_action
, which drastically simplifies the maintenance and setup.
I'd consider any deviation from this should show some considerable value-add since it immediately means breaking with very widely used best practices.
I'm going to kick off the discussion with what I see as the matrix of actions that we might consider. Feel free to suggest additional behaviors and the scopes where they should apply.
behavior | scope | tool/action |
---|---|---|
R CMD check |
minimum | usethis::use_github_action("check-standard") |
recommended | usethis::use_github_action("check-full") |
|
Documentation | all | usethis::use_github_action("pkgdown") |
Testing & Coverage | all | usethis::use_github_action("test-coverage") |
Discuss with technical working group (who have pharmaverse website) how we can integrate this project.
Dinakar mentioned he had a great new template. Aim is to get this into main.
@dinakar - as the first bit of code going in, I'll defer to you if you want to add branch protections (maybe not needed yet as the site isn't public?)
(from Ben)
Early feedback from one pharmaverse package we we need to separate out the packages from what are really the core CICD needed to have a robust release, and what are nice to haves.
Aim in this issue is to define our initial list (updating here in the desc
:
Minimum
Suggested
Currently we have:
Below is an example of using this gh-action
whenever someone tries to make PR into your main
or devel
branch or updates the branch. We recomend you use this on both main
and devel
branches, as it will help you catch issues before they get into your main branch.
name: Run R-CMD-check
# sourced from phuse-org/devops-toolkit
on:
pull_request:
types:
- opened
- synchronize
- reopened
- ready_for_review
branches:
- main
push:
branches:
- main
workflow_dispatch:
jobs:
check:
name: Check
uses: phuse-org/devops-toolkit/.github/workflows/R-CMD-check.yml@main
TODO: Add here how to also run against pharmaverse's r-universe latest & the latest release of PPM packages.
Currently we recommend and maintain gh-actions
in two locations:
insightsengineering/r.pkg.template/.github/workflows
pharmaverse/admiralci
This needs be simplified - as it's confusing to look at the huge battery of CICD on Nest and admiral, and understand why they did things slightly differently, and which CICD is really needed and why.
@cicdguy and @bms63 my suggestion is:
tic
package (https://docs.ropensci.org/tic/) and only if a gh-action is missingpharmaverse/cicd
?Dinakar - what are our thoughts?
And add into #3
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.