Commit Graph

34 Commits

Author SHA1 Message Date
zach
1e281e93cd cleanup: remove android release (#823)
Also switches to actions-rust-lang/setup-rust-toolchain@v1 since
actions-rs/toolchain is deprecated
2025-01-28 15:53:13 -08:00
zach
f57d987d48 ci: fix android release, attempt #2 (#818) 2025-01-21 12:08:18 -08:00
zach
9da6d43f05 ci: install android libunwind before build step (#817)
Fixes #816
2025-01-21 11:41:10 -08:00
zach
d1a248e19e cleanup: stop timer from using 100% cpu when no timeouts are set (#814)
Fixes an issue reported on discord
(https://discord.com/channels/1011124058408112148/1154513155209298041/1329622656235864156)
where the timer thread is taking up an entire CPU
2025-01-20 14:01:37 -08:00
Benjamin Eckel
a367bc77a3 Add Android targets (#812)
Closes #811

Keep in mind that these targets seem to be tier 3 support and not quite
stable, but i think it's fine to open for experimenting:
https://docs.wasmtime.dev/stability-tiers.html
2025-01-14 10:23:59 -08:00
Gavin Hayes
00074fd56d feat: add releasing x86_64-unknown-linux-musl dynamic library (#753)
Fixes https://github.com/extism/extism/issues/735
2024-08-19 14:46:08 -04:00
Muhammad Azeez
49e28892bc ci: release extism.dll.lib and extism.dll.a (#633)
Related to #141 and #584 
Follow up of #632
2023-12-13 22:29:29 +03:00
Chris Dickinson
f7d297f98f build: drive crate versions from workspace; drive workspace version from ci (#604)
This is an attempt to sand down [a sharp
edge](https://github.com/extism/extism/actions/runs/6949120346/job/18906546065#step:4:476)
around releases – keeping the `Cargo.toml` versions in-sync with the
release tag, & the versions of the workspace crates aligned with one
another.
2023-11-27 16:14:56 -08:00
Gavin Hayes
9992d34510 feat: add x86_64-unknown-linux-musl target, specifying target to make (#571)
The `x86_64-unknown-linux-musl` target does not build dynamic libraries
for now:
```
 warning: dropping unsupported crate type `cdylib` for target `x86_64-unknown-linux-musl`
```

A target may now be optionally specified to the root `Makefile`,
example:
`make RUST_TARGET=x86_64-unknown-linux-musl && sudo make
RUST_TARGET=x86_64-unknown-linux-musl install`

The new musl targets may be used to create entirely static binaries with
libextism. See the new `musl-static` target in `libextism/Makefile`
2023-11-06 17:06:44 -05:00
Gavin Hayes
1aff1ce69c feat: pkg-config (#559)
Adds `pkg-config` configs for dynamic and static builds of libextism.
Example usage is shown in `libextism/Makefile`.

Added the `.in` versions of the `.pc` files to non-MSVC releases.
2023-11-02 19:38:50 -04:00
Gavin Hayes
fab44c5db8 feat: build static libextism (#552)
* libextism is now built to crate-type `staticlib` as recommend by
@zshipko
* updated `Makefile` to install and uninstall the static library.
* updated c example to have `static` target to link libextism statically
* Compiler is no longer hardcoded to `clang`. Set `CC` to use a compiler
other than the system compiler. Tested with `gcc` and `clang`.
* added `static-artifact` to actions release. Untested as it's only ran
on push with tag.

---------

Co-authored-by: zach <zach@dylibso.com>
2023-10-27 19:10:57 -04:00
Chris Dickinson
c2910bdc60 fix(release): bump maturin manylinux floor for ring 0.17 dep (#548)
An update to `ring` broke the maturin-extism builds. Tracked this down
to [1]; the maintainers of `ring` don't intend to support linux sysroots
that old. This PR updates the ARM Linux builds in particular to pull in
a newer manylinux target. Tested on a [private
fork](https://github.com/extism/dev-extism/actions/runs/6644247344) of
the extism repo.

[1]: https://github.com/briansmith/ring/issues/1728
2023-10-25 13:34:34 -07:00
Chris Dickinson
be646480b9 fix(build): remove windows gnu wheel builds (#481)
Maturin on Windows struggles with GNU headers. Since we have windows
MSVC wheel builds, this commit disables windows GNU wheel builds.

Also: fix a bug where the produced wheels did not include any extism
functions.
2023-09-22 12:34:47 -07:00
Chris Dickinson
8426e1a0a6 feat(build): add extism-maturin wheel builds (#480)
Build the python native library along with libextism since they change
at roughly the same rate; we can pull the resulting wheels into
python-sdk as needed.

Reduce the release job into a single matrix of `OS x RUST TARGET` – this
unifies the macos, windows, and linux builds into a single job.

---

**BREAKING CHANGE**: This changes the trigger for the release workflow.
Instead of being triggered by the creation of a release, it is triggered
by pushing new git tags. It will catch `v*` – `v0.5.0`, `v200.0.1-dev`
for example. The workflow creates a draft release.
2023-09-21 13:18:49 -07:00
Chris Dickinson
ab458ebd44 feat(build): Add "latest" snapshot builds (#457)
Add a "latest" snapshot that other libraries can use to test against the
latest version of Extism.

Add caching for builds triggered by pushes to `main`.
2023-09-15 10:03:04 -07:00
Benjamin Eckel
3e6a0071e9 fix: Fix the release action (#101) 2022-11-29 10:33:26 -06:00
Benjamin Eckel
b45c04c13e ci: Workflow per SDK (#69) 2022-11-04 16:24:48 -05:00
Benjamin Eckel
33dbcafdb9 fix: Fix release workflow to use make (#68) 2022-11-04 15:46:25 -05:00
Benjamin Eckel
71110117e4 feat: Add workflow_dispatch to the release workflow (#33) 2022-11-04 15:18:58 -05:00
Benjamin Eckel
7815d9aee6 Fix elixir publish pipeline 2022-10-20 17:04:26 -05:00
Benjamin Eckel
ec07d35ed2 dont check metadata 2022-10-20 12:59:29 -05:00
Benjamin Eckel
97a7c6607e Publish elixir and ruby sdks 2022-10-20 11:37:23 -05:00
Steve Manuel
c298208e04 ci: finish pypi release step 2022-09-14 11:37:01 -06:00
Steve Manuel
6883a5b6ba ci: add delay in release workflow to wait for crates.io 2022-09-14 09:21:06 -06:00
Steve Manuel
e39901be68 ci: add no-verify to runtime release, bump rust sdk version 2022-09-13 11:17:59 -06:00
Steve Manuel
8191d85bc1 ci: remove cross integration, make node sdk public 2022-09-12 15:49:43 -06:00
Steve Manuel
01dc54b6e6 ci: use node_auth_token env var for setup and publish 2022-09-12 15:23:46 -06:00
Steve Manuel
85cadeaf0e ci: update windows dll lib name 2022-09-12 13:55:25 -06:00
Steve Manuel
66937dc2cf ci: fix npm auth env var 2022-09-12 13:52:39 -06:00
Steve Manuel
e7b3688c11 ci: add host sdk releases (#12)
Adds automated releases for crates.io, pypi, and npm for Rust, Python,
and Node host SDKs respectively.
2022-09-12 13:32:06 -06:00
Steve Manuel
63ff9da8dc chore: remove runtime target, work on php release 2022-09-01 22:13:46 -06:00
Steve Manuel
10235514dc chore: update ci since moving to cargo workspace 2022-09-01 21:01:00 -06:00
Steve Manuel
0cd60fa29b ci: try common windows builds 2022-09-01 20:15:54 -06:00
Steve Manuel
e27fae9193 v0.0.1 alpha
Co-authored-by: Zach Shipko <zach@dylib.so>
2022-08-25 14:36:47 -06:00