mirror of
https://github.com/enso-org/enso.git
synced 2024-10-04 00:33:36 +03:00
[CI] Provide latest FlatBuffers to the Engine build. (#9654)
This PR bumps the FlatBuffers version used by the backend to `24.3.25` (the latest version as of now). Since the newer FlatBuffers releases come with prebuilt binaries for all platforms we target, we can simplify the build process by simply downloading the required `flatc` binary from the official FlatBuffers GitHub release page. This allows us to remove the dependency on `conda`, which was the only reliable way to get the outdated `flatc`. The `conda` setup has been removed from the CI steps and the relevant code has been removed from the build script. The FlatBuffers version is no longer hard-coded in the Rust build script, it is inferred from the `build.sbt` definition (similar to GraalVM). # Important Notes This does not affect the GUI binary protocol implementation. While I initially wanted to update it, it turned out farly non-trivial. As there are multiple issues with the generated TS code, it was significantly refactored by hand and it is impossible to automatically update it. Work to address this problem is left as [a future task](https://github.com/enso-org/enso/issues/9658). As the Flatbuffers binary protocol is guaranteed to be compatible between versions (unlike the generated sources), there should be no adverse effects from bumping `flatc` only on the backend side.
This commit is contained in:
parent
f80e0052cc
commit
cdf031f61f
6
.github/workflows/changelog.yml
vendored
6
.github/workflows/changelog.yml
vendored
@ -16,12 +16,6 @@ jobs:
|
||||
runs-on:
|
||||
- X64
|
||||
steps:
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.2.1
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.4.0
|
||||
|
12
.github/workflows/engine-benchmark.yml
vendored
12
.github/workflows/engine-benchmark.yml
vendored
@ -18,12 +18,6 @@ jobs:
|
||||
runs-on:
|
||||
- benchmark
|
||||
steps:
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.2.1
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.4.0
|
||||
@ -69,12 +63,6 @@ jobs:
|
||||
runs-on:
|
||||
- benchmark
|
||||
steps:
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.2.1
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.4.0
|
||||
|
90
.github/workflows/engine-nightly.yml
vendored
90
.github/workflows/engine-nightly.yml
vendored
@ -19,12 +19,6 @@ jobs:
|
||||
- self-hosted
|
||||
- Linux
|
||||
steps:
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.2.1
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.4.0
|
||||
@ -71,12 +65,6 @@ jobs:
|
||||
- macOS
|
||||
- ARM64
|
||||
steps:
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.2.1
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.4.0
|
||||
@ -121,12 +109,6 @@ jobs:
|
||||
runs-on:
|
||||
- macos-latest
|
||||
steps:
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.2.1
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.4.0
|
||||
@ -172,12 +154,6 @@ jobs:
|
||||
- self-hosted
|
||||
- Windows
|
||||
steps:
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.2.1
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.4.0
|
||||
@ -223,12 +199,6 @@ jobs:
|
||||
- self-hosted
|
||||
- Linux
|
||||
steps:
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.2.1
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.4.0
|
||||
@ -274,12 +244,6 @@ jobs:
|
||||
- self-hosted
|
||||
- Linux
|
||||
steps:
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.2.1
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.4.0
|
||||
@ -337,12 +301,6 @@ jobs:
|
||||
- macOS
|
||||
- ARM64
|
||||
steps:
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.2.1
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.4.0
|
||||
@ -398,12 +356,6 @@ jobs:
|
||||
runs-on:
|
||||
- macos-latest
|
||||
steps:
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.2.1
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.4.0
|
||||
@ -460,12 +412,6 @@ jobs:
|
||||
- self-hosted
|
||||
- Windows
|
||||
steps:
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.2.1
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.4.0
|
||||
@ -522,12 +468,6 @@ jobs:
|
||||
- self-hosted
|
||||
- Linux
|
||||
steps:
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.2.1
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.4.0
|
||||
@ -584,12 +524,6 @@ jobs:
|
||||
- self-hosted
|
||||
- Linux
|
||||
steps:
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.2.1
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.4.0
|
||||
@ -650,12 +584,6 @@ jobs:
|
||||
- macOS
|
||||
- ARM64
|
||||
steps:
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.2.1
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.4.0
|
||||
@ -714,12 +642,6 @@ jobs:
|
||||
runs-on:
|
||||
- macos-latest
|
||||
steps:
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.2.1
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.4.0
|
||||
@ -779,12 +701,6 @@ jobs:
|
||||
- self-hosted
|
||||
- Windows
|
||||
steps:
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.2.1
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.4.0
|
||||
@ -844,12 +760,6 @@ jobs:
|
||||
- self-hosted
|
||||
- Linux
|
||||
steps:
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.2.1
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.4.0
|
||||
|
24
.github/workflows/gui-tests.yml
vendored
24
.github/workflows/gui-tests.yml
vendored
@ -33,12 +33,6 @@ jobs:
|
||||
- self-hosted
|
||||
- Linux
|
||||
steps:
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.2.1
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.4.0
|
||||
@ -82,12 +76,6 @@ jobs:
|
||||
- self-hosted
|
||||
- Linux
|
||||
steps:
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.2.1
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.4.0
|
||||
@ -131,12 +119,6 @@ jobs:
|
||||
- self-hosted
|
||||
- Linux
|
||||
steps:
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.2.1
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.4.0
|
||||
@ -180,12 +162,6 @@ jobs:
|
||||
- self-hosted
|
||||
- Linux
|
||||
steps:
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.2.1
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.4.0
|
||||
|
54
.github/workflows/gui.yml
vendored
54
.github/workflows/gui.yml
vendored
@ -21,12 +21,6 @@ jobs:
|
||||
- self-hosted
|
||||
- Linux
|
||||
steps:
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.2.1
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.4.0
|
||||
@ -69,12 +63,6 @@ jobs:
|
||||
runs-on:
|
||||
- macos-latest
|
||||
steps:
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.2.1
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.4.0
|
||||
@ -118,12 +106,6 @@ jobs:
|
||||
- self-hosted
|
||||
- Windows
|
||||
steps:
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.2.1
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.4.0
|
||||
@ -179,12 +161,6 @@ jobs:
|
||||
- self-hosted
|
||||
- Linux
|
||||
steps:
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.2.1
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.4.0
|
||||
@ -239,12 +215,6 @@ jobs:
|
||||
runs-on:
|
||||
- macos-latest
|
||||
steps:
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.2.1
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.4.0
|
||||
@ -300,12 +270,6 @@ jobs:
|
||||
- self-hosted
|
||||
- Windows
|
||||
steps:
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.2.1
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.4.0
|
||||
@ -363,12 +327,6 @@ jobs:
|
||||
- self-hosted
|
||||
- Linux
|
||||
steps:
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.2.1
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.4.0
|
||||
@ -425,12 +383,6 @@ jobs:
|
||||
runs-on:
|
||||
- macos-latest
|
||||
steps:
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.2.1
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.4.0
|
||||
@ -501,12 +453,6 @@ jobs:
|
||||
- self-hosted
|
||||
- Windows
|
||||
steps:
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.2.1
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.4.0
|
||||
|
6
.github/workflows/promote.yml
vendored
6
.github/workflows/promote.yml
vendored
@ -27,12 +27,6 @@ jobs:
|
||||
- self-hosted
|
||||
- Linux
|
||||
steps:
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.2.1
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.4.0
|
||||
|
66
.github/workflows/release.yml
vendored
66
.github/workflows/release.yml
vendored
@ -22,12 +22,6 @@ jobs:
|
||||
- self-hosted
|
||||
- Linux
|
||||
steps:
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.2.1
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.4.0
|
||||
@ -62,12 +56,6 @@ jobs:
|
||||
- self-hosted
|
||||
- Linux
|
||||
steps:
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.2.1
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.4.0
|
||||
@ -120,12 +108,6 @@ jobs:
|
||||
- self-hosted
|
||||
- Linux
|
||||
steps:
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.2.1
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.4.0
|
||||
@ -175,12 +157,6 @@ jobs:
|
||||
- macOS
|
||||
- ARM64
|
||||
steps:
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.2.1
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.4.0
|
||||
@ -228,12 +204,6 @@ jobs:
|
||||
runs-on:
|
||||
- macos-latest
|
||||
steps:
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.2.1
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.4.0
|
||||
@ -282,12 +252,6 @@ jobs:
|
||||
- self-hosted
|
||||
- Windows
|
||||
steps:
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.2.1
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.4.0
|
||||
@ -341,12 +305,6 @@ jobs:
|
||||
- self-hosted
|
||||
- Linux
|
||||
steps:
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.2.1
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.4.0
|
||||
@ -399,12 +357,6 @@ jobs:
|
||||
- self-hosted
|
||||
- Linux
|
||||
steps:
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.2.1
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.4.0
|
||||
@ -467,12 +419,6 @@ jobs:
|
||||
- macOS
|
||||
- ARM64
|
||||
steps:
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.2.1
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.4.0
|
||||
@ -546,12 +492,6 @@ jobs:
|
||||
runs-on:
|
||||
- macos-latest
|
||||
steps:
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.2.1
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.4.0
|
||||
@ -626,12 +566,6 @@ jobs:
|
||||
- self-hosted
|
||||
- Windows
|
||||
steps:
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.2.1
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.4.0
|
||||
|
60
.github/workflows/scala-new.yml
vendored
60
.github/workflows/scala-new.yml
vendored
@ -33,12 +33,6 @@ jobs:
|
||||
- self-hosted
|
||||
- Linux
|
||||
steps:
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.2.1
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.4.0
|
||||
@ -83,12 +77,6 @@ jobs:
|
||||
runs-on:
|
||||
- macos-latest
|
||||
steps:
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.2.1
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.4.0
|
||||
@ -134,12 +122,6 @@ jobs:
|
||||
- self-hosted
|
||||
- Windows
|
||||
steps:
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.2.1
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.4.0
|
||||
@ -185,12 +167,6 @@ jobs:
|
||||
- self-hosted
|
||||
- Linux
|
||||
steps:
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.2.1
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.4.0
|
||||
@ -246,12 +222,6 @@ jobs:
|
||||
runs-on:
|
||||
- macos-latest
|
||||
steps:
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.2.1
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.4.0
|
||||
@ -308,12 +278,6 @@ jobs:
|
||||
- self-hosted
|
||||
- Windows
|
||||
steps:
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.2.1
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.4.0
|
||||
@ -370,12 +334,6 @@ jobs:
|
||||
- self-hosted
|
||||
- Linux
|
||||
steps:
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.2.1
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.4.0
|
||||
@ -434,12 +392,6 @@ jobs:
|
||||
runs-on:
|
||||
- macos-latest
|
||||
steps:
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.2.1
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.4.0
|
||||
@ -499,12 +451,6 @@ jobs:
|
||||
- self-hosted
|
||||
- Windows
|
||||
steps:
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.2.1
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.4.0
|
||||
@ -564,12 +510,6 @@ jobs:
|
||||
- self-hosted
|
||||
- Linux
|
||||
steps:
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.2.1
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.4.0
|
||||
|
12
.github/workflows/std-libs-benchmark.yml
vendored
12
.github/workflows/std-libs-benchmark.yml
vendored
@ -18,12 +18,6 @@ jobs:
|
||||
runs-on:
|
||||
- benchmark
|
||||
steps:
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.2.1
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.4.0
|
||||
@ -69,12 +63,6 @@ jobs:
|
||||
runs-on:
|
||||
- benchmark
|
||||
steps:
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.2.1
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.4.0
|
||||
|
@ -7,6 +7,3 @@ required-versions:
|
||||
# NB. The Node version is pinned in .node-version.
|
||||
cargo-watch: ^8.1.1
|
||||
wasm-pack: ^0.12.1
|
||||
# TODO [mwu]: Script can install `flatc` later on (if `conda` is present), so this is not required. However it should
|
||||
# be required, if `conda` is missing.
|
||||
# flatc: =1.12.0
|
||||
|
@ -486,7 +486,7 @@ val zio = Seq(
|
||||
val bcpkixJdk15Version = "1.70"
|
||||
val declineVersion = "2.4.1"
|
||||
val directoryWatcherVersion = "0.18.0"
|
||||
val flatbuffersVersion = "1.12.0"
|
||||
val flatbuffersVersion = "24.3.25"
|
||||
val guavaVersion = "32.0.0-jre"
|
||||
val jlineVersion = "3.23.0"
|
||||
val jgitVersion = "6.7.0.202309050840-r"
|
||||
|
@ -15,7 +15,6 @@ use ide_ci::actions::workflow::definition::is_non_windows_runner;
|
||||
use ide_ci::actions::workflow::definition::is_windows_runner;
|
||||
use ide_ci::actions::workflow::definition::run;
|
||||
use ide_ci::actions::workflow::definition::setup_artifact_api;
|
||||
use ide_ci::actions::workflow::definition::setup_conda;
|
||||
use ide_ci::actions::workflow::definition::setup_wasm_pack_step;
|
||||
use ide_ci::actions::workflow::definition::shell;
|
||||
use ide_ci::actions::workflow::definition::wrap_expression;
|
||||
@ -331,7 +330,7 @@ pub fn runs_on(os: OS, runner_type: RunnerType) -> Vec<RunnerLabel> {
|
||||
|
||||
/// Initial CI job steps: check out the source code and set up the environment.
|
||||
pub fn setup_script_steps() -> Vec<Step> {
|
||||
let mut ret = vec![setup_conda(), setup_wasm_pack_step(), setup_artifact_api()];
|
||||
let mut ret = vec![setup_wasm_pack_step(), setup_artifact_api()];
|
||||
ret.extend(checkout_repo_step());
|
||||
// We run `./run --help` so:
|
||||
// * The build-script is build in a separate step. This allows us to monitor its build-time and
|
||||
|
@ -5,6 +5,7 @@
|
||||
use crate::prelude::*;
|
||||
|
||||
use crate::engine::bundle::GraalVmVersion;
|
||||
use crate::get_flatbuffers_version;
|
||||
use crate::get_graal_packages_version;
|
||||
use crate::get_graal_version;
|
||||
use crate::paths::generated;
|
||||
@ -32,9 +33,6 @@ pub use context::RunContext;
|
||||
|
||||
|
||||
|
||||
/// Version of `flatc` (the FlatBuffers compiler) that we require.
|
||||
const FLATC_VERSION: Version = Version::new(1, 12, 0);
|
||||
|
||||
/// Whether pure Enso tests should be run in parallel.
|
||||
const PARALLEL_ENSO_TESTS: AsyncPolicy = AsyncPolicy::Sequential;
|
||||
|
||||
@ -328,3 +326,9 @@ pub async fn deduce_graal_bundle(
|
||||
packages: get_graal_packages_version(&build_sbt_content)?,
|
||||
})
|
||||
}
|
||||
|
||||
/// Version of `flatc` (the FlatBuffers compiler) that Engine requires.
|
||||
pub async fn deduce_flatbuffers(build_sbt: &generated::RepoRootBuildSbt) -> Result<Version> {
|
||||
let build_sbt_content = ide_ci::fs::tokio::read_to_string(build_sbt).await?;
|
||||
get_flatbuffers_version(&build_sbt_content)
|
||||
}
|
||||
|
@ -10,7 +10,6 @@ use crate::engine::BuiltArtifacts;
|
||||
use crate::engine::Operation;
|
||||
use crate::engine::ReleaseCommand;
|
||||
use crate::engine::ReleaseOperation;
|
||||
use crate::engine::FLATC_VERSION;
|
||||
use crate::engine::PARALLEL_ENSO_TESTS;
|
||||
use crate::enso::BenchmarkOptions;
|
||||
use crate::enso::BuiltEnso;
|
||||
@ -29,7 +28,6 @@ use ide_ci::cache;
|
||||
use ide_ci::github::release::IsReleaseExt;
|
||||
use ide_ci::platform::DEFAULT_SHELL;
|
||||
use ide_ci::programs::sbt;
|
||||
use ide_ci::programs::Flatc;
|
||||
use ide_ci::programs::Sbt;
|
||||
use std::env::consts::DLL_EXTENSION;
|
||||
use std::env::consts::EXE_EXTENSION;
|
||||
@ -146,35 +144,15 @@ impl RunContext {
|
||||
};
|
||||
let prepare_simple_library_server = tokio::spawn(prepare_simple_library_server);
|
||||
|
||||
// Setup Conda Environment
|
||||
// Install FlatBuffers Compiler
|
||||
// If it is not available, we require conda to install it. We should not require conda in
|
||||
// other scenarios.
|
||||
// TODO: After flatc version is bumped, it should be possible to get it without `conda`.
|
||||
// See: https://www.pivotaltracker.com/story/show/180303547
|
||||
if let Err(e) = Flatc.require_present_at(&FLATC_VERSION).await {
|
||||
warn!("Cannot find expected flatc: {}", e);
|
||||
warn!("Will try to install it using conda. In case of issues, please install flatc manually, to avoid dependency on conda.");
|
||||
// GitHub-hosted runner has `conda` on PATH but not things installed by it.
|
||||
// It provides `CONDA` variable pointing to the relevant location.
|
||||
if let Some(conda_path) = std::env::var_os("CONDA").map(PathBuf::from) {
|
||||
ide_ci::env::prepend_to_path(conda_path.join("bin"))?;
|
||||
if TARGET_OS == OS::Windows {
|
||||
// Not sure if it documented anywhere, but this is where installed `flatc`
|
||||
// appears on Windows.
|
||||
ide_ci::env::prepend_to_path(conda_path.join("Library").join("bin"))?;
|
||||
}
|
||||
}
|
||||
// Setup flatc (FlatBuffers compiler), required for building the engine.
|
||||
let flatc_goodie = cache::goodie::flatc::Flatc {
|
||||
version: engine::deduce_flatbuffers(&self.repo_root.build_sbt).await?,
|
||||
platform: TARGET_OS,
|
||||
};
|
||||
flatc_goodie.install_if_missing(&self.cache).await?;
|
||||
|
||||
ide_ci::programs::Conda
|
||||
.cmd()?
|
||||
.args(["install", "-y", "--freeze-installed", "flatbuffers=1.12.0"])
|
||||
.run_ok()
|
||||
.await?;
|
||||
Flatc.lookup()?;
|
||||
}
|
||||
|
||||
self.paths.emit_env_to_actions().await?; // Ignore error: we might not be run on CI.
|
||||
self.paths.emit_env_to_actions().await?;
|
||||
debug!("Build configuration: {:#?}", self.config);
|
||||
|
||||
// Setup Tests on Windows
|
||||
|
@ -99,6 +99,11 @@ pub fn get_graal_packages_version(build_sbt_contents: &str) -> Result<Version> {
|
||||
get_string_assignment_value(build_sbt_contents, "graalMavenPackagesVersion")?.parse2()
|
||||
}
|
||||
|
||||
/// Get version of GraalVM packages from the `build.sbt` file contents.
|
||||
pub fn get_flatbuffers_version(build_sbt_contents: &str) -> Result<Version> {
|
||||
get_string_assignment_value(build_sbt_contents, "flatbuffersVersion")?.parse2()
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
|
@ -32,35 +32,6 @@ pub mod manifest;
|
||||
|
||||
|
||||
|
||||
/// Get the prefix of URL of the release's asset in GitHub.
|
||||
///
|
||||
/// By joining it with the asset name, we can get the URL of the asset.
|
||||
///
|
||||
/// ```
|
||||
/// # use enso_build::prelude::*;
|
||||
/// # use enso_build::release::download_asset_prefix;
|
||||
/// # use ide_ci::github::RepoRef;
|
||||
/// let repo = RepoRef::new("enso-org", "enso");
|
||||
/// let version = Version::from_str("2020.1.1").unwrap();
|
||||
/// let prefix = download_asset_prefix(&repo, &version);
|
||||
/// assert_eq!(prefix.as_str(), "https://github.com/enso-org/enso/releases/download/2020.1.1");
|
||||
/// ```
|
||||
pub fn download_asset_prefix(repo: &impl IsRepo, version: &Version) -> Url {
|
||||
let text = format!("https://github.com/{repo}/releases/download/{version}",);
|
||||
Url::from_str(&text).expect("Failed to parse the URL.")
|
||||
}
|
||||
|
||||
/// Get the URL for downloading the asset from the GitHub release.
|
||||
pub fn download_asset(
|
||||
repo: &impl IsRepo,
|
||||
version: &Version,
|
||||
asset_name: impl AsRef<str>,
|
||||
) -> String {
|
||||
let prefix = download_asset_prefix(repo, version);
|
||||
let asset_name = asset_name.as_ref();
|
||||
format!("{prefix}/{asset_name}")
|
||||
}
|
||||
|
||||
/// Generate placeholders for the release notes.
|
||||
pub fn release_body_placeholders(
|
||||
context: &BuildContext,
|
||||
@ -215,14 +186,18 @@ pub async fn validate_release(release: github::release::Handle) -> Result {
|
||||
let info = release.get().await?;
|
||||
ensure!(!info.draft, "Release is a draft.");
|
||||
let version = Version::from_str(&info.tag_name)?;
|
||||
let manifest_url = download_asset(&release.repo, &version, manifest::ASSETS_MANIFEST_FILENAME);
|
||||
let manifest = ide_ci::io::download_all(&manifest_url)
|
||||
let manifest_url = github::release::download_asset(
|
||||
&release.repo,
|
||||
&version,
|
||||
manifest::ASSETS_MANIFEST_FILENAME,
|
||||
);
|
||||
let manifest = ide_ci::io::download_all(manifest_url)
|
||||
.await
|
||||
.context("Failed to download assets manifest.")?;
|
||||
let manifest: manifest::Assets =
|
||||
serde_json::from_slice(&manifest).context("Failed to parse assets manifest.")?;
|
||||
for asset in manifest.assets() {
|
||||
let response = reqwest::Client::new().get(&asset.url).send().await?;
|
||||
let response = reqwest::Client::new().get(asset.url.clone()).send().await?;
|
||||
ensure!(response.status().is_success(), "Failed to download asset: {}", asset.url);
|
||||
}
|
||||
Ok(())
|
||||
@ -385,12 +360,6 @@ mod tests {
|
||||
let manifest_json = serde_json::to_string_pretty(&manifest)?;
|
||||
debug!("Manifest: {}", manifest_json);
|
||||
|
||||
let all_assets = manifest.ide.iter().chain(&manifest.engine);
|
||||
for asset in all_assets {
|
||||
let response = reqwest::Client::new().get(&asset.url).send().await?;
|
||||
ensure!(response.status().is_success(), "Failed to download asset: {}", asset.url);
|
||||
}
|
||||
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
|
@ -6,7 +6,6 @@ use crate::prelude::*;
|
||||
|
||||
use crate::paths::TargetTriple;
|
||||
use crate::project;
|
||||
use crate::release;
|
||||
use crate::version::Versions;
|
||||
|
||||
|
||||
@ -21,13 +20,13 @@ pub const ASSETS_MANIFEST_FILENAME: &str = "assets.json";
|
||||
pub struct Asset {
|
||||
pub os: OS,
|
||||
pub arch: Arch,
|
||||
pub url: String,
|
||||
pub url: Url,
|
||||
/// User-friendly description of the target platform.
|
||||
pub target_pretty: String,
|
||||
}
|
||||
|
||||
impl Asset {
|
||||
pub fn new(url: String, triple: &TargetTriple) -> Self {
|
||||
pub fn new(url: Url, triple: &TargetTriple) -> Self {
|
||||
let target_pretty = match (triple.os, triple.arch) {
|
||||
(OS::Windows, Arch::X86_64) => "Windows".into(),
|
||||
(OS::Linux, Arch::X86_64) => "Linux".into(),
|
||||
@ -42,7 +41,7 @@ impl Asset {
|
||||
pub fn new_ide(repo: &impl IsRepo, triple: &TargetTriple) -> Self {
|
||||
let filename =
|
||||
project::ide::electron_image_filename(triple.os, triple.arch, &triple.versions.version);
|
||||
let url = release::download_asset(repo, &triple.versions.version, filename);
|
||||
let url = ide_ci::github::release::download_asset(repo, &triple.versions.version, filename);
|
||||
Self::new(url, triple)
|
||||
}
|
||||
|
||||
@ -52,7 +51,7 @@ impl Asset {
|
||||
let stem = RepoRootBuiltDistributionEnsoBundleTriple::segment_name(triple.to_string());
|
||||
let ext = ide_ci::github::release::archive_extension_for(triple.os);
|
||||
let filename = format!("{stem}.{ext}");
|
||||
let url = release::download_asset(repo, &triple.versions.version, filename);
|
||||
let url = ide_ci::github::release::download_asset(repo, &triple.versions.version, filename);
|
||||
Self::new(url, triple)
|
||||
}
|
||||
}
|
||||
|
@ -72,25 +72,6 @@ pub fn is_github_hosted() -> String {
|
||||
"startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')".into()
|
||||
}
|
||||
|
||||
/// Step that sets up `conda` on GitHub-hosted runners.
|
||||
///
|
||||
/// We set up `conda` on GitHub-hosted runners because we need it to install `flatbuffers` in
|
||||
/// required version. Our self-hosted runners have `flatc` already installed, so we don't need
|
||||
/// `conda` there.
|
||||
pub fn setup_conda() -> Step {
|
||||
// use crate::actions::workflow::definition::step::CondaChannel;
|
||||
Step {
|
||||
name: Some("Setup conda (GH runners only)".into()),
|
||||
uses: Some("s-weigand/setup-conda@v1.2.1".into()),
|
||||
r#if: Some(is_github_hosted()),
|
||||
with: Some(step::Argument::SetupConda {
|
||||
update_conda: Some(false),
|
||||
conda_channels: Some("anaconda, conda-forge".into()),
|
||||
}),
|
||||
..default()
|
||||
}
|
||||
}
|
||||
|
||||
pub fn setup_wasm_pack_step() -> Step {
|
||||
Step {
|
||||
name: Some("Installing wasm-pack".into()),
|
||||
@ -1008,13 +989,6 @@ pub mod step {
|
||||
submodules: Option<CheckoutArgumentSubmodules>,
|
||||
},
|
||||
#[serde(rename_all = "kebab-case")]
|
||||
SetupConda {
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
update_conda: Option<bool>,
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
conda_channels: Option<String>, // conda_channels: Vec<CondaChannel>
|
||||
},
|
||||
#[serde(rename_all = "kebab-case")]
|
||||
GitHubScript {
|
||||
script: String,
|
||||
},
|
||||
|
2
build/ci_utils/src/cache/goodie.rs
vendored
2
build/ci_utils/src/cache/goodie.rs
vendored
@ -8,7 +8,7 @@ use crate::cache::Cache;
|
||||
// === Export ===
|
||||
// ==============
|
||||
|
||||
pub mod binaryen;
|
||||
pub mod flatc;
|
||||
pub mod graalpy;
|
||||
pub mod graalvm;
|
||||
pub mod sbt;
|
||||
|
77
build/ci_utils/src/cache/goodie/binaryen.rs
vendored
77
build/ci_utils/src/cache/goodie/binaryen.rs
vendored
@ -1,77 +0,0 @@
|
||||
use crate::prelude::*;
|
||||
|
||||
use crate::cache::goodie;
|
||||
use crate::cache::Cache;
|
||||
use crate::env::known::PATH;
|
||||
use crate::program::version::IsVersionPredicate;
|
||||
use crate::programs::wasm_opt;
|
||||
use crate::programs::wasm_opt::WasmOpt;
|
||||
|
||||
|
||||
|
||||
#[derive(Clone, Copy, Debug, Display)]
|
||||
pub struct Binaryen {
|
||||
pub version: u32,
|
||||
}
|
||||
|
||||
impl IsVersionPredicate for Binaryen {
|
||||
type Version = wasm_opt::Version;
|
||||
fn matches(&self, version: &Self::Version) -> bool {
|
||||
version.0 >= self.version
|
||||
}
|
||||
}
|
||||
|
||||
impl Binaryen {
|
||||
fn url(&self) -> Result<Url> {
|
||||
let version = format!("version_{}", self.version);
|
||||
let target = match (TARGET_OS, TARGET_ARCH) {
|
||||
(OS::Windows, Arch::X86_64) => "x86_64-windows",
|
||||
(OS::Linux, Arch::X86_64) => "x86_64-linux",
|
||||
(OS::MacOS, Arch::X86_64) => "x86_64-macos",
|
||||
(OS::MacOS, Arch::AArch64) => "arm64-macos",
|
||||
(os, arch) => bail!("Not supported arch/OS combination: {arch}-{os}."),
|
||||
};
|
||||
let url = format!("https://github.com/WebAssembly/binaryen/releases/download/{version}/binaryen-{version}-{target}.tar.gz");
|
||||
url.parse2()
|
||||
}
|
||||
}
|
||||
|
||||
impl Goodie for Binaryen {
|
||||
fn get(&self, cache: &Cache) -> BoxFuture<'static, Result<PathBuf>> {
|
||||
goodie::download_try_url(self.url(), cache)
|
||||
}
|
||||
|
||||
fn is_active(&self) -> BoxFuture<'static, Result<bool>> {
|
||||
let this = *self;
|
||||
async move {
|
||||
WasmOpt.require_present_that(this).await?;
|
||||
Ok(true)
|
||||
}
|
||||
.boxed()
|
||||
}
|
||||
|
||||
fn activation_env_changes(&self, package_path: &Path) -> Result<Vec<crate::env::Modification>> {
|
||||
let bin_dir = package_path.join(format!("binaryen-version_{}", self.version)).join("bin");
|
||||
crate::fs::expect_dir(&bin_dir)?;
|
||||
Ok(vec![crate::env::Modification::prepend_path(&PATH, bin_dir)])
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
|
||||
#[tokio::test]
|
||||
#[ignore]
|
||||
async fn install_wasm_opt() -> Result {
|
||||
setup_logging()?;
|
||||
let cache = Cache::new_default().await?;
|
||||
let binaryen = Binaryen { version: 108 };
|
||||
binaryen.install_if_missing(&cache).await?;
|
||||
dbg!(WasmOpt.lookup())?;
|
||||
|
||||
assert!(binaryen.is_active().await?);
|
||||
|
||||
Ok(())
|
||||
}
|
||||
}
|
82
build/ci_utils/src/cache/goodie/flatc.rs
vendored
Normal file
82
build/ci_utils/src/cache/goodie/flatc.rs
vendored
Normal file
@ -0,0 +1,82 @@
|
||||
use crate::prelude::*;
|
||||
|
||||
use crate::cache::goodie;
|
||||
use crate::cache::Cache;
|
||||
use crate::env::known::PATH;
|
||||
use crate::env::Modification;
|
||||
use crate::github::RepoRef;
|
||||
|
||||
|
||||
|
||||
/// The repository of the FlatBuffers project.
|
||||
pub const REPO: RepoRef = RepoRef { owner: "google", name: "flatbuffers" };
|
||||
|
||||
#[derive(Clone, Debug)]
|
||||
pub struct Flatc {
|
||||
/// The version of the `flatc` binary.
|
||||
pub version: Version,
|
||||
/// Operating system for which the binary is built.
|
||||
pub platform: OS,
|
||||
}
|
||||
|
||||
impl Flatc {
|
||||
/// Get the download URL.
|
||||
///
|
||||
/// The package is a zip file containing the `flatc` binary.
|
||||
///
|
||||
/// ```
|
||||
/// use ide_ci::prelude::*;
|
||||
/// use ide_ci::cache::goodie::flatc::Flatc;
|
||||
///
|
||||
/// # fn main() -> Result {
|
||||
/// let version = Version::from_str("24.3.25")?;
|
||||
/// let flatc = Flatc { version, platform: OS::Linux };
|
||||
/// let url = flatc.url()?;
|
||||
/// assert_eq!(url.as_str(), "https://github.com/google/flatbuffers/releases/download/v24.3.25/Linux.flatc.binary.clang++-15.zip");
|
||||
/// # Ok(())
|
||||
/// # }
|
||||
pub fn url(&self) -> Result<Url> {
|
||||
let filename = match (&self.version, self.platform) {
|
||||
(version, OS::Windows) if version >= &Version::new(2, 0, 0) =>
|
||||
"Windows.flatc.binary.zip",
|
||||
(_, OS::Windows) => "flatc_windows.zip",
|
||||
(_, OS::MacOS) => "Mac.flatc.binary.zip",
|
||||
(version, OS::Linux) if version >= &Version::new(24, 3, 6) =>
|
||||
"Linux.flatc.binary.clang++-15.zip",
|
||||
(version, OS::Linux) if version >= &Version::new(2, 0, 7) =>
|
||||
"Linux.flatc.binary.clang++-12.zip",
|
||||
(version, OS::Linux) if version >= &Version::new(2, 0, 0) =>
|
||||
"Linux.flatc.binary.clang++-9.zip",
|
||||
(version, os) => bail!("Unsupported version {version} for {os}."),
|
||||
};
|
||||
let tag = release_tag(&self.version);
|
||||
Ok(crate::github::release::download_asset(&REPO, &tag, filename))
|
||||
}
|
||||
}
|
||||
|
||||
impl Goodie for Flatc {
|
||||
fn get(&self, cache: &Cache) -> BoxFuture<'static, Result<PathBuf>> {
|
||||
goodie::download_try_url(self.url(), cache)
|
||||
}
|
||||
|
||||
fn is_active(&self) -> BoxFuture<'static, Result<bool>> {
|
||||
let version = self.version.clone();
|
||||
async move {
|
||||
let flatc = crate::programs::flatc::Flatc;
|
||||
flatc.require_present_at(&version).await?;
|
||||
Ok(true)
|
||||
}
|
||||
.boxed()
|
||||
}
|
||||
|
||||
fn activation_env_changes(&self, package_path: &Path) -> Result<Vec<Modification>> {
|
||||
Ok(vec![Modification::prepend_path(&PATH, package_path)])
|
||||
}
|
||||
}
|
||||
|
||||
/// Get the release tag for the given FlatBuffers version.
|
||||
///
|
||||
/// The FlatBuffers release tag is prefixed with `v`, so we cannot use the `Version` directly.
|
||||
pub fn release_tag(version: &Version) -> String {
|
||||
format!("v{}", version)
|
||||
}
|
@ -36,6 +36,54 @@ pub fn archive_extension_for(os: OS) -> &'static str {
|
||||
}
|
||||
}
|
||||
|
||||
/// Get the prefix of URL of the release's asset in GitHub.
|
||||
///
|
||||
/// By joining it with the asset name, we can get the URL of the asset.
|
||||
///
|
||||
/// ```
|
||||
/// # use ide_ci::prelude::*;
|
||||
/// # use ide_ci::github::release::download_asset_prefix;
|
||||
/// # use ide_ci::github::RepoRef;
|
||||
/// let repo = RepoRef::new("enso-org", "enso");
|
||||
/// let version = Version::from_str("2020.1.1").unwrap();
|
||||
/// let prefix = download_asset_prefix(&repo, &version);
|
||||
/// assert_eq!(prefix.as_str(), "https://github.com/enso-org/enso/releases/download/2020.1.1/");
|
||||
/// ```
|
||||
pub fn download_asset_prefix(repo: &impl IsRepo, release_tag: &impl Display) -> Url {
|
||||
let text = format!("https://github.com/{repo}/releases/download/{release_tag}/",);
|
||||
Url::from_str(&text).expect("Failed to parse the URL.")
|
||||
}
|
||||
|
||||
/// Get the URL for downloading the asset from the GitHub release.
|
||||
///
|
||||
/// ```
|
||||
/// # use ide_ci::prelude::*;
|
||||
/// # use ide_ci::github::release::download_asset;
|
||||
/// # use ide_ci::github::RepoRef;
|
||||
/// let repo = RepoRef::new("enso-org", "enso");
|
||||
/// let version = Version::from_str("2020.1.1").unwrap();
|
||||
/// let name = "foo.zip";
|
||||
/// let url = download_asset(&repo, &version, name);
|
||||
/// assert_eq!(url.as_str(), "https://github.com/enso-org/enso/releases/download/2020.1.1/foo.zip");
|
||||
/// ```
|
||||
pub fn download_asset(
|
||||
repo: &impl IsRepo,
|
||||
release_tag: &impl Display,
|
||||
asset_name: impl AsRef<str>,
|
||||
) -> Url {
|
||||
let prefix = download_asset_prefix(repo, release_tag);
|
||||
prefix
|
||||
.join(asset_name.as_ref())
|
||||
.with_context(|| {
|
||||
format!(
|
||||
"Failed to join the prefix {} with the asset name {}.",
|
||||
prefix,
|
||||
asset_name.as_ref()
|
||||
)
|
||||
})
|
||||
.expect("Failed to join the URL.")
|
||||
}
|
||||
|
||||
/// Types that uniquely identify a release and can be used to fetch it from GitHub.
|
||||
pub trait IsRelease: Debug {
|
||||
/// The release ID.
|
||||
|
@ -53,6 +53,13 @@ impl IsVersionPredicate for semver::VersionReq {
|
||||
}
|
||||
}
|
||||
|
||||
impl IsVersionPredicate for Version {
|
||||
type Version = Version;
|
||||
fn matches(&self, version: &Self::Version) -> bool {
|
||||
self == version
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
|
@ -5,7 +5,6 @@
|
||||
pub mod cargo;
|
||||
pub mod cmake;
|
||||
pub mod cmd;
|
||||
pub mod conda;
|
||||
pub mod docker;
|
||||
pub mod flatc;
|
||||
pub mod git;
|
||||
@ -35,7 +34,6 @@ pub mod wasm_pack;
|
||||
pub use cargo::Cargo;
|
||||
pub use cmake::CMake;
|
||||
pub use cmd::Cmd;
|
||||
pub use conda::Conda;
|
||||
pub use docker::Docker;
|
||||
pub use flatc::Flatc;
|
||||
pub use git::Git;
|
||||
|
@ -1,19 +0,0 @@
|
||||
use crate::prelude::*;
|
||||
|
||||
|
||||
|
||||
#[derive(Clone, Copy, Debug)]
|
||||
pub struct Conda;
|
||||
|
||||
impl Program for Conda {
|
||||
fn executable_name(&self) -> &'static str {
|
||||
"conda"
|
||||
}
|
||||
fn default_locations(&self) -> Vec<PathBuf> {
|
||||
if let Some(path) = std::env::var_os("CONDA") {
|
||||
vec![PathBuf::from(path)]
|
||||
} else {
|
||||
default()
|
||||
}
|
||||
}
|
||||
}
|
@ -53,7 +53,7 @@ Copyright notices related to this dependency can be found in the directory `com.
|
||||
|
||||
'flatbuffers-java', licensed under the Apache License V2.0, is distributed with the engine.
|
||||
The license file can be found at `licenses/APACHE2.0`.
|
||||
Copyright notices related to this dependency can be found in the directory `com.google.flatbuffers.flatbuffers-java-1.12.0`.
|
||||
Copyright notices related to this dependency can be found in the directory `com.google.flatbuffers.flatbuffers-java-24.3.25`.
|
||||
|
||||
|
||||
'failureaccess', licensed under the The Apache Software License, Version 2.0, is distributed with the engine.
|
||||
|
@ -1,40 +1,3 @@
|
||||
-------------------
|
||||
|
||||
From file Utf8Safe.java:
|
||||
|
||||
// Protocol Buffers - Google's data interchange format
|
||||
// Copyright 2008 Google Inc. All rights reserved.
|
||||
// https://developers.google.com/protocol-buffers/
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
// met:
|
||||
//
|
||||
// * Redistributions of source code must retain the above copyright
|
||||
// notice, this list of conditions and the following disclaimer.
|
||||
// * Redistributions in binary form must reproduce the above
|
||||
// copyright notice, this list of conditions and the following disclaimer
|
||||
// in the documentation and/or other materials provided with the
|
||||
// distribution.
|
||||
// * Neither the name of Google Inc. nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from
|
||||
// this software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
-------------------
|
||||
|
||||
|
||||
/*
|
||||
* Copyright 2014 Google Inc. All rights reserved.
|
||||
*
|
||||
@ -82,3 +45,38 @@ From file Utf8Safe.java:
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
// Protocol Buffers - Google's data interchange format
|
||||
// Copyright 2008 Google Inc. All rights reserved.
|
||||
// https://developers.google.com/protocol-buffers/
|
||||
|
||||
// Protocol Buffers - Google's data interchange format
|
||||
// Copyright 2008 Google Inc. All rights reserved.
|
||||
// https://developers.google.com/protocol-buffers/
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
// met:
|
||||
//
|
||||
// * Redistributions of source code must retain the above copyright
|
||||
// notice, this list of conditions and the following disclaimer.
|
||||
// * Redistributions in binary form must reproduce the above
|
||||
// copyright notice, this list of conditions and the following disclaimer
|
||||
// in the documentation and/or other materials provided with the
|
||||
// distribution.
|
||||
// * Neither the name of Google Inc. nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from
|
||||
// this software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
@ -83,7 +83,7 @@ Copyright notices related to this dependency can be found in the directory `com.
|
||||
|
||||
'flatbuffers-java', licensed under the Apache License V2.0, is distributed with the project-manager.
|
||||
The license file can be found at `licenses/APACHE2.0`.
|
||||
Copyright notices related to this dependency can be found in the directory `com.google.flatbuffers.flatbuffers-java-1.12.0`.
|
||||
Copyright notices related to this dependency can be found in the directory `com.google.flatbuffers.flatbuffers-java-24.3.25`.
|
||||
|
||||
|
||||
'paranamer', licensed under the BSD, is distributed with the project-manager.
|
||||
|
@ -1,40 +1,3 @@
|
||||
-------------------
|
||||
|
||||
From file Utf8Safe.java:
|
||||
|
||||
// Protocol Buffers - Google's data interchange format
|
||||
// Copyright 2008 Google Inc. All rights reserved.
|
||||
// https://developers.google.com/protocol-buffers/
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
// met:
|
||||
//
|
||||
// * Redistributions of source code must retain the above copyright
|
||||
// notice, this list of conditions and the following disclaimer.
|
||||
// * Redistributions in binary form must reproduce the above
|
||||
// copyright notice, this list of conditions and the following disclaimer
|
||||
// in the documentation and/or other materials provided with the
|
||||
// distribution.
|
||||
// * Neither the name of Google Inc. nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from
|
||||
// this software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
-------------------
|
||||
|
||||
|
||||
/*
|
||||
* Copyright 2014 Google Inc. All rights reserved.
|
||||
*
|
||||
@ -82,3 +45,38 @@ From file Utf8Safe.java:
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
// Protocol Buffers - Google's data interchange format
|
||||
// Copyright 2008 Google Inc. All rights reserved.
|
||||
// https://developers.google.com/protocol-buffers/
|
||||
|
||||
// Protocol Buffers - Google's data interchange format
|
||||
// Copyright 2008 Google Inc. All rights reserved.
|
||||
// https://developers.google.com/protocol-buffers/
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
// met:
|
||||
//
|
||||
// * Redistributions of source code must retain the above copyright
|
||||
// notice, this list of conditions and the following disclaimer.
|
||||
// * Redistributions in binary form must reproduce the above
|
||||
// copyright notice, this list of conditions and the following disclaimer
|
||||
// in the documentation and/or other materials provided with the
|
||||
// distribution.
|
||||
// * Neither the name of Google Inc. nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from
|
||||
// this software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
@ -167,7 +167,9 @@ In order to build and run Enso you will need the following tools:
|
||||
- [GraalVM](https://www.graalvm.org/) with the same version as described in the
|
||||
[`build.sbt`](../build.sbt) file, configured as your default JVM.
|
||||
- [Flatbuffers Compiler](https://google.github.io/flatbuffers) with version
|
||||
1.12.0.
|
||||
24.3.25. It is automatically downloaded when using the `run` command. For
|
||||
direct `sbt` usage, you can download the `flatc` binary from the
|
||||
[release assets](https://github.com/google/flatbuffers/releases/tag/v24.3.25).
|
||||
- [Rustup](https://rustup.rs), the rust toolchain management utility.
|
||||
- On MacOS and Linux, the `tar` command is required for running some tests. It
|
||||
should be installed by default on most distributions.
|
||||
@ -200,15 +202,6 @@ pyenv global 2.7.18
|
||||
export PYTHON_PATH=$(pyenv root)/shims/python
|
||||
```
|
||||
|
||||
The flatbuffers `flatc` compiler can be installed from the following locations:
|
||||
|
||||
- Using the `conda` package manager (`conda install flatbuffers`). This will
|
||||
work on all platforms, but requires some knowledge of `conda` and how its
|
||||
environments work.
|
||||
- Windows users can download binaries directly from the flatbuffers github
|
||||
[releases](https://github.com/google/flatbuffers/releases).
|
||||
- MacOS users can install it via homebrew (`brew install flatbuffers`).
|
||||
|
||||
### Getting the Sources
|
||||
|
||||
Given you've probably been reading this document on GitHub, you might have an
|
||||
|
@ -13,10 +13,10 @@ union InboundPayload {
|
||||
// An envelope for inbound requests and commands.
|
||||
table InboundMessage {
|
||||
// A unique id of the message sent to the server.
|
||||
messageId: EnsoUUID (required);
|
||||
message_id: EnsoUUID (required);
|
||||
|
||||
// An optional correlation id used to correlate a response with a request.
|
||||
correlationId: EnsoUUID;
|
||||
correlation_id: EnsoUUID;
|
||||
|
||||
// A message payload that carries requests sent by a client.
|
||||
payload: InboundPayload (required);
|
||||
@ -36,10 +36,10 @@ union OutboundPayload {
|
||||
// An envelope for outbound responses.
|
||||
table OutboundMessage {
|
||||
// A unique id of the message sent from the server.
|
||||
messageId: EnsoUUID (required);
|
||||
message_id: EnsoUUID (required);
|
||||
|
||||
// An optional correlation id used to correlate a response with a request.
|
||||
correlationId: EnsoUUID;
|
||||
correlation_id: EnsoUUID;
|
||||
|
||||
// A message payload that carries responses and notifications sent by a server
|
||||
payload: OutboundPayload (required);
|
||||
@ -49,10 +49,10 @@ table OutboundMessage {
|
||||
// A binary representation of universally unique identifiers.
|
||||
struct EnsoUUID {
|
||||
// The most significant bits of the UUID.
|
||||
leastSigBits:uint64;
|
||||
least_sig_bits:uint64;
|
||||
|
||||
// The most significant bits of the UUID.
|
||||
mostSigBits:uint64;
|
||||
most_sig_bits:uint64;
|
||||
|
||||
}
|
||||
|
||||
@ -79,7 +79,7 @@ table Error {
|
||||
// The error payload for a read out of bounds error.
|
||||
table ReadOutOfBoundsError {
|
||||
// The actual length of the file in which the read was out of bounds.
|
||||
fileLength : ulong;
|
||||
file_length : ulong;
|
||||
}
|
||||
|
||||
// Indicates an operation has succeeded.
|
||||
@ -97,20 +97,20 @@ root_type InitSessionCommand;
|
||||
// A visualization context identifying a concrete visualization.
|
||||
table VisualizationContext {
|
||||
// A visualization identifier.
|
||||
visualizationId: EnsoUUID (required);
|
||||
visualization_id: EnsoUUID (required);
|
||||
|
||||
// A context identifier.
|
||||
contextId: EnsoUUID (required);
|
||||
context_id: EnsoUUID (required);
|
||||
|
||||
// An expression identifier.
|
||||
expressionId: EnsoUUID (required);
|
||||
expression_id: EnsoUUID (required);
|
||||
|
||||
}
|
||||
|
||||
// An event signaling visualization update.
|
||||
table VisualizationUpdate {
|
||||
// A visualization context identifying a concrete visualization.
|
||||
visualizationContext: VisualizationContext (required);
|
||||
visualization_context: VisualizationContext (required);
|
||||
|
||||
// A visualization data.
|
||||
data: [ubyte] (required);
|
||||
@ -120,7 +120,7 @@ table VisualizationUpdate {
|
||||
// A representation of a path relative to a specified content root.
|
||||
table Path {
|
||||
//a content root id that the path is relative to
|
||||
rootId: EnsoUUID;
|
||||
root_id: EnsoUUID;
|
||||
|
||||
//path segments
|
||||
segments: [string];
|
||||
@ -157,10 +157,10 @@ table WriteBytesCommand {
|
||||
path : Path (required);
|
||||
|
||||
// The byte offset in the file to write from.
|
||||
byteOffset : ulong;
|
||||
byte_offset : ulong;
|
||||
|
||||
// Whether existing content should be overwritten.
|
||||
overwriteExisting : bool;
|
||||
overwrite_existing : bool;
|
||||
|
||||
// The file contents.
|
||||
bytes : [ubyte] (required);
|
||||
@ -213,7 +213,7 @@ table FileSegment {
|
||||
path : Path (required);
|
||||
|
||||
// The byte offset in the file to read from.
|
||||
byteOffset : ulong;
|
||||
byte_offset : ulong;
|
||||
|
||||
// The number of bytes to read.
|
||||
length : ulong;
|
||||
|
@ -3,15 +3,15 @@ namespace org.enso.polyglot.debugger.protocol;
|
||||
// A single element of the stack trace.
|
||||
// Corresponds to java.lang.StackTraceElement
|
||||
table StackTraceElement {
|
||||
declaringClass: string;
|
||||
methodName: string;
|
||||
fileName: string;
|
||||
lineNumber: int;
|
||||
declaring_class: string;
|
||||
method_name: string;
|
||||
file_name: string;
|
||||
line_number: int;
|
||||
}
|
||||
|
||||
// Representation of Exceptions reported on evaluation failure.
|
||||
table ExceptionRepresentation {
|
||||
message: string;
|
||||
stackTrace: [StackTraceElement];
|
||||
stack_trace: [StackTraceElement];
|
||||
cause: ExceptionRepresentation;
|
||||
}
|
||||
|
@ -1 +1 @@
|
||||
/FasterXML/jackson-dataformats-binary/blob/2.17/LICENSE
|
||||
/FasterXML/jackson-dataformats-binary/blob/2.18/LICENSE
|
||||
|
@ -1,7 +1,3 @@
|
||||
-------------------
|
||||
|
||||
From file Utf8Safe.java:
|
||||
|
||||
// Protocol Buffers - Google's data interchange format
|
||||
// Copyright 2008 Google Inc. All rights reserved.
|
||||
// https://developers.google.com/protocol-buffers/
|
||||
@ -31,5 +27,3 @@ From file Utf8Safe.java:
|
||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
-------------------
|
@ -1,4 +1,3 @@
|
||||
Copyright 2008 Google Inc. All rights reserved.
|
||||
Redistributions of source code must retain the above copyright
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
copyright notice, this list of conditions and the following disclaimer
|
||||
Redistributions of source code must retain the above copyright
|
@ -1,3 +1,4 @@
|
||||
Copyright 2014 Google Inc. All rights reserved.
|
||||
Copyright 2017 Google Inc. All rights reserved.
|
||||
Copyright 2019 Google Inc. All rights reserved.
|
||||
Copyright 2017 Google Inc. All rights reserved.
|
||||
Copyright 2014 Google Inc. All rights reserved.
|
||||
Copyright 2008 Google Inc. All rights reserved.
|
@ -1,3 +1,3 @@
|
||||
911AAD4DA796BD9B80E14DE7DF556BE853E6C744FAC0B07C1BEECE86F1E43FD9
|
||||
90B547E0CB6962C580225A770AE08EB2F17B94115ED78C888036C27753A62CB2
|
||||
416F24D717DFDBF394B4B7392DD1F9B784D5B4C6B9F72E6C90902E0E02181FB6
|
||||
6525E0B8B6538AA3FCD626624DF7CCEA88BF6BFD4A9BA872F40915F037E2BAAF
|
||||
0
|
||||
|
@ -1,7 +1,3 @@
|
||||
-------------------
|
||||
|
||||
From file Utf8Safe.java:
|
||||
|
||||
// Protocol Buffers - Google's data interchange format
|
||||
// Copyright 2008 Google Inc. All rights reserved.
|
||||
// https://developers.google.com/protocol-buffers/
|
||||
@ -31,5 +27,3 @@ From file Utf8Safe.java:
|
||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
-------------------
|
@ -1,4 +1,3 @@
|
||||
Copyright 2008 Google Inc. All rights reserved.
|
||||
Redistributions of source code must retain the above copyright
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
copyright notice, this list of conditions and the following disclaimer
|
||||
Redistributions of source code must retain the above copyright
|
@ -1,3 +1,4 @@
|
||||
Copyright 2014 Google Inc. All rights reserved.
|
||||
Copyright 2017 Google Inc. All rights reserved.
|
||||
Copyright 2019 Google Inc. All rights reserved.
|
||||
Copyright 2017 Google Inc. All rights reserved.
|
||||
Copyright 2014 Google Inc. All rights reserved.
|
||||
Copyright 2008 Google Inc. All rights reserved.
|
@ -1,3 +1,3 @@
|
||||
DA577D238B5C40A48477C0D5795CBCBAB62E952E90CB3D43068DF412B1568032
|
||||
2FB532C34469119F70F134A88D694A86E9442B669EAFA6B7753D787244201E80
|
||||
5DCEB0A37FD6967F3EA7670A6DD41E5C0872C1F0965EA07EAAAE2EF570F86141
|
||||
80340DDF269F12E05EFFFD1C297B42E4B4A5F7495ED69BC25933FCEFBA04EAA2
|
||||
0
|
||||
|
Loading…
Reference in New Issue
Block a user