-
Notifications
You must be signed in to change notification settings - Fork 63
108 lines (101 loc) · 3.55 KB
/
main.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
name: Build docs
on:
# Specify to run a workflow manually from the Actions tab on GitHub.
workflow_dispatch:
# Gives the workflow permissions to clone the repo and create a page deployment
permissions:
id-token: write
pages: write
env:
PRODUCT: StardustDocs/d
ARTIFACT: webHelpD2-all.zip
ALGOLIA_ARTIFACT: algolia-indexes-D.zip
ALGOLIA_APP_NAME: JWPLKSKZVF
ALGOLIA_INDEX_NAME: prod_DATAFRAME_HELP
ALGOLIA_KEY: ${{ secrets.ALGOLIA_KEY }}
CONFIG_JSON_PRODUCT: Dataframe
CONFIG_JSON_VERSION: '0.14'
jobs:
build-job:
runs-on: ubuntu-latest
container: registry.jetbrains.team/p/writerside/builder/writerside-builder:2.1.1481-p3872-df
outputs:
artifact: ${{ steps.generate-artifact.outputs.artifact }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Prepare for build
run: |
apt-get update
apt-get install -y zip
mkdir -p artifacts
- name: Build docs # and include sitemap.xml TODO: uncomment when sitemap.xml is available
run: |
export DISPLAY=:99
Xvfb :99 &
/opt/builder/bin/idea.sh helpbuilderinspect -source-dir . -product $PRODUCT --runner github -output-dir artifacts/ || true
test -e artifacts/$ARTIFACT && echo $ARTIFACT exists
# cp docs/StardustDocs/sitemap.xml artifacts/sitemap.xml
# cd artifacts
# zip -r $ARTIFACT sitemap.xml
working-directory: ${{ github.workspace }}
- name: Upload modified documentation artifact
uses: actions/upload-artifact@v4
with:
name: help
path: artifacts/${{ env.ARTIFACT }}
retention-days: 7
- name: Upload algolia-indexes
uses: actions/upload-artifact@v4
with:
name: algolia-indexes
path: artifacts/${{ env.ALGOLIA_ARTIFACT }}
retention-days: 7
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
# Requires the build-job results
needs: build-job
runs-on: ubuntu-latest
steps:
- name: Download artifact
uses: actions/download-artifact@v4
with:
name: help
- name: Unzip artifact
uses: montudor/action-zip@v1
with:
args: unzip -qq ${{ env.ARTIFACT }} -d dir
- name: Setup Pages
uses: actions/configure-pages@v5
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: dir
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
publish-indexes:
# Requires the build-job results
needs: build-job
runs-on: ubuntu-latest
container:
image: registry.jetbrains.team/p/writerside/builder/algolia-publisher:2.0.32-3
steps: # Using v3 for compatibility with algolia-indexes
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
with:
name: algolia-indexes
- uses: montudor/action-zip@v1
with:
args: unzip -qq algolia-indexes-D.zip -d algolia-indexes
- run: |
env "algolia-key=${{env.ALGOLIA_KEY}}" java -jar /opt/builder/help-publication-agent.jar \
update-index \
--application-name ${{env.ALGOLIA_APP_NAME}} \
--index-name ${{env.ALGOLIA_INDEX_NAME}} \
--product ${{env.CONFIG_JSON_PRODUCT}} \
--version ${{env.CONFIG_JSON_VERSION}} \
--index-directory algolia-indexes/ \
2>&1 | tee algolia-update-index-log.txt