@@ -3,16 +3,16 @@ name: Build & Deploy Docs
3
3
on :
4
4
push :
5
5
branches :
6
- - master
6
+ - master
7
7
paths :
8
- - ' docs/**'
9
- - ' .github/workflows/docs.yaml'
8
+ - " docs/**"
9
+ - " .github/workflows/docs.yaml"
10
10
pull_request :
11
11
branches :
12
- - master
12
+ - master
13
13
paths :
14
- - ' docs/**'
15
- - ' .github/workflows/docs.yaml'
14
+ - " docs/**"
15
+ - " .github/workflows/docs.yaml"
16
16
17
17
env :
18
18
NETLIFY_SITE_ID : " 842923e2-f262-4e62-9e52-cbdcfadc6a47"
21
21
22
22
jobs :
23
23
run :
24
-
25
24
runs-on : ubuntu-18.04
26
25
27
26
steps :
28
- - uses : actions/checkout@v1
29
- - name : Use Node.js
30
- uses : actions/setup-node@v1
31
- - name : Build latest version of docs
32
- run : |
33
- cp versions.json versions.all.json
34
- LATEST_VERSION=$(node ./ci-gen-version.js)
35
-
36
- npm install
37
- npm run build
38
- working-directory : ./docs/website
39
- env :
40
- NPM_CONFIG_GLOBALCONFIG : " dist/npm/etc /npmrc"
41
- NPM_REGISTRY_TOKEN : ${{ secrets.NPM_DEVSPACE_REGISTRY_TOKEN }}
42
- - name : Deploy preview site on netlify
43
- run : |
44
- npm install -g netlify-cli
45
- netlify deploy --auth=$NETLIFY_AUTH_TOKEN --site=$NETLIFY_SITE_ID --dir=$OUT_DIR
46
- working-directory : ./docs/website
47
- - name : Merge docs pages of previous versions with current version
48
- if : github.ref == 'refs/heads/master'
49
- run : |
50
- LATEST_VERSION=$(node -e "var versions = require('./versions.all.json'); console.log(versions[0]);")
51
- PREVIOUS_VERSION=$(node -e "var versions = require('./versions.all.json'); console.log(versions[1]);")
52
-
53
- echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] http://packages.cloud.google.com/apt cloud-sdk main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list
54
- curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key --keyring /usr/share/keyrings/cloud.google.gpg add -
55
- sudo apt-get update && sudo apt-get install -y google-cloud-sdk
56
-
57
- echo $GCLOUD_DOCS_SERVICE_ACCOUNT >gcloud-sa.json
58
- gcloud auth activate-service-account --key-file=gcloud-sa.json
59
- gcloud config set project $GCLOUD_PROJECT
60
-
61
- mv $OUT_DIR ${OUT_DIR}-latest
62
- mkdir -p $OUT_DIR/docs-tmp
63
- gsutil -m cp -r gs://$GCLOUD_BUCKET/* $OUT_DIR
64
-
65
- mv $OUT_DIR/docs/v* $OUT_DIR/docs-tmp
66
- rm -rf $OUT_DIR/docs-tmp/$LATEST_VERSION
67
- rm -rf $OUT_DIR/docs
68
-
69
- mv $OUT_DIR/docs-tmp $OUT_DIR/docs
70
-
71
- CACHED_VERSION_LINKS=$(head -n 1 $OUT_DIR/versions.html | sed -E 's~^.*<h3 id="archive">.*<tbody>(.*)</tbody>.*$~\1~')
72
- PREVIOUS_VERSION_CACHED=$(echo $CACHED_VERSION_LINKS | sed -E 's~^<tr><th>([^<]*).*$~\1~')
73
-
74
- if [ "$PREVIOUS_VERSION_CACHED" != "$PREVIOUS_VERSION" ]; then
75
- CACHED_VERSION_LINKS="<tr><th>$PREVIOUS_VERSION</th><td><a href="/docs/$PREVIOUS_VERSION/introduction">Documentation</a></td><td><a href="https://github.com/devspace-cloud/devspace/releases/tag/$PREVIOUS_VERSION">Release Notes</a></td></tr>$CACHED_VERSION_LINKS"
76
- fi
77
-
78
- sed -Ei "s~^(.*<h3 id=\"archive\">.*<tbody>)(.*)(</tbody>.*)$~\1$CACHED_VERSION_LINKS\3~" ${OUT_DIR}-latest/versions.html
79
-
80
- cp ${OUT_DIR}-latest/versions.html ${OUT_DIR}-latest/versions/index.html
81
- cp ${OUT_DIR}-latest/versions.html ${OUT_DIR}-latest/en/versions.html
82
- cp ${OUT_DIR}-latest/versions.html ${OUT_DIR}-latest/en/versions/index.html
83
-
84
- cp -r ${OUT_DIR}-latest/* $OUT_DIR
85
- rm -rf $OUT_DIR/sitemap.xml
86
-
87
- gsutil -m rsync -d -r -x "docs/next/.*" $OUT_DIR gs://$GCLOUD_BUCKET/
88
- working-directory : ./docs/website
89
- env :
90
- GCLOUD_DOCS_SERVICE_ACCOUNT : ${{ secrets.GCLOUD_DOCS_SERVICE_ACCOUNT }}
91
- GCLOUD_PROJECT : " devspace-docs"
92
- GCLOUD_BUCKET : " docs-site"
93
- - name : Deploy production site on netlify
94
- if : github.ref == 'refs/heads/master'
95
- run : |
96
- netlify deploy --auth=$NETLIFY_AUTH_TOKEN --site=$NETLIFY_SITE_ID --dir=$OUT_DIR --prod
97
- working-directory : ./docs/website
27
+ - uses : actions/checkout@v1
28
+ - name : Use Node.js
29
+ uses : actions/setup-node@v1
30
+ - name : Build latest version of docs
31
+ run : |
32
+ cp versions.json versions.all.json
33
+ LATEST_VERSION=$(node ./ci-gen-version.js)
34
+
35
+ npm install
36
+ npm run build
37
+ working-directory : ./docs/website
38
+ env :
39
+ NPM_CONFIG_GLOBALCONFIG : " ../../ dist/npm/config /npmrc"
40
+ NPM_REGISTRY_TOKEN : ${{ secrets.NPM_REGISTRY_TOKEN }}
41
+ - name : Deploy preview site on netlify
42
+ run : |
43
+ npm install -g netlify-cli
44
+ netlify deploy --auth=$NETLIFY_AUTH_TOKEN --site=$NETLIFY_SITE_ID --dir=$OUT_DIR
45
+ working-directory : ./docs/website
46
+ - name : Merge docs pages of previous versions with current version
47
+ if : github.ref == 'refs/heads/master'
48
+ run : |
49
+ LATEST_VERSION=$(node -e "var versions = require('./versions.all.json'); console.log(versions[0]);")
50
+ PREVIOUS_VERSION=$(node -e "var versions = require('./versions.all.json'); console.log(versions[1]);")
51
+
52
+ echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] http://packages.cloud.google.com/apt cloud-sdk main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list
53
+ curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key --keyring /usr/share/keyrings/cloud.google.gpg add -
54
+ sudo apt-get update && sudo apt-get install -y google-cloud-sdk
55
+
56
+ echo $GCLOUD_DOCS_SERVICE_ACCOUNT >gcloud-sa.json
57
+ gcloud auth activate-service-account --key-file=gcloud-sa.json
58
+ gcloud config set project $GCLOUD_PROJECT
59
+
60
+ mv $OUT_DIR ${OUT_DIR}-latest
61
+ mkdir -p $OUT_DIR/docs-tmp
62
+ gsutil -m cp -r gs://$GCLOUD_BUCKET/* $OUT_DIR
63
+
64
+ mv $OUT_DIR/docs/v* $OUT_DIR/docs-tmp
65
+ rm -rf $OUT_DIR/docs-tmp/$LATEST_VERSION
66
+ rm -rf $OUT_DIR/docs
67
+
68
+ mv $OUT_DIR/docs-tmp $OUT_DIR/docs
69
+
70
+ CACHED_VERSION_LINKS=$(head -n 1 $OUT_DIR/versions.html | sed -E 's~^.*<h3 id="archive">.*<tbody>(.*)</tbody>.*$~\1~')
71
+ PREVIOUS_VERSION_CACHED=$(echo $CACHED_VERSION_LINKS | sed -E 's~^<tr><th>([^<]*).*$~\1~')
72
+
73
+ if [ "$PREVIOUS_VERSION_CACHED" != "$PREVIOUS_VERSION" ]; then
74
+ CACHED_VERSION_LINKS="<tr><th>$PREVIOUS_VERSION</th><td><a href="/docs/$PREVIOUS_VERSION/introduction">Documentation</a></td><td><a href="https://github.com/devspace-cloud/devspace/releases/tag/$PREVIOUS_VERSION">Release Notes</a></td></tr>$CACHED_VERSION_LINKS"
75
+ fi
76
+
77
+ sed -Ei "s~^(.*<h3 id=\"archive\">.*<tbody>)(.*)(</tbody>.*)$~\1$CACHED_VERSION_LINKS\3~" ${OUT_DIR}-latest/versions.html
78
+
79
+ cp ${OUT_DIR}-latest/versions.html ${OUT_DIR}-latest/versions/index.html
80
+ cp ${OUT_DIR}-latest/versions.html ${OUT_DIR}-latest/en/versions.html
81
+ cp ${OUT_DIR}-latest/versions.html ${OUT_DIR}-latest/en/versions/index.html
82
+
83
+ cp -r ${OUT_DIR}-latest/* $OUT_DIR
84
+ rm -rf $OUT_DIR/sitemap.xml
85
+
86
+ gsutil -m rsync -d -r -x "docs/next/.*" $OUT_DIR gs://$GCLOUD_BUCKET/
87
+ working-directory : ./docs/website
88
+ env :
89
+ GCLOUD_DOCS_SERVICE_ACCOUNT : ${{ secrets.GCLOUD_DOCS_SERVICE_ACCOUNT }}
90
+ GCLOUD_PROJECT : " devspace-docs"
91
+ GCLOUD_BUCKET : " docs-site"
92
+ - name : Deploy production site on netlify
93
+ if : github.ref == 'refs/heads/master'
94
+ run : |
95
+ netlify deploy --auth=$NETLIFY_AUTH_TOKEN --site=$NETLIFY_SITE_ID --dir=$OUT_DIR --prod
96
+ working-directory : ./docs/website
0 commit comments