Skip to content

Commit

Permalink
Update to 4.4.0 linera.5 (#4)
Browse files Browse the repository at this point in the history
* deps: Upgrade some dependencies + lift to workspace root

Also ignores a WASIX test from the workspace.

* Partial fix for mio net refactor

* add access to php integration test secrets

* Improve loop metering tests

* Add help-docs for the `--watch` flag in `wasmer app logs`

the docs were missing so I added it.

* post slack message on integration tests ci failure

* fix missing hash from a compiled artifact

* deps: bump tun-tap version for wasmer-cli
to match the version from Cargo.lock

* expose memory and wasi generic

* remove webc as a dependency from wasmer-types

* remove serde_cbor as a direct dependency

* Reduce overhead of chunk timeouts in wasix package downloads

* Improve validation requests in "wasmer deploy"

Closes RUN-416

* add cwd to the manifest as command annotation

* feat(backend-api): Add updatedAt timestamps to Edge App/Version

* feat(backend-api): Add env var to toggle GQL variable logging

Adds an env var WASMER_API_INSECURE_LOG_VARIABLES to enable logging of
request variables.

This is useful for debugging, but somewhat dangerous because it can lead
to sensitive data being logged.

* refactor volumes schema

this refactors volumes so that the schema is as follows:

```yaml
volumes:
  - name: volume1
    mount: /volume1
  - name: volume2
    mount: /volume2
```

* bump version to 0.7.0 for wasmer-config

* add appconfig JSON schema to wasmer repo

* minor: fix spelling, path specifier

* ignore this test on windows since it breaks due to line endings

* remember which package is already included in the filesystem

* add ids of all packages in the tree to BinaryPackage

* update comment

* use wasi annotation for cwd

* feat(cli): Add `rotate-secrets` subcommand for volumes and minor changes

* fix(cli/volumes): move `s3.rs` to its `mod.rs`

fix(cli/volumes): move `s3.rs` to its `mod.rs`

* fix(cli/volumes): print secrets after rotating them

* fix(cli/deploy): Fail deploying if no app was found in non-interactive mode

* Update CHANGELOG

* Release 4.3.7

* update 0.x package versions

* update changelog

* bump up webc version

* feat(api/sys): Add support for `loupe::MemoryUsage`

* build: Lift pretty_assertions to workspace dependencies

* build: Add a new wasmer-package crate

The crate will hold package related logic.

* add the right to fetch stats on pipes

* feat(package): Implement restoring packages from webcs

Convert webc images to a package directory with a wasmer.toml

* feat(cli): Allow "package unpack" to restore packages

Add a new --format option to package unpack.

* package: Try to restore a usable package dir with a wasmer.toml

* webc: just unpack the webc

* chore: Rename ManifestConversionError to ConversionError + impl Error::source

* build: Ignore direnv related files

* refactor: Remove edge-schema dependency

* chore: Remove unused generate_deploy_token function

* deps: lift base64 into a workspace dependency

* chore: Remove unused code from backend-api

* chore: Remove commented out command and add a note

* deps: Update Cargo.lock

* chore: Fix warning in test

* tests: Add WasiRunner file system mounting tests

* tests: Feature gate test

* fix issues with windows

* chore: Prevent create_dir_all in a loop

* update webc dep

* apply the proxy setting in wasmer config

* propagate proxy config to upload

* prevent api breakage

* fix lint

* replace WASM_ANYREF with WASM_EXTERNREF

* fix lint

* add test for aio-http

* deps: Upgrade flake dependencies

* build: Update cargo-deny config

Also updates the nix flake to pull in the new cargo deny.

* `js::module`: leave warning comment on the `Send` impl

Until wasmerio#4158 is fixed, let's at least leave a signpost so future readers don't trip on it like I did :)

* chore(wasix): Reduce syscall instrumentation levels

Improve tracing performance by reducing the syscall instrumentation
levels to "trace".

This allows compiling out all the instrumentation with a tracing feature
flag in release builds.

* transfer the file size when renamed

* fix assuming target exists

* Fix --entrypoint not working for WASI(X) modules

* fix(middlewares): Fix error in metering middleware

* Remove 'invoke' alias from --entrypoint, add separate --invoke arg for single WASM modules (breaking change to Wasmer CLI args)

* Revert "Add new --invoke arg for choosing entry function for single WASM modules + fix --invoke not working for WASI(X) modules"

* feat(wasix): InMemorySource: add named packages as hashed too

Register named packages as hashed packages as well to make them
available by hash.

* feat(wasix): Add InMemorySource::{is_empty,len} convenience helpers

* feat(wasix): Allow result merging in the MultiSource

Make it possible to merge results from multiple sources together,
ignoring already found packages.

Results from all sources are combined.

This is usually what you want, so it's on by default.

* chore: Formatting/linting fixes

* chore(wasix): Extend QueryError to hold the queried package

For better error reporting.

* docs: Add comment on MultiSource error behaviour

* Make QueryError cloneable

* chore: Fix lint

* Various fixes to get wasmer-js compiling

* Update lib/backend-api/src/client.rs

* add support for exec-name and transfer args and envs after execve

* fix running packages using built-in wasmer

* oss-fuzz: add cifuzz

This PR adds [cifuzz](https://google.github.io/oss-fuzz/getting-started/continuous-integration/) action workflow which is a service provided by oss-fuzz where this project already runs, this helps in catching shallow bugs, regression or build breakage by running fuzzers on PR for ~5 minutes.

* enable built-in wasmer to run wasm files and webcs

* Apply suggestions from code review

* Update CHANGELOG

* Release 4.4.0

* update 0.x package versions

* update CHANGELOG

* add description for wasmer-package

* use upload/download artifact v4

---------

Co-authored-by: Christoph Herzog <[email protected]>
Co-authored-by: Baran Karaaslan <[email protected]>
Co-authored-by: Simon Warta <[email protected]>
Co-authored-by: Ayush Jha <[email protected]>
Co-authored-by: M.Amin Rayej <[email protected]>
Co-authored-by: Maksim Bondarenkov <[email protected]>
Co-authored-by: Syrus Akbary <[email protected]>
Co-authored-by: edoardo <[email protected]>
Co-authored-by: Edoardo Marangoni <[email protected]>
Co-authored-by: James Kay <[email protected]>
Co-authored-by: Arshia Ghafoori <[email protected]>
Co-authored-by: Arshia001 <[email protected]>
Co-authored-by: manunio <[email protected]>
  • Loading branch information
14 people authored Oct 8, 2024
1 parent 5c86cc4 commit c8d056f
Show file tree
Hide file tree
Showing 244 changed files with 3,403 additions and 1,249 deletions.
14 changes: 7 additions & 7 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -238,7 +238,7 @@ jobs:
run: |
make distribution
- name: Upload Artifacts
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.artifact_name }}
path: dist
Expand Down Expand Up @@ -305,7 +305,7 @@ jobs:
CARGO_TARGET: x86_64-pc-windows-gnu
TARGET_DIR: target/x86_64-pc-windows-gnu/release
- name: Upload Artifacts
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: 'wasmer-windows-gnu64'
path: dist
Expand Down Expand Up @@ -338,7 +338,7 @@ jobs:
CARGO_TARGET: aarch64-apple-darwin
TARGET_DIR: target/aarch64-apple-darwin/release
- name: Upload Artifacts
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: 'aarch64-apple-darwin-jsc'
path: dist
Expand Down Expand Up @@ -367,7 +367,7 @@ jobs:
CARGO_TARGET: x86_64-apple-darwin
TARGET_DIR: target/x86_64-apple-darwin/release
- name: Upload Artifacts
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: 'x86_64-apple-darwin-jsc'
path: dist
Expand Down Expand Up @@ -432,7 +432,7 @@ jobs:
TARGET: aarch64-unknown-linux-gnu
TARGET_DIR: target/aarch64-unknown-linux-gnu/release
- name: Upload Artifacts
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: wasmer-linux-aarch64
path: dist
Expand Down Expand Up @@ -497,7 +497,7 @@ jobs:
TARGET: riscv64gc-unknown-linux-gnu
TARGET_DIR: target/riscv64gc-unknown-linux-gnu/release
- name: Upload Artifacts
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: wasmer-linux-riscv64
path: dist
Expand All @@ -510,7 +510,7 @@ jobs:
if: needs.setup.outputs.DOING_RELEASE == '1' || github.event.inputs.release != ''
steps:
- name: Download the Artifacts
uses: actions/download-artifact@v2
uses: actions/download-artifact@v4
with:
path: artifacts
- name: Create Release
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/check-public-api.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ jobs:
cargo public-api --manifest-path=lib/api/Cargo.toml --diff-git-checkouts $LATEST_VERSION main > diff.txt
- name: Archive change report
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: api-diff-report
path: |
Expand Down
24 changes: 24 additions & 0 deletions .github/workflows/cifuzz.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: CIFuzz
on: [pull_request]
jobs:
Fuzzing:
runs-on: ubuntu-latest
steps:
- name: Build Fuzzers
id: build
uses: google/oss-fuzz/infra/cifuzz/actions/build_fuzzers@master
with:
oss-fuzz-project-name: 'wasmer'
language: rust
- name: Run Fuzzers
uses: google/oss-fuzz/infra/cifuzz/actions/run_fuzzers@master
with:
oss-fuzz-project-name: 'wasmer'
language: rust
fuzz-seconds: 300
- name: Upload Crash
uses: actions/upload-artifact@v4
if: failure() && steps.build.outcome == 'success'
with:
name: artifacts
path: ./out/artifacts
20 changes: 12 additions & 8 deletions .github/workflows/test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -272,7 +272,7 @@ jobs:
TARGET_DIR: target/aarch64-unknown-linux-gnu/release
- name: Upload Artifacts
if: ${{ matrix.build-what.key == 'capi' }}
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: capi-linux-aarch64
path: dist
Expand Down Expand Up @@ -330,7 +330,7 @@ jobs:
TARGET_DIR: target/riscv64gc-unknown-linux-gnu/release
- name: Upload Artifacts
if: ${{ matrix.build-what.key == 'capi' }}
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: capi-linux-riscv64
path: dist
Expand Down Expand Up @@ -538,14 +538,14 @@ jobs:
TARGET_DIR: target/${{ matrix.metadata.target }}/release
CARGO_TARGET: ${{ matrix.metadata.target }}
- name: Archive production artifacts
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: wasmer-cli-${{ matrix.metadata.build }}
path: build-wasmer.tar.gz
if-no-files-found: ignore
retention-days: 2
- name: Archive production artifacts
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: capi-${{ matrix.metadata.build }}
path: build-capi.tar.gz
Expand Down Expand Up @@ -897,7 +897,7 @@ jobs:
docker build -t tmp .
docker run -v $PWD:/app -w /app tmp bash -c " \
cp ./bin/wasmer /root/.wasmer/bin/wasmer
cp ./bin/wasmer /root/.wasmer/bin/wasmer &&\
export MYSQL_HOST='${{ vars.INTEGRATION_TEST_MYSQL_HOST }}' &&\
export MYSQL_DBNAME='${{ vars.INTEGRATION_TEST_MYSQL_DBNAME }}' &&\
export MYSQL_USERNAME='${{ secrets.INTEGRATION_TEST_MYSQL_USERNAME }}' &&\
Expand All @@ -910,7 +910,11 @@ jobs:
export PG_PASSWORD='${{ secrets.INTEGRATION_TEST_PG_PASSWORD }}' &&\
export PG_PORT='${{ vars.INTEGRATION_TEST_PG_PORT }}' &&\
wasmer config set registry.url https://registry.wasmer.io/graphql &&\
wasmer login ${{ secrets.WAPM_PROD_TOKEN }} &&\
wasmer login '${{ secrets.WAPM_PROD_TOKEN }}' &&\
wasmer config set registry.url https://registry.wasmer.wtf/graphql &&\
wasmer login ${{ secrets.WAPM_DEV_TOKEN }} &&\
cargo test --no-fail-fast"
wasmer login '${{ secrets.WAPM_DEV_TOKEN }}' &&\
cargo test --no-fail-fast"
- name: notify failure in slack
if: failure()
run: |
curl -X POST -H 'Content-type: application/json' --data '{"text":"Integration tests failed ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}"}' ${{ secrets.INTEGRATION_TEST_SLACK_WEBHOOK }}
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -29,3 +29,6 @@ lcov.info
link/
link.tar.gz
.vscode
# Ignore files used by the "direnv" tool.
.direnv
.envrc
64 changes: 64 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,70 @@ Looking for changes that affect our C API? See the [C API Changelog](lib/c-api/C

## **Unreleased**

## 4.4.0 - 04/10/2024

This release adds support for object size estimation, adds better proxy support, improves executable spawning, and contains various bug fixes.

## Added

- [#5079](https://github.com/wasmerio/wasmer/pull/5079) Add feature for objects' sizes estimation
- [#5125](https://github.com/wasmerio/wasmer/pull/5125) oss-fuzz: add cifuzz
- [#5110](https://github.com/wasmerio/wasmer/pull/5110) Add new --invoke arg for choosing entry function for single WASM modules + fix --invoke not working for WASI(X) modules
- [#5090](https://github.com/wasmerio/wasmer/pull/5090) Add the right to fetch stats on pipes
- [#5088](https://github.com/wasmerio/wasmer/pull/5088) Various cleanup chores + add a new test

## Changed

- [#5127](https://github.com/wasmerio/wasmer/pull/5127) Implement proper executable spawn
- [#5098](https://github.com/wasmerio/wasmer/pull/5098) `js::module`: leave warning comment on the `Send` impl
- [#5120](https://github.com/wasmerio/wasmer/pull/5120) Improve QueryError
- [#5118](https://github.com/wasmerio/wasmer/pull/5118) InMemory/MultiSource Improvements
- [#5104](https://github.com/wasmerio/wasmer/pull/5104) Transfer the file size when renamed
- [#5102](https://github.com/wasmerio/wasmer/pull/5102) chore(wasix): Reduce syscall instrumentation levels
- [#5096](https://github.com/wasmerio/wasmer/pull/5096) Update cargo-deny config
- [#4983](https://github.com/wasmerio/wasmer/pull/4983) deps: Upgrade some dependencies + lift to workspace root
- [#5092](https://github.com/wasmerio/wasmer/pull/5092) Replace `WASM_ANYREF` with `WASM_EXTERNREF`
- [#5091](https://github.com/wasmerio/wasmer/pull/5091) Apply the proxy setting in wasmer config
- [#5089](https://github.com/wasmerio/wasmer/pull/5089) feat(cli): Restore packages from webcs

## Fixed

- [#5124](https://github.com/wasmerio/wasmer/pull/5124) Various fixes to get wasmer-js compiling
- [#5108](https://github.com/wasmerio/wasmer/pull/5108) Fix error in metering middleware



## 4.3.7 - 06/09/2024

This release adds support for rotating secrets, fixes a regression with the filesystem, and contains other fixes and improvments.

## Added

- [#5070](https://github.com/wasmerio/wasmer/pull/5070) Add `rotate-secrets` subcommand for volumes and minor changes
- [#5057](https://github.com/wasmerio/wasmer/pull/5057) Add `cwd` to the manifest as a command annotation
- [#5060](https://github.com/wasmerio/wasmer/pull/5060) feat(backend-api): Add env var to toggle GQL variable logging
- [#5059](https://github.com/wasmerio/wasmer/pull/5059) feat(backend-api): Add updatedAt timestamps to Edge App/Version
- [#5016](https://github.com/wasmerio/wasmer/pull/5016) add access to php integration test secrets
- [#5036](https://github.com/wasmerio/wasmer/pull/5036) Add help-docs for the `--watch` flag in `wasmer app logs`

## Changed

- [#5066](https://github.com/wasmerio/wasmer/pull/5066) Prevent redundant merging of the filesystems
- [#5037](https://github.com/wasmerio/wasmer/pull/5037) post slack message on integration tests ci failure
- [#5063](https://github.com/wasmerio/wasmer/pull/5063) refactor volumes schema
- [#5056](https://github.com/wasmerio/wasmer/pull/5056) Improve validation requests in "wasmer deploy"
- [#5053](https://github.com/wasmerio/wasmer/pull/5053) Reduce overhead of chunk timeouts in wasix package downloads
- [#5042](https://github.com/wasmerio/wasmer/pull/5042) Expose memory and wasi generic imports
- [#5040](https://github.com/wasmerio/wasmer/pull/5040) deps: bump tun-tap version for wasmer-cli
- [#5043](https://github.com/wasmerio/wasmer/pull/5043) Remove serde_cbor as a dependency
- [#5030](https://github.com/wasmerio/wasmer/pull/5030) Improve loop metering tests

## Fixed

- [#5039](https://github.com/wasmerio/wasmer/pull/5039) Fix missing hash from a compiled artifact



## 4.3.6 - 22/08/2024

The star of this release is the volume subcommand that allows inspecting and interacting with volumes through the client. There are also
Expand Down
Loading

0 comments on commit c8d056f

Please sign in to comment.