Skip to content

Commit

Permalink
Merge branch 'main' into bump-wheel_0.41.2_to_0.41.3
Browse files Browse the repository at this point in the history
  • Loading branch information
DerThorsten authored Sep 6, 2024
2 parents 94a4879 + 952d5e8 commit 246da20
Show file tree
Hide file tree
Showing 269 changed files with 16,542 additions and 2,014 deletions.
110 changes: 110 additions & 0 deletions .github/workflows/bootstrap_python.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
name: bootstrap python
on:
workflow_dispatch:
jobs:

build_simple_with_pixi:
strategy:
matrix:
os: [ubuntu-latest, macos-12, macos-14]
fail-fast: false
runs-on: ${{ matrix.os }}
env:
TARGET_PLATFORM: emscripten-wasm32
GITHUB_OWNER: "emscripten-forge"

steps:
################################################################
# SETUP
################################################################
- name: Checkout repo
uses: actions/checkout@v4
with:
fetch-depth: 0

################################################################
# CONFIG
################################################################
- uses: prefix-dev/[email protected]
with:
pixi-version: v0.20.1

- run: |
# build compiler packages
pixi run setup
# build bzip2 sqlite zlib and libffi
pixi run build-emscripten-wasm32-pkg recipes/recipes_emscripten/bzip2
pixi run build-emscripten-wasm32-pkg recipes/recipes_emscripten/zlib
pixi run build-emscripten-wasm32-pkg recipes/recipes_emscripten/sqlite
pixi run build-emscripten-wasm32-pkg recipes/recipes_emscripten/libffi
# build python
pixi run build-emscripten-wasm32-pkg recipes/recipes_emscripten/python
# build pyjs
pixi run build-emscripten-wasm32-pkg recipes/recipes_emscripten/pyjs
# build regex
pixi run build-emscripten-wasm32-pkg recipes/recipes_emscripten/regex
- name: Upload packages to Quetz
if: github.repository == 'emscripten-forge/recipes'
env:
QUETZ_API_KEY: ${{ secrets.QUETZ_API_KEY }}
MATRIX_OS: ${{ matrix.os }}
run: |
overall_success=true
if [ "${MATRIX_OS}" = "ubuntu-latest" ]; then
platforms=(emscripten-wasm32 linux-64 noarch)
elif [ "${MATRIX_OS}" = "macos-12" ]; then
platforms=(osx-64)
elif [ "${MATRIX_OS}" = "macos-14" ]; then
platforms=(osx-arm64)
fi
# Loop over platforms
for platform in "${platforms[@]}"; do
if [ -d "${GITHUB_WORKSPACE}/output/${platform}" ]; then
cd "${GITHUB_WORKSPACE}/output/${platform}"
files=$(ls *.tar.bz2 2> /dev/null)
if [ -n "$files" ]; then
for package in $files; do
echo "Uploading ${package} for ${platform}"

FILE_SHA256=$(sha256sum "${package}" | awk '{ print $1 }')
CURL_CMD=(
pixi run curl -H "X-API-Key: ${QUETZ_API_KEY}" -X POST
"https://beta.mamba.pm/api/channels/emscripten-forge/upload/${package}?sha256=${FILE_SHA256}&force=false"
--data-binary "@${package}"
-o response_body.txt
-w "%{http_code}"
-s
)
HTTP_STATUS=$( "${CURL_CMD[@]}" )
RESPONSE=$(<response_body.txt)

# Check the HTTP status code and log appropriate message
if [[ "$HTTP_STATUS" -eq 201 ]]; then
echo "Upload succeeded for ${package} on ${platform}"
else
echo "Error: Upload failed with HTTP status $HTTP_STATUS"
echo "Response Body: $RESPONSE"
overall_success=false
fi
rm -f response_body.txt
done
fi
fi
done

# Check if all uploads were successful
if [ "$overall_success" = false ]; then
echo "One or more uploads failed"
exit 1
else
echo "All uploads completed successfully"
fi

65 changes: 47 additions & 18 deletions .github/workflows/build_recipes.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,6 @@ jobs:
GITHUB_OWNER: "emscripten-forge"
strategy:
fail-fast: false
matrix:
emsdk_ver: ["3.1.45"]

steps:
################################################################
Expand Down Expand Up @@ -53,20 +51,13 @@ jobs:
- name: Install micromamba
uses: mamba-org/setup-micromamba@v1
with:
micromamba-version: '1.5.8-0'
environment-file: ci_env.yml
environment-name: ci
init-shell: bash
cache-environment: true
post-cleanup: 'all'

################################################################
# EMSDK
################################################################
- name: Setup emsdk
shell: bash -el {0}
run: |
./emsdk/setup_emsdk.sh ${{ matrix.emsdk_ver }} $(pwd)/emsdk_install
################################################################
# POST ENV INSTALL CONFIG
################################################################
Expand Down Expand Up @@ -99,13 +90,51 @@ jobs:
################################################################
- name: Upload packages to Quetz
if: (github.event_name == 'push' && github.repository == 'emscripten-forge/recipes')
shell: bash -el {0}
shell: bash -l {0}
env:
QUETZ_API_KEY: ${{ secrets.QUETZ_API_KEY }}
run: |
# loop over {emscripten-wasm32, linux-64, noarch}
overall_success=true
# Loop over {emscripten-wasm32, linux-64, noarch}
for platform in emscripten-wasm32 linux-64 noarch; do
mkdir -p ${GITHUB_WORKSPACE}/output/${platform}
for package in $(ls ${GITHUB_WORKSPACE}/output/${platform}/*.tar.bz2); do
echo "Uploading ${package} for ${platform} (build with rattler)"
QUETZ_API_KEY=${{ secrets.QUETZ_API_KEY}} quetz-client -u https://beta.mamba.pm post_file_to_channel emscripten-forge ${package}
done
done
if [ -d "${GITHUB_WORKSPACE}/output/${platform}" ]; then
cd "${GITHUB_WORKSPACE}/output/${platform}"
files=$(ls *.tar.bz2 2> /dev/null)
if [ -n "$files" ]; then
for package in $files; do
echo "Uploading ${package} for ${platform}"
FILE_SHA256=$(sha256sum "${package}" | awk '{ print $1 }')
CURL_CMD=(
curl -H "X-API-Key: ${QUETZ_API_KEY}" -X POST
"https://beta.mamba.pm/api/channels/emscripten-forge/upload/${package}?sha256=${FILE_SHA256}&force=false"
--data-binary "@${package}"
-o response_body.txt
-w "%{http_code}"
-s
)
HTTP_STATUS=$( "${CURL_CMD[@]}" )
RESPONSE=$(<response_body.txt)
# Check the HTTP status code and log appropriate message
if [[ "$HTTP_STATUS" -eq 201 ]]; then
echo "Upload succeeded for ${package} on ${platform}"
else
echo "Error: Upload failed with HTTP status $HTTP_STATUS"
echo "Response Body: $RESPONSE"
overall_success=false
fi
rm -f response_body.txt
done
fi
fi
done
# Check if all uploads were successful
if [ "$overall_success" = false ]; then
echo "One or more uploads failed"
exit 1
else
echo "All uploads completed successfully"
fi
38 changes: 38 additions & 0 deletions .github/workflows/on_compiler_changes.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: compile pyjs
on:
push:
branches:
- 'main'
paths:
- 'recipes/recipes/emscripten_emscripten-wasm3/**'
pull_request:
paths:
- 'recipes/recipes/emscripten_emscripten-wasm32/**'
jobs:

build_simple_with_pixi:
runs-on: ubuntu-latest
env:
TARGET_PLATFORM: emscripten-wasm32
GITHUB_OWNER: "emscripten-forge"
strategy:
fail-fast: false

steps:
################################################################
# SETUP
################################################################
- name: Checkout repo
uses: actions/checkout@v4
with:
fetch-depth: 0

################################################################
# CONFIG
################################################################
- uses: prefix-dev/[email protected]
with:
pixi-version: v0.20.1
- run: |
pixi run setup
pixi run build-emscripten-wasm32-pkg recipes/recipes_emscripten/pyjs
8 changes: 6 additions & 2 deletions .github/workflows/run_with_pixi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,13 @@ on:
push:
branches:
- 'main'
paths-ignore:
- 'recipes/**'
- 'docs/**'
pull_request:
paths-ignore:
- 'recipes/**'
- 'docs/**'
jobs:

build_simple_with_pixi:
Expand All @@ -13,8 +19,6 @@ jobs:
GITHUB_OWNER: "emscripten-forge"
strategy:
fail-fast: false
matrix:
emsdk_ver: ["3.1.45"]

steps:
################################################################
Expand Down
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# Emscripten forge
[![CI](https://img.shields.io/badge/emscripten_forge-docs-yellow)](https://emscripten-forge.org)
[![CI](https://img.shields.io/badge/emscripten_forge-blog-pink)](https://emscripten-forge.org)

[![CI](https://img.shields.io/badge/emscripten_forge-blog-pink)](https://emscripten-forge.org/blog/)


Visit [emscripten-forge.org](https://emscripten-forge.org) for more information and the documentation.
5 changes: 3 additions & 2 deletions ci_env.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@ dependencies:
- python
- ruamel.yaml
- typer
- rattler-build >= 0.16.0
- rattler-build >=0.18.1
- pixi
- quetz-client
- jinja2
- curl
- requests
45 changes: 27 additions & 18 deletions conda_build_config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,41 +9,50 @@ c_compiler:
then:
- clang

c_compiler_version:


cxx_compiler:
- if: emscripten
then:
- 3
- emscripten
- if: linux
then:
- 9
- gxx
- if: osx
then:
- 11
- clangxx

cxx_compiler:
c_compiler_version:
- if: emscripten
then:
- emscripten
- 3.1.45
- if: linux
then:
- gxx
- 9
- if: osx
then:
- clangxx

- 11


cxx_compiler_version:
- if: emscripten
then:
- 3
- 3.1.45
- if: linux
then:
- 9
- if: osx
then:
- 11

cuda_compiler:
- undefined
zip_keys:
-
- cxx_compiler_version
- c_compiler_version


cuda_compiler:
- undefined
cuda_compiler_version:
- None
cudnn:
Expand All @@ -53,7 +62,7 @@ _libgcc_mutex:
- 0.1 conda_forge

target_goexe:
-
-
target_gobin:
- '${PREFIX}/bin/'

Expand Down Expand Up @@ -202,7 +211,7 @@ pin_run_as_build:
xz:
max_pin: x.x
zeromq:
max_pin: x.x
max_pin: x.x

# Pinning packages

Expand All @@ -220,7 +229,7 @@ liblapacke:
blas_impl:
- openblas
- mkl
- blis
- blis

abseil_cpp:
- '20210324.2'
Expand Down Expand Up @@ -367,7 +376,7 @@ hdf4:
hdf5:
- 1.12.2
icu:
- '69'
- '73'
ipopt:
- 3.14
isl:
Expand Down Expand Up @@ -558,12 +567,12 @@ poco:
poppler:
- '22.01'
proj:
- 8.2.0
- 9.4.1
pybind11_abi:
- 4

pip:
- '22.0.4'
- '24.0.*'
python:
- 3.11.* *_cpython
# # part of a zip_keys: python, python_impl, numpy
Expand Down
Loading

0 comments on commit 246da20

Please sign in to comment.