Skip to content

Commit 9177745

Browse files
committed
add python workflow-scripts
1 parent 3449c4b commit 9177745

File tree

4 files changed

+85
-10
lines changed

4 files changed

+85
-10
lines changed

.github/workflows/release.yml

Lines changed: 31 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,24 +7,45 @@ jobs:
77
publish-doc:
88
runs-on: ubuntu-20.04
99
steps:
10+
- name: Install ansi2txt tool
11+
run: |
12+
sudo apt-get update
13+
sudo apt-get install colorized-logs
1014
- uses: actions/checkout@v2
15+
with:
16+
token: ${{ secrets.PAT_TOKEN }}
1117
- name: Generate API Doc
1218
run: sbt doc
1319
- name: Make API Doc directory outside repository
14-
run: mkdir ../api_docs
20+
run: mkdir -p ../api_docs
1521
- name: Move API Docs to outside directory
16-
run: mv target/scala-[0-9].[0-9][0-9] ../api_docs/
17-
- name: check something
18-
run: ls ../api_docs
19-
- name: git checkout master
22+
run: |
23+
source .workflow-scripts/put_scala_docs_aside.sh ./target ../api_docs
24+
cp .workflow-scripts/move_scala_docs.sh ../api_docs/
25+
cp .workflow-scripts/update_json_api_versions.py ../api_docs/
26+
echo "scala_versions=$scala_versions" >> $GITHUB_ENV
27+
echo "api_version=$api_version" >> $GITHUB_ENV
28+
- name: Git checkout on gh-pages
2029
run: |
2130
git fetch
22-
git checkout master
23-
- name: something else2
24-
run: pwd
25-
- name: something else3
26-
run: ls ../
31+
git checkout gh-pages
32+
- name: Move API Docs to website API Docs directory
33+
run: |
34+
cd ..
35+
export scala_versions="${{ env.scala_versions }}"
36+
export api_version="${{ env.api_version }}"
37+
bash api_docs/move_scala_docs.sh ./api_docs "./${GITHUB_REPOSITORY#*/}/docs/_api" ./api_docs "./${GITHUB_REPOSITORY#*/}/docs/_data/api_versions.json"
38+
- name: Git add and commit on gh-pages
39+
run: |
40+
git config user.name "$GITHUB_ACTOR"
41+
git config user.email "$GITHUB_ACTOR+github-actions@users.noreply.github.com"
42+
git add docs/_api/.
43+
git add docs/_data/api_versions.json
44+
git commit -m "[RELEASE] Update doc version from branch \"$GITHUB_REF\" commit \"$GITHUB_REF\""
45+
git push
2746
47+
# - name: something else3
48+
# run: ls ../
2849
# publish-package:
2950
# runs-on: ubuntu-latest
3051
# needs: [publish-doc]
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
2+
3+
# shellcheck disable=SC2154
4+
for scala_version in $scala_versions
5+
do
6+
mkdir -p "$2/scala-$scala_version"
7+
rm -rf "$2/scala-$scala_version/latest"
8+
cp -r "$1/scala-$scala_version/$api_version" "$2/scala-$scala_version/latest"
9+
mv "$1/scala-$scala_version/$api_version" "$2/scala-$scala_version/"
10+
python "$3/update_json_api_versions.py" "$4" "$api_version" --scala-versions "$scala_versions"
11+
done
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
2+
3+
# shellcheck disable=SC2010
4+
scala_versions=$(ls "$1" | grep -Eo "[0-9]\.[0-9][0-9]")
5+
#api_version=$(sbt version | sed -r 's/[^ \t\r\n\v\f0-9\.i?n?f?o?]+ (.+)/APP_VERSION\1/' | sed -n '6p' | grep -Po '(?<=PP_VERSION)(.+)')
6+
api_version=$(sbt version | ansi2txt | tail -n1 | sed -r 's/^\[info\] (.+)$/\1/')
7+
8+
export scala_versions
9+
export api_version
10+
11+
for scala_version in $scala_versions
12+
do
13+
mkdir -p "$2/scala-$scala_version/$api_version"
14+
mv "$1/scala-$scala_version/api/" "$2/scala-$scala_version/$api_version/"
15+
done
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# -*- coding: utf-8 -*-
2+
3+
import argparse
4+
import json
5+
import os
6+
7+
8+
if __name__ == '__main__':
9+
parser = argparse.ArgumentParser()
10+
parser.add_argument('path_json')
11+
parser.add_argument('api_version')
12+
parser.add_argument('--scala-versions', dest='scala_versions', nargs='+')
13+
args = parser.parse_args()
14+
15+
if os.path.isfile(args.path_json):
16+
with open(args.path_json, 'r') as f:
17+
data = json.load(f)
18+
else:
19+
data = {}
20+
for scala_version in args.scala_versions:
21+
scala_version_indices = [i for i, data_version in enumerate(data) if data_version['scala-version'] == scala_version]
22+
if scala_version_indices:
23+
scala_version_index = scala_version_indices[0]
24+
data[scala_version_index]['json-logic-versions'] = [args.api_version] + data[scala_version_index]['json-logic-versions']
25+
else:
26+
data.append({'scala-version': scala_version, 'json-logic-versions': [args.api_version]})
27+
with open(args.path_json, 'w') as f:
28+
json.dump(data, f)

0 commit comments

Comments
 (0)