Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 12 additions & 1 deletion .github/workflows/build_and_publish_template.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
fail-fast: false
matrix:
python-version: ["3.10", "3.11", "3.12", "3.13"]
os: [ubuntu-22.04, ubuntu-22.04-arm, macos-14]
os: [windows-2022] # ubuntu-22.04, ubuntu-22.04-arm, macos-14,

env:
USE_BAZEL_VERSION: "7.2.1"
Expand All @@ -43,6 +43,17 @@ jobs:
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Setup Developer Command Prompt
if: ${{ matrix.os == 'windows-2022' }}
uses: ilammy/msvc-dev-cmd@v1.13.0
- name: Set up Visual Studio shell
if: ${{ matrix.os == 'windows-2022' }}
uses: egor-tensin/vs-shell@v2
with:
arch: x64
- name: Setup MS Build
if: ${{ matrix.os == 'windows-2022' }}
uses: microsoft/setup-msbuild@v2
- uses: "actions/checkout@v3"
- name: Create directory
run: |
Expand Down
55 changes: 29 additions & 26 deletions oss/runner_common.sh
Original file line number Diff line number Diff line change
Expand Up @@ -19,30 +19,33 @@ setup_env_vars_py() {
# under $SOURCE_DIR/all_dist.
build_and_test_array_record() {
printf 'Creating ArrayRecord wheel for Python Version %s\n' "$PYTHON_VERSION"
if [ "$(uname)" = "Darwin" ]; then
setup_env_vars_py "$PYTHON_MAJOR_VERSION" "$PYTHON_MINOR_VERSION"
"$PYTHON_BIN" -m pip install -U setuptools wheel etils[epath]
sh "${SOURCE_DIR}"'/oss/build_whl.sh'
else
# Automatically decide which platform to build for by checking on which
# platform this runs.
AUDITWHEEL_PLATFORM='manylinux2014_'"$(uname -m)"
docker rmi -f array_record:${PYTHON_VERSION}
docker rm -f array_record
DOCKER_BUILDKIT=1 docker build --progress=plain --no-cache \
--build-arg AUDITWHEEL_PLATFORM="${AUDITWHEEL_PLATFORM}" \
--build-arg PYTHON_VERSION="${PYTHON_MAJOR_VERSION}""${PYTHON_MINOR_VERSION}" \
--build-arg BAZEL_VERSION="${BAZEL_VERSION}" \
-t array_record:"${PYTHON_VERSION}" "${SOURCE_DIR}"'/oss'
case "$(uname)" in
Darwin*|CYGWIN*|MINGW*|MSYS_NT*)
setup_env_vars_py "$PYTHON_MAJOR_VERSION" "$PYTHON_MINOR_VERSION"
"$PYTHON_BIN" -m pip install -U setuptools wheel etils[epath]
sh "${SOURCE_DIR}"'/oss/build_whl.sh'
;;
*)
# Automatically decide which platform to build for by checking on which
# platform this runs.
AUDITWHEEL_PLATFORM='manylinux2014_'"$(uname -m)"
docker rmi -f array_record:${PYTHON_VERSION}
docker rm -f array_record
DOCKER_BUILDKIT=1 docker build --progress=plain --no-cache \
--build-arg AUDITWHEEL_PLATFORM="${AUDITWHEEL_PLATFORM}" \
--build-arg PYTHON_VERSION="${PYTHON_MAJOR_VERSION}""${PYTHON_MINOR_VERSION}" \
--build-arg BAZEL_VERSION="${BAZEL_VERSION}" \
-t array_record:"${PYTHON_VERSION}" "${SOURCE_DIR}"'/oss'

docker run --rm -a stdin -a stdout -a stderr \
--env PYTHON_VERSION="${PYTHON_MAJOR_VERSION}"'.'"${PYTHON_MINOR_VERSION}" \
--env PYTHON_MAJOR_VERSION="${PYTHON_MAJOR_VERSION}" \
--env PYTHON_MINOR_VERSION="${PYTHON_MINOR_VERSION}" \
--env BAZEL_VERSION="${BAZEL_VERSION}" \
--env AUDITWHEEL_PLATFORM="${AUDITWHEEL_PLATFORM}" \
-v "${SOURCE_DIR}":"${OUTPUT_DIR}" \
--name array_record array_record:"${PYTHON_VERSION}" \
sh oss/build_whl.sh
fi
}
docker run --rm -a stdin -a stdout -a stderr \
--env PYTHON_VERSION="${PYTHON_MAJOR_VERSION}"'.'"${PYTHON_MINOR_VERSION}" \
--env PYTHON_MAJOR_VERSION="${PYTHON_MAJOR_VERSION}" \
--env PYTHON_MINOR_VERSION="${PYTHON_MINOR_VERSION}" \
--env BAZEL_VERSION="${BAZEL_VERSION}" \
--env AUDITWHEEL_PLATFORM="${AUDITWHEEL_PLATFORM}" \
-v "${SOURCE_DIR}":"${OUTPUT_DIR}" \
--name array_record array_record:"${PYTHON_VERSION}" \
sh oss/build_whl.sh
;;
esac
}
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.