Optimize building and casting of EnsoMultiValue #5950
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Enso Language Support for VSCode, IGV, NetBeans | |
on: | |
push: | |
branches: [develop] | |
pull_request: | |
branches: [develop] | |
paths: | |
- ".github/workflows/enso4igv.yml" | |
- "tools/enso4igv/**/*" | |
- "engine/**/*" | |
- "lib/java/**/*" | |
- "lib/scala/**/*" | |
- "build.sbt" | |
jobs: | |
build_linux_parser: | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install rustup | |
run: | | |
rustup target add x86_64-unknown-linux-musl | |
- name: Build Enso Parser | |
working-directory: . | |
env: | |
RUSTFLAGS: "-C target-feature=-crt-static" | |
run: | | |
cargo build --release -p enso-parser-jni -Z unstable-options --target x86_64-unknown-linux-musl --out-dir target/lib/ | |
- name: Upload Artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: parser_linux | |
path: | | |
target/lib/** | |
build_mac_intel_parser: | |
runs-on: macos-13 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Build Enso Parser | |
working-directory: . | |
env: | |
RUSTFLAGS: "-C target-feature=-crt-static" | |
run: | | |
cargo build --release -p enso-parser-jni -Z unstable-options --out-dir target/lib/x86_64 | |
- name: Upload Artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: parser_mac_intel | |
path: | | |
target/lib/** | |
build_mac_arm_parser: | |
runs-on: macos-14 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Build Enso Parser | |
working-directory: . | |
env: | |
RUSTFLAGS: "-C target-feature=-crt-static" | |
run: | | |
cargo build --release -p enso-parser-jni -Z unstable-options --out-dir target/lib/aarch64/ | |
- name: Upload Artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: parser_mac_arm | |
path: | | |
target/lib/** | |
build_windows_parser: | |
runs-on: windows-2019 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Build Enso Parser | |
working-directory: . | |
env: | |
RUSTFLAGS: "-C target-feature=-crt-static" | |
run: | | |
cargo build --release -p enso-parser-jni -Z unstable-options --out-dir target/lib/ | |
- name: Upload Artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: parser_windows | |
path: | | |
target/lib/** | |
build_java: | |
needs: | |
[ | |
build_linux_parser, | |
build_mac_intel_parser, | |
build_mac_arm_parser, | |
build_windows_parser, | |
] | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Download Libraries | |
uses: actions/download-artifact@v4 | |
with: | |
path: enso_parser | |
merge-multiple: true | |
- name: List Binaries | |
run: | | |
find . | grep -i enso.parser | xargs ls -ld | |
- name: Set up Rustup | |
run: rustup show | |
- uses: graalvm/setup-graalvm@v1 | |
with: | |
java-version: "21" | |
distribution: "graalvm-community" | |
- name: Publish Enso Libraries to Local Maven Repository | |
run: sbt publishM2 | |
- name: Find out pom & micro versions | |
working-directory: tools/enso4igv | |
run: | | |
# Why do we subtract a number? Read versioning policy! | |
# https://github.com/enso-org/enso/pull/7861#discussion_r1333133490 | |
echo "POM_VERSION=`mvn -q -DforceStdout help:evaluate -Dexpression=project.version | cut -f1 -d -`" >> "$GITHUB_ENV" | |
echo "MICRO_VERSION=`expr $GITHUB_RUN_NUMBER - 2930`" >> "$GITHUB_ENV" | |
- name: Update project version | |
working-directory: tools/enso4igv | |
run: | | |
echo "Setting version to $POM_VERSION.$MICRO_VERSION" | |
mvn versions:set -DnewVersion="$POM_VERSION.$MICRO_VERSION" | |
- name: Build with Maven | |
run: mvn -B -Pvsix package --file tools/enso4igv/pom.xml -Denso.parser.lib=`pwd`/enso_parser/ | |
- name: Archive NBM file | |
uses: actions/upload-artifact@v4 | |
with: | |
name: Enso IGV Plugin | |
path: tools/enso4igv/target/*.nbm | |
- name: Install Node.js modules | |
run: mvn -B -Pvsix npm:install --file tools/enso4igv/pom.xml | |
- name: Update package.json version | |
run: mvn -B -Pvsix npm:exec@version --file tools/enso4igv/pom.xml | |
- name: Build VSCode Extension | |
run: mvn -B -Pvsix npm:run@vsix --file tools/enso4igv/pom.xml -Denso.parser.lib=`pwd`/enso_parser/ | |
- name: Archive VSCode extension | |
uses: actions/upload-artifact@v4 | |
with: | |
name: VSCode Extension | |
path: tools/enso4igv/*.vsix |