working on R build automation

This commit is contained in:
Charlton, Scott R 2022-03-26 11:50:02 -07:00
parent 42cd779af8
commit 07351449c0
3 changed files with 19 additions and 31 deletions

View File

@ -107,14 +107,8 @@ jobs:
- name: versioning - name: versioning
run: ./jenkins-dist.sh -v ${{ needs.init.outputs.VER }} -r ${{ needs.init.outputs.REL }} -d ${{ needs.init.outputs.DATE }} run: ./jenkins-dist.sh -v ${{ needs.init.outputs.VER }} -r ${{ needs.init.outputs.REL }} -d ${{ needs.init.outputs.DATE }}
- name: make directories
run: mkdir -p R/phreeqc/R && mkdir -p R/phreeqc/src/phreeqcpp && mkdir -p R/phreeqc/data
- name: check - name: check
run: cd R/phreeqc && Rscript -e 'devtools::check()' run: cd R && make VERSION=${{ needs.init.outputs.VER }} RELEASE_DATE=${{ needs.init.outputs.DATE }} check_built
- name: build
run: cd R/phreeqc && Rscript -e 'devtools::build()'
- uses: actions/upload-artifact@v2 - uses: actions/upload-artifact@v2
with: with:

View File

@ -6,6 +6,8 @@
# └── src IDEST # └── src IDEST
# └── phreeqcpp DEST # └── phreeqcpp DEST
# #
# see https://r-pkgs.org/
#
CP=cp -f CP=cp -f
TOPDIR=phreeqc TOPDIR=phreeqc
@ -19,10 +21,9 @@ DATADIR=phreeqc/data
EXDIR=../phreeqc3-examples EXDIR=../phreeqc3-examples
MAN=phreeqc/man MAN=phreeqc/man
SVN_URL := http://internalbrr.cr.usgs.gov/svn_GW # ?= set only if not already set
RELEASE ?= $(shell svn info $(SVN_URL) | egrep "Revision:" | cut -b 10- | ( read one two ; echo $$one ) ) RELEASE_DATE ?= $(shell date --rfc-3339=date)
RELEASE_DATE ?= $(shell date "+%Y-%m-%d") VERSION ?= $(shell curl -sS https://raw.githubusercontent.com/usgs-coupled/phreeqc-version/main/next_ver.sh | sh)
VERSION ?= 1.0
DBS = \ DBS = \
Amm.ascii \ Amm.ascii \
@ -292,7 +293,7 @@ $(DATADIR)/examples.rda : $(EXS) build-examples.R
document : $(MAN)/phreeqc-package.Rd document : $(MAN)/phreeqc-package.Rd
$(MAN)/phreeqc-package.Rd : $(TOPDIR)/R/phreeqc.R $(TOPDIR)/DESCRIPTION $(TOPDIR)/NAMESPACE $(MAN)/phreeqc-package.Rd : $(TOPDIR)/R/phreeqc.R $(TOPDIR)/DESCRIPTION $(TOPDIR)/NAMESPACE $(PSRC) $(XSRC) $(DATA)
rm -f $(RDFILES) rm -f $(RDFILES)
Rscript -e 'devtools::document("phreeqc")' Rscript -e 'devtools::document("phreeqc")'
@ -825,8 +826,6 @@ $(INST)/ex2 : ../phreeqc3-examples/ex2
check : all check : all
R CMD check --as-cran phreeqc R CMD check --as-cran phreeqc
#check_built : phreeqc_$(VERSION).tar.gz
check_built : phreeqc_$(VERSION).tar.gz check_built : phreeqc_$(VERSION).tar.gz
Rscript -e "devtools::check_built(path=\"phreeqc_$(VERSION).tar.gz\")" Rscript -e "devtools::check_built(path=\"phreeqc_$(VERSION).tar.gz\")"
@ -860,15 +859,6 @@ $(TOPDIR)/DESCRIPTION : DESCRIPTION.in DESCRIPTION-$(VERSION).TIMESTAMP
DESCRIPTION-$(VERSION).TIMESTAMP : DESCRIPTION-$(VERSION).TIMESTAMP :
touch DESCRIPTION-$(VERSION).TIMESTAMP touch DESCRIPTION-$(VERSION).TIMESTAMP
# export_sed :
# sed \
# -e 's/@VERSION@/$(VERSION)/g' \
# < DESCRIPTION.in > $(TOPDIR)/DESCRIPTION
# sed \
# -e 's/@VERSION@/$(VERSION)/g' \
# -e 's/@RELEASE_DATE@/$(RELEASE_DATE)/g' \
# < phreeqc.R.in > $(TOPDIR)/R/phreeqc.R
# build : all # build : all
# R CMD build --resave-data phreeqc # R CMD build --resave-data phreeqc
@ -889,5 +879,14 @@ $(IDEST):
$(DEST): $(DEST):
mkdir $(DEST) mkdir $(DEST)
# Force directory creation everytime make is executed
# see https://www.cmcrossroads.com/article/making-directories-gnu-make
$(shell mkdir -p $(TOPDIR)/R)
$(shell mkdir -p $(TOPDIR)/src/phreeqcpp)
$(shell mkdir -p $(TOPDIR)/data)
clean : clean :
rm -f $(PSRC) $(XSRC) $(DEST)/*.o $(IDEST)/*.o $(DEST)/*.so rm -f $(PSRC) $(XSRC) $(DEST)/*.o $(IDEST)/*.o $(DEST)/*.so

View File

@ -1,5 +1,7 @@
#!/bin/sh #!/bin/sh
# see https://r-pkgs.org/
# #
# set DATE # set DATE
# #
@ -9,13 +11,6 @@ fi
DATE=$(date -d $DATE --rfc-3339=date) DATE=$(date -d $DATE --rfc-3339=date)
export DATE export DATE
#
# create directories
#
mkdir -p R/phreeqc/R
mkdir -p R/phreeqc/src/phreeqcpp
mkdir -p R/phreeqc/data
# #
# set VER # set VER
# #
@ -51,4 +46,4 @@ export REL
# sed files # sed files
/bin/sh jenkins-dist.sh -v ${VER} -r ${REL} -d ${DATE} -pr ${TAG} /bin/sh jenkins-dist.sh -v ${VER} -r ${REL} -d ${DATE} -pr ${TAG}
cd R cd R
make VERSION=${VER} RELEASE_DATE=${DATE} check_built make VERSION=${VER} RELEASE_DATE=${DATE} check