Skip to content

Commit e4a8e18

Browse files
authored
Create website.yml
1 parent d891d41 commit e4a8e18

File tree

1 file changed

+164
-0
lines changed

1 file changed

+164
-0
lines changed

.github/workflows/website.yml

Lines changed: 164 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,164 @@
1+
name: Docs
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
pull_request:
8+
branches:
9+
- main
10+
schedule:
11+
- cron: "0 2 * * *"
12+
13+
jobs:
14+
build:
15+
name: Build website artifacts
16+
runs-on: ubuntu-latest
17+
steps:
18+
- name: Checkout uutils.github.io Repository
19+
uses: actions/checkout@v4
20+
with:
21+
repository: uutils/uutils.github.io
22+
path: './uutils.github.io'
23+
fetch-depth: 0
24+
25+
- name: Checkout Coreutils Repository
26+
uses: actions/checkout@v4
27+
with:
28+
repository: uutils/coreutils
29+
path: './coreutils'
30+
fetch-depth: 0
31+
32+
- name: Checkout Findutils Repository
33+
uses: actions/checkout@v4
34+
with:
35+
repository: uutils/findutils
36+
path: './findutils'
37+
fetch-depth: 0
38+
39+
- name: Install `rust` toolchain
40+
uses: dtolnay/rust-toolchain@stable
41+
42+
- name: Install `libacl`
43+
run: |
44+
sudo apt install libacl1-dev
45+
46+
- name: Download tldr archive
47+
run: |
48+
curl https://tldr.sh/assets/tldr.zip --output coreutils/docs/tldr.zip
49+
50+
- name: Install necessary tools (mdbook and mdbook-toc)
51+
uses: taiki-e/install-action@v2
52+
with:
53+
tool: mdbook,mdbook-toc
54+
55+
- name: Build Coreutils Docs
56+
run: |
57+
cd coreutils
58+
cargo run --bin uudoc --all-features
59+
cd docs
60+
mdbook build
61+
62+
- name: Build Findutils Docs
63+
run: |
64+
cd findutils
65+
cd docs
66+
mdbook build
67+
68+
- name: Run Zola
69+
uses: shalzz/zola-deploy-action@v0.18.0
70+
env:
71+
BUILD_DIR: uutils.github.io
72+
BUILD_ONLY: true
73+
74+
- name: Collect results into `public` folder
75+
run: |
76+
cp -r uutils.github.io/public public
77+
cp -r coreutils/docs/book public/coreutils/docs
78+
cp -r findutils/docs/book public/findutils/docs
79+
80+
- name: Upload artifact for checking the output
81+
uses: actions/upload-artifact@v4
82+
with:
83+
path: ./public
84+
85+
- name: Upload artifact for pages
86+
uses: actions/upload-pages-artifact@v3
87+
with:
88+
path: ./public
89+
90+
# dev-docs:
91+
# name: generate the dev doc
92+
# runs-on: ubuntu-latest
93+
# steps:
94+
# - name: Checkout repository
95+
# uses: actions/checkout@v4
96+
# with:
97+
# repository: uutils/coreutils
98+
# path: './coreutils'
99+
# fetch-depth: 0
100+
101+
# - name: Install `rust` toolchain
102+
# uses: actions-rs/toolchain@v1
103+
# with:
104+
# toolchain: stable
105+
# default: true
106+
# profile: minimal
107+
108+
# - name: Build dev documentation
109+
# run: |
110+
# cd coreutils
111+
# cargo doc --no-deps --all-features --workspace
112+
113+
# - name: Deploy Docs
114+
# uses: peaceiris/actions-gh-pages@v3
115+
# with:
116+
# github_token: ${{ secrets.GITHUB_TOKEN }}
117+
# publish_dir: ./coreutils/target/doc
118+
# destination_dir: coreutils/dev/
119+
120+
# build-report:
121+
# name: generate the build report
122+
# runs-on: ubuntu-latest
123+
# steps:
124+
# - name: Checkout repository
125+
# uses: actions/checkout@v4
126+
# with:
127+
# repository: uutils/coreutils
128+
# path: './coreutils'
129+
# fetch-depth: 0
130+
131+
# - name: Install `rust` toolchain
132+
# uses: actions-rs/toolchain@v1
133+
# with:
134+
# toolchain: nightly
135+
# default: true
136+
# profile: minimal
137+
138+
# - name: Build report
139+
# run: |
140+
# cd coreutils
141+
# cargo +nightly build --timings=html -Zunstable-options
142+
143+
# - name: Deploy build report
144+
# uses: peaceiris/actions-gh-pages@v3
145+
# with:
146+
# github_token: ${{ secrets.GITHUB_TOKEN }}
147+
# publish_dir: ./coreutils/target/cargo-timings/
148+
# destination_dir: cargo-timings/
149+
150+
# Deployment job
151+
deploy:
152+
permissions:
153+
contents: read
154+
pages: write
155+
id-token: write
156+
environment:
157+
name: github-pages
158+
url: ${{ steps.deployment.outputs.page_url }}
159+
runs-on: ubuntu-latest
160+
needs: build
161+
steps:
162+
- name: Deploy to GitHub Pages
163+
id: deployment
164+
uses: actions/deploy-pages@v4

0 commit comments

Comments
 (0)