forked from OpenLineage/OpenLineage
-
Notifications
You must be signed in to change notification settings - Fork 0
87 lines (82 loc) · 2.84 KB
/
website-snapshot.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
name: Build & Deploy spec to Github Pages
on:
pull_request:
branches:
- main
push:
branches:
- main
# testing only, not allowed to run on OpenLineage/OpenLineage repo
- docs-deploy
permissions:
id-token: write
jobs:
site-deploy:
name: Build and Publish To openlineage-site repo
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
path: 'source'
- uses: actions/checkout@v4
with:
repository: 'pawel-big-lebowski/openlineage-site' # TODO: remove this
path: 'target'
token: ${{ secrets.ACTIONS_GITHUB_TOKEN }}
- uses: actions/setup-node@v4
with:
node-version: 22
cache: "npm"
cache-dependency-path: source/website/package-lock.json
- uses: actions/setup-java@v4
with:
distribution: 'corretto'
java-version: '17'
- uses: shogo82148/actions-setup-perl@v1
with:
perl-version: "5.38"
- name: Regenerate Javadoc to website
run: |
cd source/client/java
./gradlew javadoc
cp -r build/docs/javadoc ../../website/static/apidocs
- name: Install dependencies
run: |
cd source/website
yarn install --frozen-lockfile
- name: Generate openapi
run: |
SPEC_DIR="$(pwd)/source/website/static/spec"
APIDOC_DIR="$(pwd)/source/website/static/apidocs"
pushd $SPEC_DIR
LATEST_VERSION=$(find . -maxdepth 1 | grep -v 'facets' | grep '[0-9]*-[0-9]-[0-9]' | sort -Vr | head -1)
echo latest version is $LATEST_VERSION
rm -f ./OpenLineage.json 2>/dev/null
perl -i -pe"s/version: [[:alnum:]\.-]*/version: ${LATEST_VERSION:2}/g" ./OpenLineage.yml
echo Versions updated
mkdir "${LATEST_VERSION}/facets"
for i in $(ls -d ./facets/* | sort); do cp $i/*.json ${LATEST_VERSION}/facets; done;
echo "LATEST_VERSION=${LATEST_VERSION}" >> "$GITHUB_ENV"
pushd $LATEST_VERSION
ln -sf ../OpenLineage.yml .
popd
- name: Generate redoc
run: |
npm install redoc-cli
yarn run redoc-cli build -o source/website/static/apidocs/openapi/index.html source/website/static/spec/$LATEST_VERSION/OpenLineage.yml --title "OpenLineage API Docs"
- name: Clean temp files
run: |
pushd source/website/static/spec/$LATEST_VERSION
rm -rf facets
rm OpenLineage.yml
popd
- name: Push target repo
run: |
rm -r target/*
cp -r source/website/* target
cd target
git config user.name "GitHub Action Website Snapshot"
git config user.email "<>"
git add *
git commit -m "refreshing website content from main repo"
git push