Commit Graph

130 Commits

Author SHA1 Message Date
Ryan Levick 07db218dcc
Try building aarch64 linux canary build
Signed-off-by: Ryan Levick <ryan.levick@fermyon.com>
2023-09-06 15:11:11 +02:00
Ryan Levick eb6e8739c6
Turn back on llm gpu features
Signed-off-by: Ryan Levick <ryan.levick@fermyon.com>
2023-09-06 10:33:47 +02:00
Radu Matei b62e082a52
Temporarily turn off Linux aarch64 builds to generate a canary release
Signed-off-by: Radu Matei <radu.matei@fermyon.com>
2023-09-05 00:23:06 -07:00
Radu Matei fb08aac136
Update Rust to 1.71 and fix Clippy
Signed-off-by: Radu Matei <radu.matei@fermyon.com>
2023-09-04 20:45:17 -07:00
Vaughn Dice c706e4f87b
ci(release.yml): serialize workflow runs
Signed-off-by: Vaughn Dice <vaughn.dice@fermyon.com>
2023-08-23 16:10:07 -06:00
Vaughn Dice 5a75998005
Merge pull request #1702 from fermyon/ci/e2e-larger-runner
ci(build.yml): run e2e job on larger runner
2023-08-23 14:36:59 -06:00
Vaughn Dice 65e4460a81
ci(build.yml): add concurrency config
Signed-off-by: Vaughn Dice <vaughn.dice@fermyon.com>
2023-08-22 16:09:42 -06:00
Vaughn Dice 7bb8074ecc
ci(build.yml): run e2e job on larger runner
Signed-off-by: Vaughn Dice <vaughn.dice@fermyon.com>
2023-08-21 17:27:05 -06:00
Vaughn Dice 77afa7313b
ci(release.yml): replace unmaintained actions-rs/cargo action
Signed-off-by: Vaughn Dice <vaughn.dice@fermyon.com>
2023-08-15 16:32:16 -06:00
Vaughn Dice 2748ef2c17
ci(.github): remove unmaintained rust toolchain action
Signed-off-by: Vaughn Dice <vaughn.dice@fermyon.com>
2023-08-15 15:10:35 -06:00
Lann Martin 6c0fe7314a
ci: Build aarch64 releases on ubuntu-20.04
This matches our amd64 build and improves binary compatibility with
systems using older glibc.

Signed-off-by: Lann Martin <lann.martin@fermyon.com>
2023-07-13 09:58:06 -04:00
Rajat Jindal 56e8bc5280
check for missing tags
Signed-off-by: Rajat Jindal <rajatjindal83@gmail.com>
2023-07-05 13:45:08 +05:30
itowlson 046f02c786
Don't deploy old docs site on every merge to main
Signed-off-by: itowlson <ivan.towlson@fermyon.com>
2023-06-30 10:51:45 +12:00
Rajat Jindal 5ccce316f9
Merge pull request #1620 from rajatjindal/release-action-canary
use commit and debug build of release-action
2023-06-27 20:19:56 +05:30
Rajat Jindal 8973754738
use commit and debug build of release-action
Signed-off-by: Rajat Jindal <rajatjindal83@gmail.com>
2023-06-27 16:59:40 +05:30
itowlson 7cffde8cdd
Skip downloading canary Spin in build e2e tests
Signed-off-by: itowlson <ivan.towlson@fermyon.com>
2023-06-27 14:27:09 +12:00
Rajat Jindal d4612df661
also delete release when deleting tag
Signed-off-by: Rajat Jindal <rajatjindal83@gmail.com>
2023-06-24 08:23:44 +05:30
itowlson 141f64565c
Tweak issue templates
Signed-off-by: itowlson <ivan.towlson@fermyon.com>
2023-06-23 13:10:18 +12:00
Bobby Holley 22cf1ceff7
Bump cargo-vet to 0.7.0.
Signed-off-by: Bobby Holley <bobbyholley@gmail.com>
2023-06-12 11:50:08 -07:00
Harshil Patel 950f2c4301
Add issue template for Troubleshooting and FAQ
Signed-off-by: Harshil Patel <harshilpatel1973@gmail.com>
2023-06-08 11:07:17 +05:30
Kate Goldenring 78b458ac4a
Add login test and remove Fermyon Platform tests
Signed-off-by: Kate Goldenring <kate.goldenring@fermyon.com>

Remove Fermyon Platform tests

Signed-off-by: Kate Goldenring <kate.goldenring@fermyon.com>

Test that cloud plugin is installed during a spin login

Signed-off-by: Kate Goldenring <kate.goldenring@fermyon.com>

Syntactical nits

Signed-off-by: Kate Goldenring <kate.goldenring@fermyon.com>
2023-06-07 08:38:27 -07:00
itowlson 1d59953a35
Use the version of `cargo vet` that works with the audit config
Signed-off-by: itowlson <ivan.towlson@fermyon.com>
2023-04-19 14:08:38 +12:00
Vaughn Dice 45998a86bd
chore(code-coverage.yml): disable cron trigger
Signed-off-by: Vaughn Dice <vaughn.dice@fermyon.com>
2023-04-04 15:59:01 -06:00
Joel Dice d75e4f28ae
update release.yml so it can build `spin-componentize` (#1329)
This updates to Rust 1.68 and adds the `wasm32-unknown-unknown` target, both of which are needed to build `spin-componentize`.

Signed-off-by: Joel Dice <joel.dice@fermyon.com>
2023-03-27 13:11:54 -06:00
Joel Dice 2a250ae751
implement component support (#1321)
* implement component support

This updates Spin to use [the Component
Model](https://github.com/WebAssembly/component-model/tree/main/design/high-level)
natively instead of core Wasm modules (except for WAGI -- see below).
Core modules are still supported transparently via
[`spin-componentize`](https://github.com/fermyon/spin-componentize).

For now, the SDKs will continue to produce core modules (which the
developer can convert to components ahead of time via
`spin-componentize` if desired).  Eventually, we'll want the SDKs to
target the Component Model directly as language toolchain support
matures.  For the time being, though, we'll consider Component support
experimental.

WAGI is stuck on Preview 1 and modules because there's no reliable way
to wrap an arbitrary Preview 1 command in a component -- the Preview 1
-> 2 adapter only works with modules that either export
`canonical_abi_realloc` (e.g. native Spin apps) or use a recent
version of `wasi-sdk`, which contains patches to allow the adapter to
safely allocate memory via `memory.grow`.

In theory, someone could build a WAGI app using a new-enough version
of `wasi-sdk` and wrap it in a component using the adapter, but that
wouldn't add any value beyond leaving it as a module, and any
toolchain capable of natively producing components will be capable
enough to produce native Spin apps, so we probably won't ever support
WAGI components.

Note that I've moved the `spin-abi-conformance` project from this repo
to `spin-componentize` since it seems more relevant (and more likely
to be kept up-to-date) there.  We can move it back later if that
changes.

Signed-off-by: Joel Dice <joel.dice@fermyon.com>

add `rustup target add wasm32-unknown-unknown` to CI

This is needed to build `spin-componentize`.

Signed-off-by: Joel Dice <joel.dice@fermyon.com>

update `spin-componentize` dep

Signed-off-by: Joel Dice <joel.dice@fermyon.com>

install `rust-wasm` deps for lint job

Signed-off-by: Joel Dice <joel.dice@fermyon.com>

update to Rust 1.68 to help CI build component adapter

Signed-off-by: Joel Dice <joel.dice@fermyon.com>

update `spin-componentize` dep (again)

Signed-off-by: Joel Dice <joel.dice@fermyon.com>

update Dockerfiles so they can build `spin-componentize`

Signed-off-by: Joel Dice <joel.dice@fermyon.com>

switch back to fermyon/wit-bindgen-backport repo

Signed-off-by: Joel Dice <joel.dice@fermyon.com>

* change `spin_core::Wasi` from a struct to an enum

This helps us detect and raise errors earlier if code tries to
initialize a Preview 1 store in a way only supported by Preview 2, or
vice versa.  The duplication is still pretty ugly, but will go away
once the upstream WASI implementations are merged together.

Signed-off-by: Joel Dice <joel.dice@fermyon.com>

* use newfangled refutable-let-or-diverge syntax

Signed-off-by: Joel Dice <joel.dice@fermyon.com>

---------

Signed-off-by: Joel Dice <joel.dice@fermyon.com>
2023-03-27 12:11:30 -06:00
Vaughn Dice fc0b08c851
chore(release.yml): bump delete-tag-and-release action version
Signed-off-by: Vaughn Dice <vaughn.dice@fermyon.com>
2023-03-17 15:39:47 -06:00
Lann f95dbad61f
Merge pull request #1280 from lann/backport-script
Backport script
2023-03-16 10:15:12 -04:00
Lann Martin a843248486
Add gh-backport.sh
This script semi-automates the process of backporting a PR from one
branch to another. Ex: `gh-backport.sh 123 v1.0`

Signed-off-by: Lann Martin <lann.martin@fermyon.com>
2023-03-15 18:12:42 -04:00
Vaughn Dice f43dc149c9
Merge pull request #1269 from vdice/ci/cosign
ci(release.yml): sign binaries with cosign
2023-03-15 15:57:17 -06:00
Lann Martin fac0b23141
Revert "ci: Add backport workflow"
This reverts commit a5f3428d2f.

This workflow doesn't work with mandatory commit signing.

Signed-off-by: Lann Martin <lann.martin@fermyon.com>
2023-03-15 17:47:36 -04:00
Lann Martin a5f3428d2f
ci: Add backport workflow
This will allow merged PRs to be automatically backported to a release
branch via either a label (before the original PR is merged) or a
comment.

Uses:
https://github.com/marketplace/actions/backport-merged-pull-requests-to-selected-branches

Signed-off-by: Lann Martin <lann.martin@fermyon.com>
2023-03-15 16:03:16 -04:00
Vaughn Dice 42f5c41f08
ci(release.yml): sign binaries with cosign
Signed-off-by: Vaughn Dice <vaughn.dice@fermyon.com>
2023-03-15 12:59:59 -06:00
Lann Martin 58a8062bd4
ci: Run build workflow on v* branches
Signed-off-by: Lann Martin <lann.martin@fermyon.com>
2023-03-10 16:21:45 -05:00
Bobby Holley 5c733e4101
Upgrade to cargo-vet 0.4 and regenerate exemptions.
Signed-off-by: Bobby Holley <bobbyholley@gmail.com>
2023-03-08 10:29:26 -08:00
Rajat Jindal 9b8c55db27
fix code coverage
Signed-off-by: Rajat Jindal <rajatjindal83@gmail.com>
2023-03-03 08:18:33 +05:30
Joel Dice 78ce394fd7
export SDK version and language functions per SIP 011 (#1209)
* export SDK version and language functions per SIP 011

Per
https://github.com/fermyon/spin/blob/main/docs/content/sips/011-component-versioning.md,
this commit adds `spin-sdk-version-$VERSION`,
`spin-sdk-language-$LANGUAGE`, and `spin-sdk-commit-$COMMIT` exports
to any module using the Rust or Go SDKs.

Regarding the version, we'll want to update it before and after every
Spin release _and_ each time the ABI or API changes.  See the SIP for
details.

Note that the `spin-sdk-language-$LANGUAGE` export is gated on a
default-enabled feature for the Rust SDK, since the JS and Python SDKs
will want to override it.

Signed-off-by: Joel Dice <joel.dice@fermyon.com>
2023-03-01 08:31:37 -07:00
Rajat Jindal 0d48649d29
cleanup integration and e2e tests
Signed-off-by: Rajat Jindal <rajatjindal83@gmail.com>
2023-02-28 12:53:46 +05:30
Rajat Jindal 3d215fb533
add some doc for e2e-tests
Signed-off-by: Rajat Jindal <rajatjindal83@gmail.com>
2023-02-27 22:24:11 +05:30
Rajat Jindal 9ba48032ce
allow running with arm64
Signed-off-by: Rajat Jindal <rajatjindal83@gmail.com>

Committer: Rajat Jindal <rajatjindal@gmail.com>

update documentation for aarch64

Signed-off-by: Rajat Jindal <rajatjindal83@gmail.com>
2023-02-23 10:48:57 +05:30
Rajat Jindal 353cab2842
fix dependencies for code coverage build
Signed-off-by: Rajat Jindal <rajatjindal83@gmail.com>
2023-02-20 16:24:49 +05:30
Vaughn Dice 6a69c66c7d
Merge pull request #1167 from vdice/ci/rm-e2e-concurrency-config
ci(build.yml): rm e2e-tests concurrency config
2023-02-16 18:24:04 -07:00
Joel Dice 49721f2daf
grand Go SDK update (#1165)
* grand Go SDK update

- Add `outbound-redis` set operations and `execute` function
- Add `key-value` support
- Remove `*_free` calls since they were buggy and unnecessary given that we tell `tinygo` to leak anyway
- Remove `-wasm-abi=generic` option since it's been removed as of `tinygo` 0.27

Signed-off-by: Joel Dice <joel.dice@fermyon.com>

* fix Go CI issues

- Update Go and `tinygo` versions
- Use `interface{}` instead of `any` for broader compatibility
- Make `tinygo-outbound-redis` example sort the `SMEMBERS` result before comparing with the expected value

Signed-off-by: Joel Dice <joel.dice@fermyon.com>

* rename Go SDK key-value directory to key_value

Signed-off-by: Joel Dice <joel.dice@fermyon.com>

---------

Signed-off-by: Joel Dice <joel.dice@fermyon.com>
2023-02-16 15:40:08 -07:00
Vaughn Dice 57bf6369a6
ci(build.yml): rm e2e-tests concurrency config
Signed-off-by: Vaughn Dice <vaughn.dice@fermyon.com>
2023-02-16 13:37:16 -07:00
Rajat Jindal a26a6a3f76
remove e2e-tests dependency on windows/mac builds
Signed-off-by: Rajat Jindal <rajatjindal83@gmail.com>
2023-02-16 09:36:32 +05:30
Rajat Jindal d1b91ba293
add reusable composite action
Signed-off-by: Rajat Jindal <rajatjindal83@gmail.com>

use reusable actions in build flow

Signed-off-by: Rajat Jindal <rajatjindal83@gmail.com>

use reusable actions in code coverage flow

Signed-off-by: Rajat Jindal <rajatjindal83@gmail.com>

windows sdk is disabled in main due to intermittent failures

Signed-off-by: Rajat Jindal <rajatjindal83@gmail.com>
2023-02-16 08:22:00 +05:30
Rajat Jindal 52e94cd409
fail fast if lint fails
Signed-off-by: Rajat Jindal <rajatjindal83@gmail.com>
2023-02-15 07:04:15 +05:30
itowlson 4c004bd384
Comment out Windows Rust SDK E2E tests until we can fix the "out of space" problem in CI
Signed-off-by: itowlson <ivan.towlson@fermyon.com>
2023-02-14 14:03:03 +13:00
itowlson 30dd30c8c5
Do not deploy web site from forks
Signed-off-by: itowlson <ivan.towlson@fermyon.com>
2023-02-08 13:13:44 +13:00
Till Schneidereit a2a9737b7f
Make test-rust CI job not depend on build-rust job
The test-rust job doesn't actually require anything from the build-rust job, since it uses debug builds, but the build-rust job builds release ones. Removing this dependency should hopefully improve our wallclock time for CI runs.

Signed-off-by: Till Schneidereit <till@tillschneidereit.net>
2023-02-06 19:19:44 +01:00
Till Schneidereit 7e0aa79cfa
Disable incremental cargo builds in CI
Incremental builds aren't useful in CI, because there will never be additional builds in the same environment with only slight changes to code. At the same time, they impose a certain amount of time overhead, and consume lots of disk space. Since we sometimes run out of disk space on GH Actions Windows runners, in particular that latter aspect is relevant here.

Signed-off-by: Till Schneidereit <till@tillschneidereit.net>
2023-02-06 19:19:36 +01:00