Skip to content

Commit

Permalink
Merge pull request #3311 from PecanProject/release/v1.8.0
Browse files Browse the repository at this point in the history
release v1.8.0
  • Loading branch information
robkooper committed Jul 13, 2024
2 parents 166f285 + 9ced374 commit 1f4c805
Show file tree
Hide file tree
Showing 1,491 changed files with 54,689 additions and 18,402 deletions.
2 changes: 2 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
- [ ] Immediately
- [ ] Within one week
- [ ] When possible

## Types of changes
<!--- What types of changes does your code introduce? Put an `x` in all the boxes that apply: -->
- [ ] Bug fix (non-breaking change which fixes an issue) <!-- please add issue number -->
Expand All @@ -24,6 +25,7 @@
<!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
<!--- If you're unsure about any of these, don't hesitate to ask. We're here to help! -->
- [ ] My change requires a change to the documentation.
- [ ] My name is in the list of CITATION.cff
- [ ] I have updated the CHANGELOG.md.
- [ ] I have updated the documentation accordingly.
- [ ] I have read the **CONTRIBUTING** document.
Expand Down
57 changes: 57 additions & 0 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
#
# Add project labels
#

# Add 'Documentation' label to any changes in the documentation

'Documentation':
- book_source/**
- documentation/**
- CONTRIBUTING.md
- DEBUGING.md
- DEV-INTRO.md
- README.md

# Add 'Dockerfile' label to any changes in the docker directory
'Dockerfile':
- docker/**


# Add 'Website' label to any changes in the web directory

'Website':
- web/**

# Add 'Base' label to any changes in the base directory

'Base':
- base/**

# Add 'Models' label to any changes in the models directory

'Models':
- models/**

# Add 'Modules' label to any changes in the modules directory

'Modules':
- modules/**

# Add 'GitHub Actions' label to any changes in the .github/workflows directory

'GitHub Actions':
- .github/workflows/**

# Add 'Scripts' label to any changes in the scripts directory

'Scripts':
- scripts/**

# Add 'Tests' label to any changes in the tests directory

'Tests':
- tests/**
- '**/tests/**'
- '!**/tests/Rcheck_reference.log'


30 changes: 30 additions & 0 deletions .github/settings.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
#Define the colour of labels over here

labels:

- name: "Documentation"
color: a2dcf2

- name: "Dockerfile"
color: 0052CC

- name: "Website"
color: 84b6eb

- name: "Base"
color: 1ED626

- name: "Models"
color: C5DEF5

- name: "Modules"
color: FBCA04

- name: "GitHub Actions"
color: 84b6eb

- name: "Scripts"
color: 3B8924

- name: "Tests"
color: ff8c00
33 changes: 19 additions & 14 deletions .github/workflows/book.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@ on:
branches:
- master
- develop

tags:
- '*'

pull_request:
merge_group:
workflow_dispatch:

jobs:
bookdown:
Expand All @@ -18,48 +18,53 @@ jobs:
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}

container:
image: pecan/depends:R4.0.3
image: pecan/depends:R4.1

steps:
# checkout source code
- uses: actions/checkout@v2
# install rmarkdown
- name: Install rmarkdown
- uses: actions/checkout@v4
# install bookdown
- name: Install bookdown
run: |
Rscript -e 'install.packages(c("rmarkdown","bookdown"))'
Rscript \
-e 'repos <- c(getOption("repos"), sub(r"(\d{4}-\d{2}-\d{2})", "latest", getOption("repos")))' \
-e 'remotes::install_version("bookdown", ">= 0.31", dependencies = TRUE, upgrade = FALSE, repos = repos)'
# copy files
- name: copy extfiles
run: |
mkdir -p book_source/extfiles
cp -f documentation/tutorials/01_Demo_Basic_Run/extfiles/* book_source/extfiles
# compile PEcAn code
- name: build
run: make -j1
- name: build needed modules
run: |
R CMD INSTALL base/logger
R CMD INSTALL base/remote
R CMD INSTALL base/utils
# render book
- name: Render Book
run: |
cd book_source
Rscript -e 'options(bookdown.render.file_scope=FALSE); bookdown::render_book("index.Rmd", "bookdown::gitbook")'
# save artifact
- uses: actions/upload-artifact@v2
- uses: actions/upload-artifact@v3
with:
name: pecan-documentation
path: book_source/_book/
# download documentation repo
- name: Checkout documentation repo
if: github.event_name != 'pull_request'
uses: actions/checkout@v2
if: github.event_name == 'push'
uses: actions/checkout@v4
with:
repository: ${{ github.repository_owner }}/pecan-documentation
path: pecan-documentation
token: ${{ secrets.GH_PAT }}
# upload new documentation
- name: publish to github
if: github.event_name != 'pull_request'
if: github.event_name == 'push'
run: |
git config --global user.email "[email protected]"
git config --global user.name "GitHub Documentation Robot"
export VERSION=${GITHUB_REF##*/}
export VERSION=$(echo $GITHUB_REF | sed 's,.*/,,' )
cd pecan-documentation
mkdir -p $VERSION
rsync -a --delete ../book_source/_book/ ${VERSION}/
Expand Down
69 changes: 69 additions & 0 deletions .github/workflows/check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
name: check

on:
workflow_call:
inputs:
R-version:
required: true
type: string
make-grouping:
required: true
type: string

env:
R_LIBS_USER: /usr/local/lib/R/site-library
LC_ALL: en_US.UTF-8
NCPUS: 2
PGHOST: postgres
CI: true

jobs:
check:
runs-on: ubuntu-latest

env:
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
_R_CHECK_LENGTH_1_CONDITION_: true
_R_CHECK_LENGTH_1_LOGIC2_: true
# Avoid compilation check warnings that come from the system Makevars
# See https://stat.ethz.ch/pipermail/r-package-devel/2019q2/003898.html
_R_CHECK_COMPILATION_FLAGS_KNOWN_: -Wformat -Werror=format-security -Wdate-time
# Keep R checks from trying to consult the very flaky worldclockapi.com
_R_CHECK_SYSTEM_CLOCK_: 0

container:
image: pecan/depends:R${{ inputs.R-version }}

steps:
# checkout source code
- name: work around https://github.com/actions/checkout/issues/766
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
- uses: actions/checkout@v4
with:
set-safe-directory: false

# Forbid spaces in names. Yes, *we* know it's not 1980 anymore, but Make doesn't.
- name: check for filenames that would confuse Make
run: |
SPACENAMES=`find . -name '* *'`
if [ -n "$SPACENAMES" ]; then
echo "::error file=${SPACENAMES}::Spaces in filename(s): ${SPACENAMES}. Please rename these files by converting spaces to underscores."
exit 1
fi
# install additional tools needed
- name: install utils
run: apt-get update && apt-get install -y postgresql-client qpdf
- name: install new dependencies
run: Rscript scripts/generate_dependencies.R && cd docker/depends && Rscript pecan.depends.R

# run PEcAn checks
# The package names of base, modules, and models are passed as matrix variables to avoid repeatability of code
- name: check
run: make -j1 ${{ inputs.make-grouping }}
env:
REBUILD_DOCS: "FALSE"
RUN_TESTS: "FALSE"

- name: check for out-of-date files
uses: infotroph/tree-is-clean@v1
43 changes: 43 additions & 0 deletions .github/workflows/ci-weekly.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: Weekly Checks

on:
# every Monday at 4:30 AM
# (hopefully after the 1:30 AM `depends` build has completed)
schedule:
- cron: '30 4 * * 1'
workflow_dispatch:

jobs:
test:
strategy:
fail-fast: false
matrix:
R:
- "devel"
uses: ./.github/workflows/test.yml
with:
R-version: ${{ matrix.R }}
secrets: inherit

check:
strategy:
fail-fast: false
matrix:
R:
- "devel"
uses: ./.github/workflows/check.yml
with:
R-version: ${{ matrix.R }}
make-grouping: "check"
secrets: inherit

sipnet:
strategy:
fail-fast: false
matrix:
R:
- "devel"
uses: ./.github/workflows/sipnet.yml
with:
R-version: ${{ matrix.R }}
secrets: inherit
Loading

0 comments on commit 1f4c805

Please sign in to comment.