FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
sqlmodel/scripts/deploy_docs_status.py at main · b-src/sqlmodel · GitHub
b-src
sqlmodel
Repository navigation
Code
Pull requests
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
sqlmodel
/
scripts
/
deploy_docs_status.py
Copy path
More file actions
More file actions
Latest commit
History
History
History
89 lines (75 loc) · 2.56 KB
Breadcrumbs
sqlmodel
/
scripts
/
deploy_docs_status.py
Copy path
File metadata and controls
89 lines (75 loc) · 2.56 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
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
import
logging
import
re
from
github
import
Github
from
pydantic
import
SecretStr
from
pydantic_settings
import
BaseSettings
class
Settings
(
BaseSettings
):
github_repository
:
str
github_token
:
SecretStr
deploy_url
:
str
|
None
=
None
commit_sha
:
str
run_id
:
int
is_done
:
bool
=
False
def
main
():
logging
.
basicConfig
(
level
=
logging
.
INFO
)
settings
=
Settings
()
logging
.
info
(
f"Using config:
{
settings
.
model_dump_json
()
}
"
)
g
=
Github
(
settings
.
github_token
.
get_secret_value
())
repo
=
g
.
get_repo
(
settings
.
github_repository
)
use_pr
=
next
(
(
pr
for
pr
in
repo
.
get_pulls
()
if
pr
.
head
.
sha
==
settings
.
commit_sha
),
None
)
if
not
use_pr
:
logging
.
error
(
f"No PR found for hash:
{
settings
.
commit_sha
}
"
)
return
commits
=
list
(
use_pr
.
get_commits
())
current_commit
=
[
c
for
c
in
commits
if
c
.
sha
==
settings
.
commit_sha
][
0
]
run_url
=
f"https://github.com/
{
settings
.
github_repository
}
/actions/runs/
{
settings
.
run_id
}
"
if
settings
.
is_done
and
not
settings
.
deploy_url
:
current_commit
.
create_status
(
state
=
"success"
,
description
=
"No Docs Changes"
,
context
=
"deploy-docs"
,
target_url
=
run_url
,
)
logging
.
info
(
"No docs changes found"
)
return
if
not
settings
.
deploy_url
:
current_commit
.
create_status
(
state
=
"pending"
,
description
=
"Deploying Docs"
,
context
=
"deploy-docs"
,
target_url
=
run_url
,
)
logging
.
info
(
"No deploy URL available yet"
)
return
current_commit
.
create_status
(
state
=
"success"
,
description
=
"Docs Deployed"
,
context
=
"deploy-docs"
,
target_url
=
run_url
,
)
files
=
list
(
use_pr
.
get_files
())
docs_files
=
[
f
for
f
in
files
if
f
.
filename
.
startswith
(
"docs/"
)]
deploy_url
=
settings
.
deploy_url
.
rstrip
(
"/"
)
links
:
list
[
str
]
=
[]
for
f
in
docs_files
:
match
=
re
.
match
(
r"docs/(.*)"
,
f
.
filename
)
assert
match
path
=
match
.
group
(
1
)
if
path
.
endswith
(
"index.md"
):
path
=
path
.
replace
(
"index.md"
,
""
)
else
:
path
=
path
.
replace
(
".md"
,
"/"
)
link
=
f"
{
deploy_url
}
/
{
path
}
"
links
.
append
(
link
)
links
.
sort
()
message
=
f"📝 Docs preview for commit
{
settings
.
commit_sha
}
at:
{
deploy_url
}
"
if
links
:
message
+=
"
\n
\n
### Modified Pages
\n
\n
"
message
+=
"
\n
"
.
join
([
f"*
{
link
}
"
for
link
in
links
])
print
(
message
)
use_pr
.
as_issue
().
create_comment
(
message
)
logging
.
info
(
"Finished"
)
if
__name__
==
"__main__"
:
main
()
Back
|
FazBrowse Home
|
New Git URL