-
Notifications
You must be signed in to change notification settings - Fork 0
127 lines (113 loc) · 3.91 KB
/
pages.yaml
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
image: nixery.dev/shell/nix/git/gnugrep/wget/emacs
pages:
variables:
HOME: ${PWD}
RAPPORT_EMACS__URI_LIBDIR: "${PWD}"
RAPPORT__URI_VAULT: "${PWD}"
RAPPORT__URI_VAULT_CFGS: "${PWD}"
script:
- wget 'https://raw.githubusercontent.com/hniksic/emacs-htmlize/master/htmlize.el'
- emacs --batch -Q --eval '(setq org-confirm-babel-evaluate nil)' --file=control.org -f org-mode --load htmlize.el -f org-html-export-to-html --kill
- mkdir public
- mv control.html public/index.html
artifacts:
paths:
# The folder that contains the files to be exposed at the Page URL
- public
rules:
# This ensures that only pushes to the default branch will trigger a pages deploy
- if: $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH
# --- --- ---
name: GitHub Actions Demo
run-name: ${{ github.actor }} is testing out GitHub Actions 🚀
on: [push]
jobs:
Explore-GitHub-Actions:
runs-on: ubuntu-latest
steps:
- run: echo "🎉 The job was automatically triggered by a ${{ github.event_name }} event."
- run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by GitHub!"
- run: echo "🔎 The name of your branch is ${{ github.ref }} and your repository is ${{ github.repository }}."
- name: Check out repository code
uses: actions/checkout@v4
- run: echo "💡 The ${{ github.repository }} repository has been cloned to the runner."
- run: echo "🖥️ The workflow is now ready to test your code on the runner."
- name: List files in the repository
run: |
ls ${{ github.workspace }}
- run: echo "🍏 This job's status is ${{ job.status }}."
# --- --- ---
name: CI
# ...
jobs:
build:
name: Test
runs-on: ubuntu-latest
steps:
- name: render-site
run: <run the tests with code coverage>
- name: Setup Pages
if: github.ref == 'refs/heads/public'
uses: actions/configure-pages@v3
- name: Upload Artifact
if: github.ref == 'refs/heads/main'
uses: actions/upload-pages-artifact@v1
with:
# location of the coverage artifacts
path: "./coverage"
test:
name: Test
runs-on: ubuntu-latest
steps:
- name: Run Tests
run: <run the tests with code coverage>
- name: Setup Pages
if: github.ref == 'refs/heads/main'
uses: actions/configure-pages@v3
- name: Upload Artifact
if: github.ref == 'refs/heads/main'
uses: actions/upload-pages-artifact@v1
with:
# location of the coverage artifacts
path: "./coverage"
deploy-coverage:
if: github.ref == 'refs/heads/public'
runs-on: ubuntu-latest
needs: test
permissions:
pages: write
id-token: write
environment:
# environment created automatically by GitHub
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v2
# --- --- ---
name: github-pages-publish
on:
push:
branches: [ public ]
jobs:
github-pages-publish:
runs-on: ubuntu-latest
container:
image: nixery.dev/shell/nix/git/gnugrep/wget/emacs
steps:
- name: Check for dockerenv file
run: (ls /.dockerenv && echo Found dockerenv) || (echo No dockerenv)
- name: fetch a recent htmlize
run: wget 'https://raw.githubusercontent.com/hniksic/emacs-htmlize/master/htmlize.el'
- name: render using ox-html
run: emacs --batch -Q --eval '(setq org-confirm-babel-evaluate nil)' --file=control.org -f org-mode --load htmlize.el -f org-html-export-to-html --kill
- name:
run: mkdir public
- name: asdf
run: mv control.html public/index.html
- name: Deploy GH Pages
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./public