Skip to content

Commit 437e201

Browse files
committed
Merge branch 'master' into guidelines-authors
2 parents 2917174 + b8b11c5 commit 437e201

File tree

7 files changed

+153
-106
lines changed

7 files changed

+153
-106
lines changed
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
---
2+
title: Computo's publication workflow
3+
date: '2025-07-31'
4+
description: Diagram summarizing the publication workflow
5+
categories:
6+
- authors
7+
- reproducibility
8+
format:
9+
html:
10+
toc: true
11+
page-layout: article
12+
---
13+
14+
The Computo workflows provide a streamlined publishing pipeline for authors to submit and render Quarto articles directly on GitHub Pages without requiring technical expertise.
15+
16+
### Workflow Summary
17+
18+
![Computo Workflow Structure](/assets/img/2025-03-20-revised-github-process/workflow.svg){#fig-workflow width="100%"}
19+
20+
As illustrated in @fig-workflow, the publication process consists of two main phases:
21+
22+
1. **Environment Setup and Caching** (`global-env.yml`)
23+
- Detects and installs required dependencies (Python, R)
24+
- Caches the environment for faster subsequent runs
25+
- Customizable via `setup-env-ci.sh`
26+
2. **Rendering and Deployment** (`publish-render.yml`)
27+
- Renders Quarto documents to HTML
28+
- Publish the output to GitHub Pages
29+
- Customizable via `setup-render-ci.sh`
30+
31+
Authors only need to reference the main workflow file (`build.yml`) in their repository, which orchestrates these processes.
32+
33+
### Key Benefits
34+
35+
- **Simplified Process**: Authors need minimal GitHub Actions knowledge
36+
- **Optimized Performance**: Environment caching for faster builds
37+
- **Customization Points**: Two script entry points for custom configurations
38+
- **Automated Deployment**: Direct publishing to GitHub Pages
39+
40+
Authors simply use the `build.yml` workflow in their repository to trigger the complete process from environment setup to final publication.
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
---
2+
title: Reproducing an existing paper published in Computo
3+
date: '2025-07-31'
4+
description: How to reproduce a published paper?
5+
categories:
6+
- authors
7+
- reproducibility
8+
format:
9+
html:
10+
toc: true
11+
page-layout: article
12+
---
13+
14+
Our publication workflow makes it very easy for anyone to reproduce a given paper. Consider for instance the paper <https://doi.org/10.57750/sfxn-1t05> associated with the Github repository [published-202412-giorgi-efficient][https://github.com/computorg/published-202412-giorgi-efficient]. You first need to clone the repository. Then you need to install Quarto and the Computo Quarto extension in the `published-202412-giorgi-efficient` folder that the cloning step made. Finally, you can render the document. In summary, you do that with the following commands:
15+
16+
```bash
17+
git clone https://github.com/computorg/published-202412-giorgi-efficient.git
18+
cd published-202412-giorgi-efficient
19+
quarto add computorg/computo-quarto-extension
20+
quarto render
21+
```

blog/3021-04-23-submission-process/index.qmd

Lines changed: 0 additions & 16 deletions
This file was deleted.

site/_handle_dependencies_R.qmd

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,13 +36,11 @@ Now you can write your contribution, using all the packages you need. Install th
3636
renv::install("ggplot2") # or equivalently install.packages("ggplot2")
3737
```
3838

39-
Non-CRAN packages (*e.g.* Github packages) can be used. To install such packages, you need to first install the **remotes** package. Then, if you want to install the development version of *e.g.* the **gt** package hosted by `rstudio` GitHub account (useful for nicely and easily formatting tables btw), you would do:
39+
Non-CRAN packages (*e.g.* Github packages) can be used. For instance, if you want to install the development version of *e.g.* the **gt** package hosted by `rstudio` GitHub account, you would do
4040

4141
```r
42-
install.packages("remotes")
43-
remotes::install_github("rstudio/gt")
42+
renv::install("rstudio/gt")
4443
```
45-
4644
Once you are done, you need to freeze the environment and package versions that are going to be used to run the calculations within your paper. This is achieved via:
4745

4846
```r
@@ -51,7 +49,11 @@ renv::snapshot()
5149
```
5250

5351
::: {.callout-warning title="The `renv.lock` file"}
54-
The `renv.lock` should be versioned with git. Other files that `renv::snapshot()` might produce should be listed under `.gitignore` and therefore not put under versioning.
52+
The `renv.lock` should be versioned with git. Other files that `renv::snapshot()` might produce should be listed under `.gitignore` and therefore not put under versioning (which is done in the default template version of `.gitignore`).
53+
:::
54+
55+
::: {.callout-tip title="R version"}
56+
A seamless workflow has been reported with `renv` when using `R` version `>= 4.5.1`. We recommand to update your system to this version or later.
5557
:::
5658

5759
More details for using **renv** can be found:

site/_handle_dependencies_python.qmd

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,4 +51,4 @@ Currently and differently from what we provide for R users, we do not have imple
5151

5252
::: {.callout-tip title="`requirements.txt`"}
5353
If your work exclusively depends on packages installed from `pip` and you are used to listing dependencies in a `requirements.txt` file, you can ship this file instead of the `environment.yml` file and our CI/CD scripts should run smoothly.
54-
:::
54+
:::

0 commit comments

Comments
 (0)