Skip to content

Commit

Permalink
Merge branch 'main' into bump-awkward-cpp_30_to_31
Browse files Browse the repository at this point in the history
  • Loading branch information
DerThorsten authored Jun 28, 2024
2 parents 02ea996 + 8232546 commit 95eefe2
Show file tree
Hide file tree
Showing 165 changed files with 13,241 additions and 941 deletions.
64 changes: 46 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 @@ -59,14 +57,6 @@ jobs:
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 +89,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.
4 changes: 2 additions & 2 deletions ci_env.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ dependencies:
- python
- ruamel.yaml
- typer
- rattler-build >= 0.16.0
- rattler-build >= 0.18.1
- pixi
- quetz-client
- jinja2
- curl
43 changes: 26 additions & 17 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 @@ -563,7 +572,7 @@ pybind11_abi:
- 4

pip:
- '22.0.4'
- '24.0.*'
python:
- 3.11.* *_cpython
# # part of a zip_keys: python, python_impl, numpy
Expand Down
7 changes: 7 additions & 0 deletions docs/blog/.authors.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,10 @@ authors:
avatar: https://avatars.githubusercontent.com/u/904752?v=4 # Author avatar
slug: DerThorsten # Author profile slug
url: https://github.com/DerThorsten # Author website URL

wolfv:
name: Wolf Vollprecht
description: main author of emscripten-forge
avatar: https://avatars.githubusercontent.com/u/885054?v=4
slug: wolfv # Author profile slug
url: https://prefix.dev # Author website URL
15 changes: 15 additions & 0 deletions docs/blog/posts/repack_emscripten.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
date: 2024-05-24
category:
- rust

authors:
- derthorsten
- wolfv
---

# Emscripten is now a proper package

So far, the emscripten package was a bit of a hack. It relied on a text file `~.emsdkdir` in the home directory which contained the directory of the emscripten installation. This was not very nice, because it was hard to build packages for several emscripten versions.

But now, emscripten is a repacked package that installs emscripten into the conda environment. This allows in principle to compile packages for multiple emscripten versions.
Loading

0 comments on commit 95eefe2

Please sign in to comment.