-
Notifications
You must be signed in to change notification settings - Fork 8
131 lines (110 loc) · 4.09 KB
/
quarto_netlify.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
on:
push:
branches: [ main ]
pull_request:
types:
- opened
- reopened
- synchronize
- closed
name: Render project
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build-deploy:
runs-on: ubuntu-latest
env:
BRANCH_NAME: ${{ github.head_ref || github.ref_name }}
NETLIFY_SITE_ID: 397b6416-708f-4133-afe9-9a07ed2e03bf
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: r-lib/actions/setup-r@v2
with:
r-version: "4.3"
use-public-rspm: true
- name: Install system dependencies for igraph
run: sudo apt-get update && sudo apt-get install -y libglpk40
- name: Set up environment
run: |
echo "LINUX_VERSION=$(uname -rs)" >> $GITHUB_ENV
- name: Cache Python packages
uses: actions/cache@v4
with:
path: renv/python/virtualenvs/renv-python-3.10
key: python-${{env.LINUX_VERSION}}-${{ env.pythonLocation }}-${{ hashFiles('requirements.txt') }}
restore-keys: python-${{env.LINUX_VERSION}}-${{ env.pythonLocation }}-
- uses: r-lib/actions/setup-renv@v2
- uses: viash-io/viash-actions/setup@v6
- name: Install Quarto
uses: quarto-dev/quarto-actions/setup@v2
with:
version: 1.5.57
- name: If PR, cache several directories
if: github.event_name == 'pull_request'
uses: actions/cache@v2
with:
key: quarto-${{ github.ref_name }}
restore-keys: quarto
path: |
.quarto
_site
_freeze
- name: Render with Quarto
shell: bash -l {0}
run: |
quarto render --profile evaluate_code
## push actions
- name: Deploy push
uses: data-intuitive/netlify-deploy-site@v1
if: github.event_name == 'push'
with:
auth: ${{ secrets.NETLIFY_AUTH_TOKEN }}
site: ${{ env.NETLIFY_SITE_ID }}
dir: '_site'
alias: "main"
message: 'Deploy main ${{ github.ref }}'
## release actions
- name: Deploy release to Netlify 🚀
uses: data-intuitive/netlify-deploy-site@v1
if: github.event_name == 'push'
with:
auth: ${{ secrets.NETLIFY_AUTH_TOKEN }}
site: ${{ env.NETLIFY_SITE_ID }}
dir: '_site'
prod: true
message: 'Deploy production ${{ github.ref }}'
## PR actions
- name: Deploy preview
id: deploy_preview
if: github.event_name == 'pull_request'
uses: data-intuitive/netlify-deploy-site@v1
with:
auth: ${{ secrets.NETLIFY_AUTH_TOKEN }}
site: ${{ env.NETLIFY_SITE_ID }}
dir: '_site'
alias: "${{ env.BRANCH_NAME }}"
message: 'Deploy preview ${{ github.ref }}'
- name: Comment on PR (success)
uses: thollander/actions-comment-pull-request@v2
if: github.event_name == 'pull_request'
with:
message: |
[![Deploy: success](https://img.shields.io/badge/Deploy-success-success)](${{ steps.deploy_preview.outputs.deploy-url }})
comment_tag: deploy_status
- name: Comment on PR (deploy failure)
uses: thollander/actions-comment-pull-request@v2
if: github.event_name == 'pull_request' && failure() && steps.deploy_preview.outcome == 'failure'
with:
message: |
[![Deploy: failure](https://img.shields.io/badge/Deploy-failure-critical)](${{ steps.deploy_preview.outputs.logs }})
comment_tag: deploy_status
- name: Comment on PR (actions failure)
uses: thollander/actions-comment-pull-request@v2
if: github.event_name == 'pull_request' && failure() && steps.deploy_preview.outcome != 'failure'
with:
message: |
[![Deploy: failure](https://img.shields.io/badge/Deploy-failure-critical)](https://github.com/${{github.repository}}/actions/runs/${{github.run_id}}/jobs/${{github.job}})
comment_tag: deploy_status