build-and-test.yml (prophet-1.0) | : | build-and-test.yml (prophet-1.1) | ||
---|---|---|---|---|
name: Build | name: Build | |||
on: | on: | |||
push: | push: | |||
branches: [ master ] | branches: [ main ] | |||
pull_request: | pull_request: | |||
branches: [ master ] | branches: [ main ] | |||
jobs: | jobs: | |||
build-and-test: | build-and-test-python: | |||
runs-on: ubuntu-latest | runs-on: ubuntu-latest | |||
strategy: | strategy: | |||
matrix: | matrix: | |||
python-version: [3.7, 3.8] | python-version: [3.7, 3.8] | |||
fail-fast: false | fail-fast: false | |||
steps: | steps: | |||
- name: "Get OS version (Linux)" | ||||
if: startsWith(runner.os, 'Linux') | ||||
run: | | ||||
echo "OS_VERSION=`lsb_release -sr`" >> $GITHUB_ENV | ||||
echo "PIP_DEFAULT_CACHE=$HOME/.cache/pip" >> $GITHUB_ENV | ||||
echo "DEFAULT_HOME=$HOME" >> $GITHUB_ENV | ||||
- uses: actions/checkout@v2 | - uses: actions/checkout@v2 | |||
- name: Set up Python ${{ matrix.python-version }} | - name: Set up Python ${{ matrix.python-version }} | |||
uses: actions/setup-python@v2 | uses: actions/setup-python@v2 | |||
with: | with: | |||
python-version: ${{ matrix.python-version }} | python-version: ${{ matrix.python-version }} | |||
- name: "Restore pip cache" | ||||
id: cache-pip | ||||
uses: actions/cache@v2 | ||||
with: | ||||
path: ${{ env.PIP_DEFAULT_CACHE }} | ||||
key: ${{ runner.os }}-pip-${{ hashFiles('**/python/requirements.txt') }} | ||||
-v1 | ||||
restore-keys: | | ||||
${{ runner.os }}-pip- | ||||
- name: Install and test | - name: Install and test | |||
run: | | run: | | |||
pip install -U -r python/requirements.txt dask[dataframe] distributed | pip install -U -r python/requirements.txt dask[dataframe] distributed | |||
cd python && python setup.py develop test | cd python | |||
python setup.py clean | python setup.py develop test | |||
rm -rf prophet/stan_model | ||||
wget https://github.com/stan-dev/cmdstan/releases/download/v2.26.1/cmdst | build-and-test-r: | |||
an-2.26.1.tar.gz -O /tmp/cmdstan.tar.gz > /dev/null | ||||
tar -xvf /tmp/cmdstan.tar.gz -C /tmp > /dev/null | runs-on: ${{ matrix.config.os }} | |||
make -C /tmp/cmdstan-2.26.1/ build > /dev/null | strategy: | |||
CMDSTAN=/tmp/cmdstan-2.26.1 STAN_BACKEND=CMDSTANPY python setup.py devel | matrix: | |||
op test | config: | |||
- {os: ubuntu-20.04, r: 'release', rspm: "https://packagemanager.rstud | ||||
io.com/cran/__linux__/focal/latest"} | ||||
fail-fast: false | ||||
env: | ||||
R_REMOTES_NO_ERRORS_FROM_WARNINGS: true | ||||
RSPM: ${{ matrix.config.rspm }} | ||||
steps: | ||||
- uses: actions/checkout@v2 | ||||
- name: Set up R | ||||
uses: r-lib/actions/setup-r@v1 | ||||
with: | ||||
r-version: ${{ matrix.config.r }} | ||||
- name: Install remotes | ||||
run: | | ||||
install.packages('remotes') | ||||
shell: Rscript {0} | ||||
- name: Query dependencies | ||||
run: | | ||||
saveRDS(remotes::dev_package_deps(pkgdir = "R/", dependencies = TRUE), " | ||||
.github/depends.Rds", version = 2) | ||||
writeLines(sprintf("R-%i.%i", getRversion()$major, getRversion()$minor), | ||||
".github/R-version") | ||||
shell: Rscript {0} | ||||
- name: Restore R package cache | ||||
if: runner.os != 'Windows' | ||||
uses: actions/cache@v2 | ||||
with: | ||||
path: ${{ env.R_LIBS_USER }} | ||||
key: ${{ runner.os }}-${{ hashFiles('.github/R-version') }}-1-${{ hashFi | ||||
les('.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(os = "ubunt | ||||
u", os_release = "20.04", path = "R/"))') | ||||
- name: Install dependencies | ||||
run: | | ||||
remotes::install_deps(pkgdir = "R/", dependencies = NA) | ||||
remotes::install_cran(c("rcmdcheck", "knitr", "testthat", "readr", "rmar | ||||
kdown")) | ||||
install.packages(c("cmdstanr", "posterior"), repos = c("https://mc-stan. | ||||
org/r-packages/", getOption("repos"))) | ||||
shell: Rscript {0} | ||||
- name: Check | ||||
env: | ||||
_R_CHECK_CRAN_INCOMING_REMOTE_: false | ||||
run: | | ||||
options(crayon.enabled = TRUE) | ||||
rcmdcheck::rcmdcheck(path = "R/", 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 | ||||
End of changes. 6 change blocks. | ||||
3 lines changed or deleted | 18 lines changed or added |