FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
codex/.github/workflows/python-runtime-build.yml at main · placrosse/codex · GitHub
placrosse
/
codex
Public
forked from
openai/codex
Notifications
You must be signed in to change notification settings
Fork
0
Star
0
Code
Pull requests
0
Actions
Projects
Security and quality
0
Insights
Additional navigation options
Code
Pull requests
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
codex
/
.github
/
workflows
/
python-runtime-build.yml
Copy path
View runs
More file actions
More file actions
Latest commit
History
History
History
121 lines (108 loc) · 4.5 KB
Breadcrumbs
codex
/
.github
/
workflows
/
python-runtime-build.yml
Copy path
File metadata and controls
121 lines (108 loc) · 4.5 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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
name
:
python-runtime-build
on
:
workflow_call
:
inputs
:
runtime_version
:
description
:
"
Runtime version to build, for example 0.136.0 or 0.136.0a2.
"
required
:
true
type
:
string
jobs
:
build-python-runtime
:
if
:
github.repository == 'openai/codex'
name
:
build-python-runtime
runs-on
:
ubuntu-latest
permissions
:
contents
:
read
steps
:
-
name
:
Checkout repository
uses
:
actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
#
v6.0.2
with
:
persist-credentials
:
false
-
name
:
Validate and resolve Python runtime release
id
:
python_runtime
shell
:
bash
env
:
REQUESTED_RUNTIME_VERSION
:
${{ inputs.runtime_version }}
run
:
|
set -euo pipefail
python3 - <<'PY'
import os
import re
from pathlib import Path
python_version = os.environ["REQUESTED_RUNTIME_VERSION"]
if match := re.fullmatch(r"([0-9]+\.[0-9]+\.[0-9]+)a([0-9]+)", python_version):
release_version = f"{match.group(1)}-alpha.{match.group(2)}"
elif re.fullmatch(r"[0-9]+\.[0-9]+\.[0-9]+", python_version):
release_version = python_version
else:
raise SystemExit(
"Python runtime version must be stable or a numbered alpha, "
f"for example 0.136.0 or 0.136.0a2; found {python_version}"
)
with Path(os.environ["GITHUB_OUTPUT"]).open("a") as output:
print(f"python_version={python_version}", file=output)
print(f"release_tag=rust-v{release_version}", file=output)
PY
-
name
:
Download Python runtime release artifacts
env
:
GH_TOKEN
:
${{ secrets.GITHUB_TOKEN }}
PYTHON_RUNTIME_VERSION
:
${{ steps.python_runtime.outputs.python_version }}
RELEASE_TAG
:
${{ steps.python_runtime.outputs.release_tag }}
run
:
|
set -euo pipefail
mkdir -p dist/python-runtime dist/python-runtime-packages
gh release download "$RELEASE_TAG" \
--repo "${GITHUB_REPOSITORY}" \
--pattern "openai_codex_cli_bin-${PYTHON_RUNTIME_VERSION}-*.whl" \
--dir dist/python-runtime
gh release download "$RELEASE_TAG" \
--repo "${GITHUB_REPOSITORY}" \
--pattern "codex-package-*-unknown-linux-musl.tar.gz" \
--dir dist/python-runtime-packages
shopt -s nullglob
wheels=(dist/python-runtime/*.whl)
if [[ "${#wheels[@]}" -ne 6 ]]; then
echo "Expected 6 Python runtime wheels for ${PYTHON_RUNTIME_VERSION}, found ${#wheels[@]}."
exit 1
fi
packages=(dist/python-runtime-packages/*.tar.gz)
if [[ "${#packages[@]}" -ne 2 ]]; then
echo "Expected 2 Linux package archives for ${PYTHON_RUNTIME_VERSION}, found ${#packages[@]}."
exit 1
fi
-
name
:
Build musllinux Python runtime wheels
env
:
RELEASE_TAG
:
${{ steps.python_runtime.outputs.release_tag }}
run
:
|
set -euo pipefail
python3 -m venv "${RUNNER_TEMP}/python-runtime-build-venv"
"${RUNNER_TEMP}/python-runtime-build-venv/bin/python" -m pip install build
while read -r target platform_tag; do
stage_dir="${RUNNER_TEMP}/openai-codex-cli-bin-${target}-${platform_tag}"
python3 sdk/python/scripts/update_sdk_artifacts.py \
stage-runtime \
"$stage_dir" \
"dist/python-runtime-packages/codex-package-${target}.tar.gz" \
--codex-version "$RELEASE_TAG" \
--platform-tag "$platform_tag"
"${RUNNER_TEMP}/python-runtime-build-venv/bin/python" -m build \
--wheel \
--outdir dist/python-runtime \
"$stage_dir"
done <<'EOF'
aarch64-unknown-linux-musl musllinux_1_1_aarch64
x86_64-unknown-linux-musl musllinux_1_1_x86_64
EOF
shopt -s nullglob
wheels=(dist/python-runtime/*.whl)
if [[ "${#wheels[@]}" -ne 8 ]]; then
echo "Expected 8 Python runtime wheels, found ${#wheels[@]}."
exit 1
fi
ls -lh dist/python-runtime
-
name
:
Upload Python runtime wheels
uses
:
actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f
#
v7.0.0
with
:
name
:
python-runtime-wheels
path
:
dist/python-runtime/*
if-no-files-found
:
error
Back
|
FazBrowse Home
|
New Git URL