Commit Graph

476 Commits

Author SHA1 Message Date
Yuta Saito 4ca0cdf939
Add -Xswiftc option for each build commands (#300) 2022-03-20 12:14:35 +09:00
Max Desiatov 02e64225f8
Update dependencies (#297) 2022-02-27 10:13:37 +00:00
yonihemi f5b8e63abe
Fix crash for packages with `executableTarget` (#296)
* Infer executable targets' source folder

* Don't initialize FSWatch without watchable paths

* Update Sources/CartonKit/Server/Server.swift

Co-authored-by: Max Desiatov <max@desiatov.com>

* Update Sources/CartonKit/Server/Server.swift

Co-authored-by: Max Desiatov <max@desiatov.com>
2022-02-21 10:18:03 +00:00
yonihemi 7bd54d6c0c
Bump JavaScriptKit and Tokamak (#294) 2022-02-16 11:02:53 +00:00
Max Desiatov 09f967a68e
Update dependencies (#293)
Co-authored-by: MaxDesiatov <MaxDesiatov@users.noreply.github.com>
2022-02-13 19:49:32 +08:00
Max Desiatov fb95831a76
Update dependencies (#289) 2022-01-30 09:05:34 +00:00
Joe Cardenas 27e5e3eb08
Add libsqlite3-dev dependency (#288)
Fixes #287.

Not installed by default on all Ubuntu-based distributions.
2022-01-23 19:43:54 +00:00
Francisco Javier Trujillo Mata 4834b7afc4
Upgrade binaryen version to 105 (#286)
Also creating a variable for making upgrades easily in the future.

* Upgrade binaryen binary version

* Add trailing newline to `install_ubuntu_deps.sh`

Co-authored-by: Max Desiatov <max@desiatov.com>
2022-01-17 19:12:32 +00:00
Max Desiatov 74a49c1aa8
Use `async`/`await` and actors instead of Combine (#283)
This makes our codebase smaller by ~80 lines and arguably more readable. Also removes OpenCombine dependency.

* Use `async`/`await` and actors instead of Combine

* Remove OpenCombine dependency

* Fix progress animation not updated

* Stop building with Swift 5.4, clean up terminal output

* Update requirements in `README.md`

* Add `description` to `InvalidResponseCode`

* Fix Linux build error

* Rename `main.swift` to `Main.swift`

* Work around IR/TDB warnings

* Pass IR/TDB arguments correctly to `swift build`

* Support `async` process runner in `carton-release`

* Use Xcode 13.2.1 on macOS

* Pass TDB/IR flags to `swift test` as well

* Make `Install` command async

* Add doc comments, handle subsequent rebuilds
2022-01-17 09:04:44 +00:00
Max Desiatov 6c6e78eb0d
Update dependencies (#284)
- Dependency updates

Auto-generated by [create-pull-request][1]

[1]: https://github.com/peter-evans/create-pull-request
2022-01-16 10:15:42 +00:00
yonihemi 81e390e725
Statically link with `SwiftPMDataModel` library (#275)
Resolves #274.

* Statically link with `SwiftPMDataModel`

* Use 5.6 upstream branches in `Package.swift`

* Update Swift Argument Parser to 1.0.2

* Use latest SwiftPM 5.5

* Avoid copying non-existent `.so` in `Dockerfile`

Co-authored-by: Max Desiatov <max@desiatov.com>
2022-01-15 16:01:08 +00:00
Max Desiatov b0d53c286a
Build `main` Docker images on every push to `main` branch (#272)
This makes it possible to test latest `carton` Docker builds from the `main` branch.

* Attempt to push Docker image in `swift.yml`

* Update swift.yml

* Update swift.yml

* Push only a single tag

* Use secrets.PAT for GHCR login

* Move nightly tags to separate `docker.yml` workflow

* Rename `nightly` to `main`
2022-01-05 11:43:15 +00:00
Max Desiatov 0a28655e5c
Update dependencies (#282) 2021-12-26 08:58:01 +01:00
Max Desiatov 52b7f6ba2d
Update dependencies (#279)
Co-authored-by: MaxDesiatov <MaxDesiatov@users.noreply.github.com>
2021-12-19 16:26:55 +01:00
Max Desiatov a778c2ba7e
Update dependencies (#273)
Co-authored-by: MaxDesiatov <MaxDesiatov@users.noreply.github.com>
2021-12-17 16:11:16 +01:00
Max Desiatov e291a02940
Fix Wasmer installation issues in `Dockerfile` (#276)
Currently https://github.com/swiftwasm/carton/pull/273 fails because of `libtinfo.so.5: cannot open shared object file: No such file or directory` error happening during Wasmer installation. This should be resolved by installing `libncurses5` package explicitly in `Dockerfile`.
2021-12-13 01:18:24 +01:00
Max Desiatov 9fef513d69
Use PAT secret for Docker in `release.yml` 2021-12-01 15:29:51 +01:00
Max Desiatov d3c3fd885e
Don't build Catalina Homebrew bottle in `release.yml`
GitHub Actions agents with macOS Catalina don't support Xcode 12.5, which is required to build `carton`.
2021-12-01 15:28:39 +01:00
Max Desiatov b3b060d625
Bump version to 0.12.1, update `CHANGELOG.md` (#271) 2021-12-01 15:09:41 +01:00
Max Desiatov db4e3ca202
Bump SwiftWasm to 5.5 in `Dockerfile`, bump AHC (#269)
Our `Dockerfile` should be updated to depend on SwiftWasm 5.5.

Additionally, Async HTTP Client has fixed the toolchain downloads issue in 1.8.1, I'm setting it as a minimum version in `Package.swift` here.
2021-12-01 13:48:34 +01:00
Max Desiatov 367f0bc01f
Add ICU linker flags to all build invocation (#270)
Resolves https://github.com/swiftwasm/carton/issues/268.
2021-12-01 13:47:53 +01:00
Max Desiatov 04de1c2229
Update dependencies (#261) 2021-11-28 22:25:53 +01:00
Max Desiatov 30a80d0db1
Update `CHANGELOG.md` for 0.12.0, bump Tokamak (#267)
* Update `CHANGELOG.md` for 0.12.0, bump Tokamak

* Bump Tokamak to 0.9.0 in Milk fixture

* Update CHANGELOG.md

Co-authored-by: yonihemi <jonathan@hemi.dev>
2021-11-27 22:52:42 +01:00
Max Desiatov 0e163ec9aa
Use SwiftWasm 5.5.0, bump version to 0.12.0 (#266)
`async-http-client` package is now pinned to 1.6.4, as 1.7.0 and later versions caused issues with toolchain downloads (see https://github.com/swift-server/async-http-client/issues/488 for more details).

I've also updated toolchain downloader code to bubble up download errors, which previously were hidden and made it very hard to diagnose these issues.

* Use SwiftWasm 5.5.0, bump version to 0.12.0

* Pin AHC to 1.8.0

* Pin AHC to 1.6.4, always remove downloaded archives

* Fix `defer` build issue
2021-11-24 17:14:42 +01:00
yonihemi 4514347a25
Update JavaScriptKit to v0.11.1 (#265)
* Update JavaScriptKit to v0.11.1

* Update static.zip URL
2021-11-23 17:02:41 +08:00
Max Desiatov 596730b005
Update dependencies, add support for SwiftWasm 5.5 (#263)
I've dropped support for Swift 5.2, and SwiftLint now requires Xcode 12.5.1, which is unavailable on macOS 10.15 with GitHub Actions. This makes it impossible to test with Swift 5.3 on CI, so I'm bumping the required version to Swift 5.4.

Resolves https://github.com/swiftwasm/carton/issues/262.

* Update dependencies, add support for SwiftWasm 5.5

* Bump dependencies in `.github/workflows/swift.yml`

* Add explicit dependency on `NIOFoundationCompat`

* Lower Splash version to 0.15 for Swift 5.3 compat

* Update DefaultToolchain.swift

* Update swift.yml

* Revert "Lower Splash version to 0.15 for Swift 5.3 compat"

This reverts commit 6e04a7f158.

* Require Swift 5.4 in `Package.swift`

* Update README.md

* Use older 5.5 snapshot, unblock tests on failure

* Update DefaultToolchain.swift

* Select correct CPU architecture when downloading

* Disable hanging test

* Use latest 5.5 toolchain

* Use 2021-11-16 snapshot of SwiftWasm 5.5

* Add missing linker flags, re-enable browser test

* Address PR feedback
2021-11-18 13:59:32 +01:00
Michael Schwarz 2c1ec6ff04
Fix environment detection from User-Agent header (#249)
The `DestinationEnvironment` was not correctly detected from the `User-Agent` header of a WebSocket connection, always resulted in `.other`. This disabled any stack trace demangling.

Fixes #248.

* Add failing test for DestinationEnvironment.init?()

* Fix environment detection from User-Agent header
2021-10-07 22:10:11 +01:00
Max Desiatov 2c85cdb8b3
Update dependencies (#260) 2021-09-26 11:23:56 +01:00
Max Desiatov e505504d19
Update dependencies (#259) 2021-09-19 12:30:39 +01:00
Max Desiatov 78daa62620
Update dependencies (#258) 2021-09-12 12:08:29 +01:00
Max Desiatov cdcdd7f82c
Disable `--enable-test-discovery` for old versions (#257) 2021-09-08 09:16:55 +01:00
Max Desiatov 8d29e6d585
Update dependencies (#256) 2021-09-06 09:51:56 +01:00
Max Desiatov 43f23b4981 Update `CHANGELOG.md` 2021-09-02 21:36:41 +01:00
Max Desiatov 43cad1abb2 Fix dynamic linking issue in `Dockerfile` 2021-09-02 21:34:17 +01:00
Max Desiatov f6ae632383 Update error message in `Server.swift` 2021-09-02 20:52:51 +01:00
Max Desiatov febf591329
Add Big Sur jobs for Homebrew release workflow 2021-09-02 19:01:20 +01:00
Max Desiatov 022849f9a2
Update `Dockerfile` for SwiftWasm 5.4.0 (#255)
* Update `Dockerfile` for SwiftWasm 5.4.0

* Push Docker image on release

* Use `GITHUB_TOKEN` for GHCR
2021-09-02 17:02:32 +01:00
Max Desiatov e2544afcb5 Clean up `README.md` 2021-09-01 20:51:50 +01:00
Max Desiatov 44930ecfe4 Add a section for version 0.11.0 to `CHANGELOG.md` 2021-09-01 20:50:14 +01:00
Max Desiatov dd6439700f
Bump version to 0.11.0, update dependencies (#251)
* Bump version to 0.11.0, update dependencies

* Test on Big Sur with Xcode 12.5

* Update test fixture dependencies

* Remove `LinuxMain.swift` expectations

* Test with `wasm-5.4-SNAPSHOT-2021-08-26-a`

* Remove expectations for `XCTestManifests.swift`

* Enable debugging output

* Try the latest 5.4 toolchain

* print debug output

* More debug output

* Test on macOS 11 with Xcode 13

* Pipe errors to stdout

* Update DefaultToolchain.swift

* Revert "Update DefaultToolchain.swift"

This reverts commit 4ff15f938a.

* Remove Xcode 13 from the CI matrix

* Update DefaultToolchain.swift

* Reduce the diff
2021-09-01 15:07:00 +01:00
Max Desiatov 1c9502e833
Update link in `README.md` (#252)
Use direct OpenCombine link instead of relying on a redirect
2021-08-26 15:33:07 +01:00
Max Desiatov 00f3dcbb6c
Update dependencies (#247) 2021-08-23 14:19:27 +01:00
Max Desiatov 0c918b5019 Fix release CI script 2021-05-30 10:52:12 +01:00
Max Desiatov ed06b25ab0
Bump version to 0.10.0, update `CHANGELOG.md` (#244) 2021-05-30 10:37:08 +01:00
Max Desiatov b67fe181ef
Update dependencies (#245) 2021-05-30 10:09:35 +01:00
Max Desiatov 6da6dade9f
Update JSKit and Tokamak versions in templates (#243) 2021-05-29 21:45:13 +01:00
Max Desiatov 10c21db4bf
Fix Ubuntu deps, clarify Linux support in README (#242)
Resolves #237.

* Fix Ubuntu deps, clarify Linux support in README

* Avoid using `sudo` if it's not installed
2021-05-28 22:00:38 +01:00
Jed Fox 7204aa4e78
Add support for Chrome and Safari to DestinationEnvironment (#228)
Ref #227. Not sure if `.edge` is intended to represent Chrome-Edge or legacy Edge.
2021-05-28 16:55:13 +01:00
Max Desiatov 18113a1a67
Update dependencies (#232) 2021-05-24 12:35:38 +01:00
Max Desiatov ae8015413b
Fix `carton dev` crashing with SO sanitizer (#239)
Previously, the file we need to include with the build to enable the stack overflow sanitizer was written as a temporary file. This didn't happen though on watcher rebuilds with `carton dev` and caused crashes when a code line containing `try!` relying on this file to be present was executed.

I think it's easier and more efficient to bundle this file in the `static.zip` file that already includes our JS entrypoints. We require `static.zip` to be downloaded and unpacked successfully into `~/.carton/static` before every build anyway. It makes more sense to sense the sanitizer file in `~/.carton/static/so_sanitizer.wasm` and use that instead writing and deleting it at a temporary path on every build.

I've also updated the JSKit dependency and cleaned up some linter warnings by moving large tuple values into a separate `BuildDescription` type.
2021-05-24 12:03:38 +01:00