switch to Github Actions, change maintainer email
This commit is contained in:
Родитель
06c47ca89e
Коммит
d7fa762183
|
@ -9,4 +9,4 @@ CONTRIBUTING.md
|
|||
CODE_OF_CONDUCT.md
|
||||
drat.sh
|
||||
^LICENSE\.md$
|
||||
azure-pipelines.yml
|
||||
^\.github$
|
||||
|
|
|
@ -0,0 +1,111 @@
|
|||
# For help debugging build failures open an issue on the RStudio community with the 'github-actions' tag.
|
||||
# https://community.rstudio.com/new-topic?category=Package%20development&tags=github-actions
|
||||
on: [push, pull_request]
|
||||
|
||||
name: R-CMD-check
|
||||
|
||||
jobs:
|
||||
R-CMD-check:
|
||||
if: github.repository_owner == 'Azure'
|
||||
runs-on: ${{ matrix.config.os }}
|
||||
|
||||
name: ${{ matrix.config.os }} (${{ matrix.config.r }})
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
config:
|
||||
- {os: windows-latest, r: 'release'}
|
||||
- {os: macOS-latest, r: 'release'}
|
||||
- {os: ubuntu-20.04, r: 'release', rspm: "https://packagemanager.rstudio.com/cran/__linux__/focal/latest"}
|
||||
|
||||
env:
|
||||
R_REMOTES_NO_ERRORS_FROM_WARNINGS: true
|
||||
RSPM: ${{ matrix.config.rspm }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: 0 # required for mirroring, see https://stackoverflow.com/a/64272409/474349
|
||||
|
||||
- name: Copy to Cloudyr
|
||||
if: runner.os == 'Linux' && github.ref == 'refs/heads/master'
|
||||
env:
|
||||
token: "${{ secrets.ghPat }}"
|
||||
# git config hack required, see https://stackoverflow.com/q/64270867/474349
|
||||
run: |
|
||||
export CLOUDYR_REPO=$(echo $GITHUB_REPOSITORY | sed "s/Azure/cloudyr/")
|
||||
git config -l | grep 'http\..*\.extraheader' | cut -d= -f1 | \
|
||||
xargs -L1 git config --unset-all
|
||||
git push --prune https://token:$token@github.com/${CLOUDYR_REPO}.git +refs/remotes/origin/*:refs/heads/* +refs/tags/*:refs/tags/*
|
||||
|
||||
- uses: r-lib/actions/setup-r@master
|
||||
with:
|
||||
r-version: ${{ matrix.config.r }}
|
||||
|
||||
- uses: r-lib/actions/setup-pandoc@master
|
||||
|
||||
- name: Query dependencies
|
||||
run: |
|
||||
install.packages('remotes')
|
||||
saveRDS(remotes::dev_package_deps(dependencies = TRUE), ".github/depends.Rds", version = 2)
|
||||
writeLines(sprintf("R-%i.%i", getRversion()$major, getRversion()$minor), ".github/R-version")
|
||||
shell: Rscript {0}
|
||||
|
||||
- name: Cache R packages
|
||||
if: runner.os != 'Windows'
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: ${{ env.R_LIBS_USER }}
|
||||
key: ${{ runner.os }}-${{ hashFiles('.github/R-version') }}-1-${{ hashFiles('.github/depends.Rds') }}
|
||||
restore-keys: ${{ runner.os }}-${{ hashFiles('.github/R-version') }}-1-
|
||||
|
||||
- name: Install system dependencies
|
||||
if: runner.os == 'Linux'
|
||||
run: |
|
||||
while read -r cmd
|
||||
do
|
||||
eval sudo $cmd
|
||||
done < <(Rscript -e 'writeLines(remotes::system_requirements("ubuntu", "20.04"))')
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
remotes::install_deps(dependencies = TRUE)
|
||||
remotes::install_cran(c("pkgbuild", "rcmdcheck", "drat"))
|
||||
shell: Rscript {0}
|
||||
|
||||
- name: Check
|
||||
env:
|
||||
_R_CHECK_CRAN_INCOMING_REMOTE_: false
|
||||
_R_CHECK_FORCE_SUGGESTS_: false
|
||||
run: |
|
||||
pkg <- pkgbuild::build()
|
||||
rcmdcheck::rcmdcheck(pkg, args = c("--no-manual", "--as-cran"), error_on = "warning", check_dir = "check")
|
||||
shell: Rscript {0}
|
||||
|
||||
- name: Upload check results
|
||||
if: failure()
|
||||
uses: actions/upload-artifact@main
|
||||
with:
|
||||
name: ${{ runner.os }}-r${{ matrix.config.r }}-results
|
||||
path: check
|
||||
|
||||
- name: Update Cloudyr drat
|
||||
if: success() && runner.os == 'Linux' && github.ref == 'refs/heads/master'
|
||||
env:
|
||||
token: "${{ secrets.ghPat }}"
|
||||
run: |
|
||||
cd ..
|
||||
export PKGBUILD_GZ=$(ls *.gz)
|
||||
mkdir drat
|
||||
cd drat
|
||||
git init
|
||||
git config user.email "dummy@example.com"
|
||||
git config user.name "Github Actions"
|
||||
git remote add upstream "https://token:$token@github.com/cloudyr/cloudyr.github.io.git"
|
||||
git fetch upstream
|
||||
git checkout master
|
||||
Rscript -e "drat::insertPackage('../$PKGBUILD_GZ', repodir='./drat')"
|
||||
git add --all
|
||||
git commit -m "add $PKGBUILD_GZ (build $GITHUB_RUN_NUMBER)"
|
||||
git push
|
|
@ -1,8 +1,8 @@
|
|||
Package: AzureVMmetadata
|
||||
Title: Interface to Azure Virtual Machine Instance Metadata
|
||||
Version: 1.0.0
|
||||
Version: 1.0.1
|
||||
Authors@R: c(
|
||||
person("Hong", "Ooi", , "hongooi@microsoft.com", role = c("aut", "cre")),
|
||||
person("Hong", "Ooi", , "hongooi73@gmail.com", role = c("aut", "cre")),
|
||||
person("Microsoft", role="cph")
|
||||
)
|
||||
Description: A simple interface to the instance metadata for a virtual machine running in Microsoft's 'Azure' cloud. This provides information about the VM's configuration, such as its processors, memory, networking, storage, and so on. Part of the 'AzureR' family of packages.
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
[![CRAN](https://www.r-pkg.org/badges/version/AzureVMmetadata)](https://cran.r-project.org/package=AzureVMmetadata)
|
||||
![Downloads](https://cranlogs.r-pkg.org/badges/AzureVMmetadata)
|
||||
[![Build Status](https://asiadatascience.visualstudio.com/AzureR/_apis/build/status/Azure.AzureVMmetadata?branchName=master)](https://asiadatascience.visualstudio.com/AzureR/_build/latest?definitionId=10&branchName=master)
|
||||
![R-CMD-check](https://github.com/Azure/AzureKeyVault/workflows/R-CMD-check/badge.svg)
|
||||
|
||||
A simple package to access the [instance metadata service](https://docs.microsoft.com/en-us/azure/virtual-machines/windows/instance-metadata-service) in an Azure virtual machine.
|
||||
|
||||
|
|
|
@ -1,54 +0,0 @@
|
|||
variables:
|
||||
- group: GH
|
||||
- name: R_LIBS_USER
|
||||
value: '$(Agent.BuildDirectory)/R/library'
|
||||
|
||||
pool:
|
||||
vmImage: 'ubuntu-latest'
|
||||
|
||||
container: $[variables['rockerImage']]
|
||||
|
||||
steps:
|
||||
- bash: |
|
||||
export CLOUDYR_REPO=$(echo $(Build.Repository.Name) | sed "s/Azure/cloudyr/")
|
||||
git push --prune https://$(ghPat)@github.com/$CLOUDYR_REPO +refs/remotes/origin/*:refs/heads/* +refs/tags/*:refs/tags/*
|
||||
displayName: 'Copy to Cloudyr'
|
||||
condition: eq(variables['Build.SourceBranch'], 'refs/heads/master')
|
||||
|
||||
- bash: |
|
||||
echo "options(repos = '$(cranRepo)')" > ~/.Rprofile
|
||||
echo ".libPaths(c('$R_LIBS_USER', .libPaths()))" >> ~/.Rprofile
|
||||
mkdir -p $R_LIBS_USER
|
||||
displayName: 'Setup R library directory'
|
||||
|
||||
- task: CacheBeta@0
|
||||
inputs:
|
||||
key: ./DESCRIPTION | "$(rockerImage)" | "$(cranRepo)"
|
||||
path: $(R_LIBS_USER)
|
||||
displayName: 'Caching packages'
|
||||
|
||||
- bash: |
|
||||
Rscript -e "pkgs <- c('remotes', 'rcmdcheck', 'drat'); if(length(find.package(pkgs, quiet=TRUE)) != length(pkgs)) install.packages(pkgs)"
|
||||
Rscript -e "remotes::install_deps(dependencies=TRUE)"
|
||||
displayName: 'Installing package dependencies'
|
||||
|
||||
- bash: |
|
||||
Rscript -e "f <- pkgbuild::build(dest_path='$(Build.ArtifactStagingDirectory)'); rcmdcheck::rcmdcheck(f, args='--no-manual', error_on='warning', check_dir='check')"
|
||||
displayName: 'Checking package'
|
||||
|
||||
- bash: |
|
||||
export PKGBUILD_GZ=$(ls $(Build.ArtifactStagingDirectory)/*.gz)
|
||||
mkdir drat
|
||||
cd drat
|
||||
git init
|
||||
git config user.email "dummy@example.com"
|
||||
git config user.name "Azure Pipelines"
|
||||
git remote add upstream "https://$(ghPat)@github.com/cloudyr/cloudyr.github.io.git"
|
||||
git fetch upstream
|
||||
git checkout master
|
||||
Rscript -e "drat::insertPackage('$PKGBUILD_GZ', repodir='./drat')"
|
||||
git add --all
|
||||
git commit -m "add $PKGBUILD_GZ (build $(Build.BuildId))"
|
||||
git push
|
||||
displayName: 'Update Cloudyr drat'
|
||||
condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master'))
|
Загрузка…
Ссылка в новой задаче