-
Notifications
You must be signed in to change notification settings - Fork 0
98 lines (88 loc) · 3.23 KB
/
deploy.yml
File metadata and controls
98 lines (88 loc) · 3.23 KB
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
# Simple workflow for deploying static content to GitHub Pages
name: Deploy static content to Pages
on:
# Runs on pushes targeting the default branch
push:
branches: ["main"]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
cancel-in-progress: false
jobs:
build_index:
uses: ./.github/workflows/build_book.yml
with:
is_index: true
deploy_index:
needs: build_index
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
steps:
- name: Download artifact
uses: actions/download-artifact@v8
with:
name: book
path: _site
#- run: ls -l _site
- name: Setup Pages
uses: actions/configure-pages@v6
- name: Upload pages artifact
uses: actions/upload-pages-artifact@v5
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v5
deploy_books:
needs: deploy_index
runs-on: ubuntu-slim
environment: deploy
env:
GH_TOKEN: ${{ secrets.PAT_DOC_WORKFLOW }}
strategy:
matrix:
site:
- user-guide
- tutorials
- quick-help
- origin-help
- x-function
- originc
- labtalk
- python
- externalpython
- com
- labview
- app
- appdev
- codebuild
- orglab
- license
steps:
- name: Dispatch deploy.yml and capture the run url
id: dispatch
run: echo "deploy_run_url=$(gh workflow run deploy.yml --repo originlab/${{ matrix.site }})" >> "$GITHUB_ENV"
- name: Grab the run id
id: grabRunId
run: echo "id=$(echo "$deploy_run_url" | grep -oE "[0-9]+$")" >> "$GITHUB_OUTPUT"
- name: Watch the deployment
run: gh run watch ${{ steps.grabRunId.outputs.id }} -R originlab/${{ matrix.site }} -i 30 --exit-status
- name: Grab the job id
id: grabJobId
run: echo "id=$(gh run view ${{ steps.grabRunId.outputs.id }} -R originlab/${{ matrix.site }} | grep 'build_book / build' | grep -oP '\(ID \K\d+')" >> "$GITHUB_OUTPUT"
- name: Print converter output
run: >
gh run view ${{ steps.grabRunId.outputs.id }} -j ${{ steps.grabJobId.outputs.id }} -R originlab/${{ matrix.site }} --log
| awk '/generator\.csproj/{f=1} /upload-artifact/{f=0} f{sub(/^[[:space:]]*build_book.*\t[0-9][^[:space:]]+Z/, ""); print}'
- name: Print the book artifact summary
run: >
gh run view ${{ steps.grabRunId.outputs.id }} -j ${{ steps.grabJobId.outputs.id }} -R originlab/${{ matrix.site }} --log
| awk '/Run actions\/upload-artifact|Finished uploading/{f=1} /Beginning upload|Artifact download/{f=0} f{sub(/^[[:space:]]*build_book.*\t[0-9][^[:space:]]+Z/, ""); print}'