mirror of
https://github.com/enso-org/enso.git
synced 2024-11-20 13:20:02 +03:00
Build script merge (#3743)
Merged the build script into main repository. Some related cleanups.
This commit is contained in:
parent
5386a8be07
commit
ad69eeb4ad
@ -1,11 +0,0 @@
|
||||
[build]
|
||||
target-dir = "target/rust/"
|
||||
rustflags = ["--cfg", "tokio_unstable"]
|
||||
|
||||
[target.wasm32-unknown-unknown]
|
||||
rustflags = [
|
||||
# Increas the stack size from 1MB to 2MB. This is required to avoid running out of stack space
|
||||
# in debug builds. The error is reported as `RuntimeError: memory access out of bounds`.
|
||||
"-C",
|
||||
"link-args=-z stack-size=2097152",
|
||||
]
|
11
.cargo/config.toml
Normal file
11
.cargo/config.toml
Normal file
@ -0,0 +1,11 @@
|
||||
[build]
|
||||
target-dir = "target/rust/"
|
||||
rustflags = ["--cfg", "tokio_unstable"]
|
||||
|
||||
[target.wasm32-unknown-unknown]
|
||||
rustflags = [
|
||||
# Increas the stack size from 1MB to 2MB. This is required to avoid running out of stack space
|
||||
# in debug builds. The error is reported as `RuntimeError: memory access out of bounds`.
|
||||
"-C",
|
||||
"link-args=-z stack-size=2097152",
|
||||
]
|
7
.github/CODEOWNERS
vendored
7
.github/CODEOWNERS
vendored
@ -1,6 +1,11 @@
|
||||
# Change log
|
||||
CHANGELOG.md
|
||||
|
||||
# Build script & utilities
|
||||
/run @mwu-tow
|
||||
/run.bat @mwu-tow
|
||||
/build @mwu-tow
|
||||
|
||||
# Rust Libraries and Related Files
|
||||
rust-toolchain.toml @MichaelMauderer @mwu-tow @farmaazon
|
||||
rustfmt.toml @MichaelMauderer @mwu-tow @farmaazon
|
||||
@ -20,8 +25,6 @@ Cargo.toml
|
||||
/lib/scala/interpreter-dsl/ @4e6 @jaroslavtulach
|
||||
|
||||
# GUI
|
||||
/run @MichaelMauderer @wdanilo
|
||||
/build/ @MichaelMauderer @wdanilo
|
||||
/app/gui/ @MichaelMauderer @wdanilo @farmaazon @mwu-tow
|
||||
/app/gui/view/ @MichaelMauderer @wdanilo @farmaazon
|
||||
/app/ide-desktop/ @MichaelMauderer @wdanilo
|
||||
|
40
.github/workflows/benchmark.yml
vendored
40
.github/workflows/benchmark.yml
vendored
@ -8,9 +8,7 @@ on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
just-check:
|
||||
description:
|
||||
If set, benchmarks will be only checked to run correctly, not
|
||||
to measure actual performance.
|
||||
description: If set, benchmarks will be only checked to run correctly, not to measure actual performance.
|
||||
required: true
|
||||
type: boolean
|
||||
default: false
|
||||
@ -22,37 +20,25 @@ jobs:
|
||||
steps:
|
||||
- name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.0.5
|
||||
if:
|
||||
startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted
|
||||
Agent')
|
||||
if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.3.0
|
||||
if:
|
||||
startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted
|
||||
Agent')
|
||||
if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
with:
|
||||
version: v0.10.2
|
||||
- name: Setup the Artifact API environment
|
||||
- name: Expose Artifact API and context information.
|
||||
uses: actions/github-script@v6
|
||||
with:
|
||||
script: |-
|
||||
core.exportVariable("ACTIONS_RUNTIME_TOKEN", process.env["ACTIONS_RUNTIME_TOKEN"])
|
||||
core.exportVariable("ACTIONS_RUNTIME_URL", process.env["ACTIONS_RUNTIME_URL"])
|
||||
core.exportVariable("GITHUB_RETENTION_DAYS", process.env["GITHUB_RETENTION_DAYS"])
|
||||
script: "\n core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\n core.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\n core.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])\n console.log(context)\n "
|
||||
- name: Workaround for https://github.com/actions/checkout/issues/590 (Windows)
|
||||
run:
|
||||
'"c:\Program Files\Git\bin\bash.exe" -c "git checkout -f $(git -c user.name=x
|
||||
-c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null)
|
||||
|| :"'
|
||||
run: '"c:\Program Files\Git\bin\bash.exe" -c "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :"'
|
||||
if: runner.os == 'Windows'
|
||||
shell: cmd
|
||||
- name: Workaround for https://github.com/actions/checkout/issues/590 (non-Windows)
|
||||
run:
|
||||
"git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git
|
||||
hash-object -t tree /dev/null) < /dev/null) || :"
|
||||
run: "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :"
|
||||
if: runner.os != 'Windows'
|
||||
shell: bash
|
||||
- name: Checking out the repository
|
||||
@ -64,6 +50,11 @@ jobs:
|
||||
run: ./run --help
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Clean before
|
||||
run: ./run git-clean
|
||||
if: "contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- run: ./run backend benchmark runtime
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
@ -73,6 +64,11 @@ jobs:
|
||||
- name: List files if failed (non-Windows)
|
||||
run: ls -lAR
|
||||
if: failure() && runner.os != 'Windows'
|
||||
- name: Clean after
|
||||
run: ./run git-clean
|
||||
if: "always() && always() && contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')"
|
||||
env:
|
||||
ENSO_BUILD_MINIMAL_RUN: ${{ inputs.just-check }}
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
env:
|
||||
ENSO_BUILD_MINIMAL_RUN: ${{ true == inputs.just-check }}
|
||||
ENSO_BUILD_SKIP_VERSION_CHECK: "true"
|
||||
|
68
.github/workflows/changelog.yml
vendored
Normal file
68
.github/workflows/changelog.yml
vendored
Normal file
@ -0,0 +1,68 @@
|
||||
name: Changelog
|
||||
on:
|
||||
pull_request:
|
||||
types:
|
||||
- labeled
|
||||
- unlabeled
|
||||
- synchronize
|
||||
- opened
|
||||
- reopened
|
||||
jobs:
|
||||
changelog:
|
||||
name: Changelog
|
||||
runs-on:
|
||||
- X64
|
||||
steps:
|
||||
- name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.0.5
|
||||
if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.3.0
|
||||
if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
with:
|
||||
version: v0.10.2
|
||||
- name: Expose Artifact API and context information.
|
||||
uses: actions/github-script@v6
|
||||
with:
|
||||
script: "\n core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\n core.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\n core.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])\n console.log(context)\n "
|
||||
- name: Workaround for https://github.com/actions/checkout/issues/590 (Windows)
|
||||
run: '"c:\Program Files\Git\bin\bash.exe" -c "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :"'
|
||||
if: runner.os == 'Windows'
|
||||
shell: cmd
|
||||
- name: Workaround for https://github.com/actions/checkout/issues/590 (non-Windows)
|
||||
run: "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :"
|
||||
if: runner.os != 'Windows'
|
||||
shell: bash
|
||||
- name: Checking out the repository
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
clean: false
|
||||
submodules: recursive
|
||||
- name: Build Script Setup
|
||||
run: ./run --help
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Clean before
|
||||
run: ./run git-clean
|
||||
if: "contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- run: ./run changelog-check
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: List files if failed (Windows)
|
||||
run: Get-ChildItem -Force -Recurse
|
||||
if: failure() && runner.os == 'Windows'
|
||||
- name: List files if failed (non-Windows)
|
||||
run: ls -lAR
|
||||
if: failure() && runner.os != 'Windows'
|
||||
- name: Clean after
|
||||
run: ./run git-clean
|
||||
if: "always() && always() && contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
env:
|
||||
ENSO_BUILD_SKIP_VERSION_CHECK: "true"
|
447
.github/workflows/gui.yml
vendored
447
.github/workflows/gui.yml
vendored
@ -6,45 +6,6 @@ on:
|
||||
pull_request: {}
|
||||
workflow_dispatch: {}
|
||||
jobs:
|
||||
enso-build-cli-ci-gen-job-assert-changelog-linux:
|
||||
name: Assert if CHANGELOG.md was updated (on pull request)
|
||||
runs-on:
|
||||
- self-hosted
|
||||
- Linux
|
||||
- engine
|
||||
steps:
|
||||
- name: Workaround for https://github.com/actions/checkout/issues/590 (Windows)
|
||||
run:
|
||||
'"c:\Program Files\Git\bin\bash.exe" -c "git checkout -f $(git -c user.name=x
|
||||
-c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null)
|
||||
|| :"'
|
||||
if: runner.os == 'Windows'
|
||||
shell: cmd
|
||||
- name: Workaround for https://github.com/actions/checkout/issues/590 (non-Windows)
|
||||
run:
|
||||
"git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git
|
||||
hash-object -t tree /dev/null) < /dev/null) || :"
|
||||
if: runner.os != 'Windows'
|
||||
shell: bash
|
||||
- name: Checking out the repository
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
clean: false
|
||||
submodules: recursive
|
||||
- id: changed_files
|
||||
run: |-
|
||||
git fetch
|
||||
list=`git diff --name-only origin/develop HEAD | tr '\n' ' '`
|
||||
echo $list
|
||||
echo "::set-output name=list::'$list'"
|
||||
- run:
|
||||
if [[ ${{ contains(steps.changed_files.outputs.list,'CHANGELOG.md') ||
|
||||
contains(github.event.head_commit.message,'[ci no changelog needed]') || contains(github.event.pull_request.body,'[ci
|
||||
no changelog needed]') || github.event.pull_request.user.login == 'dependabot'
|
||||
}} == false ]]; then exit 1; fi
|
||||
if:
|
||||
github.base_ref == 'develop' || github.base_ref == 'unstable' || github.base_ref
|
||||
== 'stable'
|
||||
enso-build-cli-ci-gen-job-build-backend-linux:
|
||||
name: Build Backend (linux)
|
||||
runs-on:
|
||||
@ -54,37 +15,25 @@ jobs:
|
||||
steps:
|
||||
- name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.0.5
|
||||
if:
|
||||
startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted
|
||||
Agent')
|
||||
if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.3.0
|
||||
if:
|
||||
startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted
|
||||
Agent')
|
||||
if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
with:
|
||||
version: v0.10.2
|
||||
- name: Setup the Artifact API environment
|
||||
- name: Expose Artifact API and context information.
|
||||
uses: actions/github-script@v6
|
||||
with:
|
||||
script: |-
|
||||
core.exportVariable("ACTIONS_RUNTIME_TOKEN", process.env["ACTIONS_RUNTIME_TOKEN"])
|
||||
core.exportVariable("ACTIONS_RUNTIME_URL", process.env["ACTIONS_RUNTIME_URL"])
|
||||
core.exportVariable("GITHUB_RETENTION_DAYS", process.env["GITHUB_RETENTION_DAYS"])
|
||||
script: "\n core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\n core.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\n core.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])\n console.log(context)\n "
|
||||
- name: Workaround for https://github.com/actions/checkout/issues/590 (Windows)
|
||||
run:
|
||||
'"c:\Program Files\Git\bin\bash.exe" -c "git checkout -f $(git -c user.name=x
|
||||
-c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null)
|
||||
|| :"'
|
||||
run: '"c:\Program Files\Git\bin\bash.exe" -c "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :"'
|
||||
if: runner.os == 'Windows'
|
||||
shell: cmd
|
||||
- name: Workaround for https://github.com/actions/checkout/issues/590 (non-Windows)
|
||||
run:
|
||||
"git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git
|
||||
hash-object -t tree /dev/null) < /dev/null) || :"
|
||||
run: "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :"
|
||||
if: runner.os != 'Windows'
|
||||
shell: bash
|
||||
- name: Checking out the repository
|
||||
@ -96,6 +45,11 @@ jobs:
|
||||
run: ./run --help
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Clean before
|
||||
run: ./run git-clean
|
||||
if: "contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- run: ./run backend get
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
@ -105,6 +59,11 @@ jobs:
|
||||
- name: List files if failed (non-Windows)
|
||||
run: ls -lAR
|
||||
if: failure() && runner.os != 'Windows'
|
||||
- name: Clean after
|
||||
run: ./run git-clean
|
||||
if: "always() && always() && contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
enso-build-cli-ci-gen-job-build-backend-macos:
|
||||
name: Build Backend (macos)
|
||||
runs-on:
|
||||
@ -112,37 +71,25 @@ jobs:
|
||||
steps:
|
||||
- name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.0.5
|
||||
if:
|
||||
startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted
|
||||
Agent')
|
||||
if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.3.0
|
||||
if:
|
||||
startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted
|
||||
Agent')
|
||||
if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
with:
|
||||
version: v0.10.2
|
||||
- name: Setup the Artifact API environment
|
||||
- name: Expose Artifact API and context information.
|
||||
uses: actions/github-script@v6
|
||||
with:
|
||||
script: |-
|
||||
core.exportVariable("ACTIONS_RUNTIME_TOKEN", process.env["ACTIONS_RUNTIME_TOKEN"])
|
||||
core.exportVariable("ACTIONS_RUNTIME_URL", process.env["ACTIONS_RUNTIME_URL"])
|
||||
core.exportVariable("GITHUB_RETENTION_DAYS", process.env["GITHUB_RETENTION_DAYS"])
|
||||
script: "\n core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\n core.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\n core.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])\n console.log(context)\n "
|
||||
- name: Workaround for https://github.com/actions/checkout/issues/590 (Windows)
|
||||
run:
|
||||
'"c:\Program Files\Git\bin\bash.exe" -c "git checkout -f $(git -c user.name=x
|
||||
-c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null)
|
||||
|| :"'
|
||||
run: '"c:\Program Files\Git\bin\bash.exe" -c "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :"'
|
||||
if: runner.os == 'Windows'
|
||||
shell: cmd
|
||||
- name: Workaround for https://github.com/actions/checkout/issues/590 (non-Windows)
|
||||
run:
|
||||
"git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git
|
||||
hash-object -t tree /dev/null) < /dev/null) || :"
|
||||
run: "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :"
|
||||
if: runner.os != 'Windows'
|
||||
shell: bash
|
||||
- name: Checking out the repository
|
||||
@ -154,6 +101,11 @@ jobs:
|
||||
run: ./run --help
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Clean before
|
||||
run: ./run git-clean
|
||||
if: "contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- run: ./run backend get
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
@ -163,6 +115,11 @@ jobs:
|
||||
- name: List files if failed (non-Windows)
|
||||
run: ls -lAR
|
||||
if: failure() && runner.os != 'Windows'
|
||||
- name: Clean after
|
||||
run: ./run git-clean
|
||||
if: "always() && always() && contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
enso-build-cli-ci-gen-job-build-backend-windows:
|
||||
name: Build Backend (windows)
|
||||
runs-on:
|
||||
@ -172,37 +129,25 @@ jobs:
|
||||
steps:
|
||||
- name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.0.5
|
||||
if:
|
||||
startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted
|
||||
Agent')
|
||||
if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.3.0
|
||||
if:
|
||||
startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted
|
||||
Agent')
|
||||
if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
with:
|
||||
version: v0.10.2
|
||||
- name: Setup the Artifact API environment
|
||||
- name: Expose Artifact API and context information.
|
||||
uses: actions/github-script@v6
|
||||
with:
|
||||
script: |-
|
||||
core.exportVariable("ACTIONS_RUNTIME_TOKEN", process.env["ACTIONS_RUNTIME_TOKEN"])
|
||||
core.exportVariable("ACTIONS_RUNTIME_URL", process.env["ACTIONS_RUNTIME_URL"])
|
||||
core.exportVariable("GITHUB_RETENTION_DAYS", process.env["GITHUB_RETENTION_DAYS"])
|
||||
script: "\n core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\n core.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\n core.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])\n console.log(context)\n "
|
||||
- name: Workaround for https://github.com/actions/checkout/issues/590 (Windows)
|
||||
run:
|
||||
'"c:\Program Files\Git\bin\bash.exe" -c "git checkout -f $(git -c user.name=x
|
||||
-c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null)
|
||||
|| :"'
|
||||
run: '"c:\Program Files\Git\bin\bash.exe" -c "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :"'
|
||||
if: runner.os == 'Windows'
|
||||
shell: cmd
|
||||
- name: Workaround for https://github.com/actions/checkout/issues/590 (non-Windows)
|
||||
run:
|
||||
"git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git
|
||||
hash-object -t tree /dev/null) < /dev/null) || :"
|
||||
run: "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :"
|
||||
if: runner.os != 'Windows'
|
||||
shell: bash
|
||||
- name: Checking out the repository
|
||||
@ -214,6 +159,11 @@ jobs:
|
||||
run: ./run --help
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Clean before
|
||||
run: ./run git-clean
|
||||
if: "contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- run: ./run backend get
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
@ -223,6 +173,11 @@ jobs:
|
||||
- name: List files if failed (non-Windows)
|
||||
run: ls -lAR
|
||||
if: failure() && runner.os != 'Windows'
|
||||
- name: Clean after
|
||||
run: ./run git-clean
|
||||
if: "always() && always() && contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
enso-build-cli-ci-gen-job-build-wasm-linux:
|
||||
name: Build GUI (WASM) (linux)
|
||||
runs-on:
|
||||
@ -232,37 +187,25 @@ jobs:
|
||||
steps:
|
||||
- name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.0.5
|
||||
if:
|
||||
startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted
|
||||
Agent')
|
||||
if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.3.0
|
||||
if:
|
||||
startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted
|
||||
Agent')
|
||||
if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
with:
|
||||
version: v0.10.2
|
||||
- name: Setup the Artifact API environment
|
||||
- name: Expose Artifact API and context information.
|
||||
uses: actions/github-script@v6
|
||||
with:
|
||||
script: |-
|
||||
core.exportVariable("ACTIONS_RUNTIME_TOKEN", process.env["ACTIONS_RUNTIME_TOKEN"])
|
||||
core.exportVariable("ACTIONS_RUNTIME_URL", process.env["ACTIONS_RUNTIME_URL"])
|
||||
core.exportVariable("GITHUB_RETENTION_DAYS", process.env["GITHUB_RETENTION_DAYS"])
|
||||
script: "\n core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\n core.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\n core.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])\n console.log(context)\n "
|
||||
- name: Workaround for https://github.com/actions/checkout/issues/590 (Windows)
|
||||
run:
|
||||
'"c:\Program Files\Git\bin\bash.exe" -c "git checkout -f $(git -c user.name=x
|
||||
-c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null)
|
||||
|| :"'
|
||||
run: '"c:\Program Files\Git\bin\bash.exe" -c "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :"'
|
||||
if: runner.os == 'Windows'
|
||||
shell: cmd
|
||||
- name: Workaround for https://github.com/actions/checkout/issues/590 (non-Windows)
|
||||
run:
|
||||
"git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git
|
||||
hash-object -t tree /dev/null) < /dev/null) || :"
|
||||
run: "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :"
|
||||
if: runner.os != 'Windows'
|
||||
shell: bash
|
||||
- name: Checking out the repository
|
||||
@ -274,6 +217,11 @@ jobs:
|
||||
run: ./run --help
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Clean before
|
||||
run: ./run git-clean
|
||||
if: "contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- run: ./run --upload-artifacts ${{ runner.os == 'Linux' }} wasm build
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
@ -283,6 +231,11 @@ jobs:
|
||||
- name: List files if failed (non-Windows)
|
||||
run: ls -lAR
|
||||
if: failure() && runner.os != 'Windows'
|
||||
- name: Clean after
|
||||
run: ./run git-clean
|
||||
if: "always() && always() && contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
enso-build-cli-ci-gen-job-build-wasm-macos:
|
||||
name: Build GUI (WASM) (macos)
|
||||
runs-on:
|
||||
@ -290,37 +243,25 @@ jobs:
|
||||
steps:
|
||||
- name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.0.5
|
||||
if:
|
||||
startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted
|
||||
Agent')
|
||||
if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.3.0
|
||||
if:
|
||||
startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted
|
||||
Agent')
|
||||
if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
with:
|
||||
version: v0.10.2
|
||||
- name: Setup the Artifact API environment
|
||||
- name: Expose Artifact API and context information.
|
||||
uses: actions/github-script@v6
|
||||
with:
|
||||
script: |-
|
||||
core.exportVariable("ACTIONS_RUNTIME_TOKEN", process.env["ACTIONS_RUNTIME_TOKEN"])
|
||||
core.exportVariable("ACTIONS_RUNTIME_URL", process.env["ACTIONS_RUNTIME_URL"])
|
||||
core.exportVariable("GITHUB_RETENTION_DAYS", process.env["GITHUB_RETENTION_DAYS"])
|
||||
script: "\n core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\n core.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\n core.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])\n console.log(context)\n "
|
||||
- name: Workaround for https://github.com/actions/checkout/issues/590 (Windows)
|
||||
run:
|
||||
'"c:\Program Files\Git\bin\bash.exe" -c "git checkout -f $(git -c user.name=x
|
||||
-c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null)
|
||||
|| :"'
|
||||
run: '"c:\Program Files\Git\bin\bash.exe" -c "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :"'
|
||||
if: runner.os == 'Windows'
|
||||
shell: cmd
|
||||
- name: Workaround for https://github.com/actions/checkout/issues/590 (non-Windows)
|
||||
run:
|
||||
"git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git
|
||||
hash-object -t tree /dev/null) < /dev/null) || :"
|
||||
run: "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :"
|
||||
if: runner.os != 'Windows'
|
||||
shell: bash
|
||||
- name: Checking out the repository
|
||||
@ -332,6 +273,11 @@ jobs:
|
||||
run: ./run --help
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Clean before
|
||||
run: ./run git-clean
|
||||
if: "contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- run: ./run --upload-artifacts ${{ runner.os == 'Linux' }} wasm build
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
@ -341,6 +287,11 @@ jobs:
|
||||
- name: List files if failed (non-Windows)
|
||||
run: ls -lAR
|
||||
if: failure() && runner.os != 'Windows'
|
||||
- name: Clean after
|
||||
run: ./run git-clean
|
||||
if: "always() && always() && contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
enso-build-cli-ci-gen-job-build-wasm-windows:
|
||||
name: Build GUI (WASM) (windows)
|
||||
runs-on:
|
||||
@ -350,37 +301,25 @@ jobs:
|
||||
steps:
|
||||
- name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.0.5
|
||||
if:
|
||||
startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted
|
||||
Agent')
|
||||
if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.3.0
|
||||
if:
|
||||
startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted
|
||||
Agent')
|
||||
if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
with:
|
||||
version: v0.10.2
|
||||
- name: Setup the Artifact API environment
|
||||
- name: Expose Artifact API and context information.
|
||||
uses: actions/github-script@v6
|
||||
with:
|
||||
script: |-
|
||||
core.exportVariable("ACTIONS_RUNTIME_TOKEN", process.env["ACTIONS_RUNTIME_TOKEN"])
|
||||
core.exportVariable("ACTIONS_RUNTIME_URL", process.env["ACTIONS_RUNTIME_URL"])
|
||||
core.exportVariable("GITHUB_RETENTION_DAYS", process.env["GITHUB_RETENTION_DAYS"])
|
||||
script: "\n core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\n core.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\n core.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])\n console.log(context)\n "
|
||||
- name: Workaround for https://github.com/actions/checkout/issues/590 (Windows)
|
||||
run:
|
||||
'"c:\Program Files\Git\bin\bash.exe" -c "git checkout -f $(git -c user.name=x
|
||||
-c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null)
|
||||
|| :"'
|
||||
run: '"c:\Program Files\Git\bin\bash.exe" -c "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :"'
|
||||
if: runner.os == 'Windows'
|
||||
shell: cmd
|
||||
- name: Workaround for https://github.com/actions/checkout/issues/590 (non-Windows)
|
||||
run:
|
||||
"git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git
|
||||
hash-object -t tree /dev/null) < /dev/null) || :"
|
||||
run: "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :"
|
||||
if: runner.os != 'Windows'
|
||||
shell: bash
|
||||
- name: Checking out the repository
|
||||
@ -392,6 +331,11 @@ jobs:
|
||||
run: ./run --help
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Clean before
|
||||
run: ./run git-clean
|
||||
if: "contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- run: ./run --upload-artifacts ${{ runner.os == 'Linux' }} wasm build
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
@ -401,6 +345,11 @@ jobs:
|
||||
- name: List files if failed (non-Windows)
|
||||
run: ls -lAR
|
||||
if: failure() && runner.os != 'Windows'
|
||||
- name: Clean after
|
||||
run: ./run git-clean
|
||||
if: "always() && always() && contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
enso-build-cli-ci-gen-job-cancel-workflow-linux:
|
||||
name: Cancel Previous Runs
|
||||
runs-on:
|
||||
@ -419,37 +368,25 @@ jobs:
|
||||
steps:
|
||||
- name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.0.5
|
||||
if:
|
||||
startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted
|
||||
Agent')
|
||||
if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.3.0
|
||||
if:
|
||||
startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted
|
||||
Agent')
|
||||
if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
with:
|
||||
version: v0.10.2
|
||||
- name: Setup the Artifact API environment
|
||||
- name: Expose Artifact API and context information.
|
||||
uses: actions/github-script@v6
|
||||
with:
|
||||
script: |-
|
||||
core.exportVariable("ACTIONS_RUNTIME_TOKEN", process.env["ACTIONS_RUNTIME_TOKEN"])
|
||||
core.exportVariable("ACTIONS_RUNTIME_URL", process.env["ACTIONS_RUNTIME_URL"])
|
||||
core.exportVariable("GITHUB_RETENTION_DAYS", process.env["GITHUB_RETENTION_DAYS"])
|
||||
script: "\n core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\n core.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\n core.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])\n console.log(context)\n "
|
||||
- name: Workaround for https://github.com/actions/checkout/issues/590 (Windows)
|
||||
run:
|
||||
'"c:\Program Files\Git\bin\bash.exe" -c "git checkout -f $(git -c user.name=x
|
||||
-c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null)
|
||||
|| :"'
|
||||
run: '"c:\Program Files\Git\bin\bash.exe" -c "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :"'
|
||||
if: runner.os == 'Windows'
|
||||
shell: cmd
|
||||
- name: Workaround for https://github.com/actions/checkout/issues/590 (non-Windows)
|
||||
run:
|
||||
"git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git
|
||||
hash-object -t tree /dev/null) < /dev/null) || :"
|
||||
run: "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :"
|
||||
if: runner.os != 'Windows'
|
||||
shell: bash
|
||||
- name: Checking out the repository
|
||||
@ -461,6 +398,11 @@ jobs:
|
||||
run: ./run --help
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Clean before
|
||||
run: ./run git-clean
|
||||
if: "contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- run: ./run lint
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
@ -470,6 +412,11 @@ jobs:
|
||||
- name: List files if failed (non-Windows)
|
||||
run: ls -lAR
|
||||
if: failure() && runner.os != 'Windows'
|
||||
- name: Clean after
|
||||
run: ./run git-clean
|
||||
if: "always() && always() && contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
enso-build-cli-ci-gen-job-native-test-linux:
|
||||
name: Native GUI tests (linux)
|
||||
runs-on:
|
||||
@ -479,37 +426,25 @@ jobs:
|
||||
steps:
|
||||
- name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.0.5
|
||||
if:
|
||||
startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted
|
||||
Agent')
|
||||
if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.3.0
|
||||
if:
|
||||
startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted
|
||||
Agent')
|
||||
if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
with:
|
||||
version: v0.10.2
|
||||
- name: Setup the Artifact API environment
|
||||
- name: Expose Artifact API and context information.
|
||||
uses: actions/github-script@v6
|
||||
with:
|
||||
script: |-
|
||||
core.exportVariable("ACTIONS_RUNTIME_TOKEN", process.env["ACTIONS_RUNTIME_TOKEN"])
|
||||
core.exportVariable("ACTIONS_RUNTIME_URL", process.env["ACTIONS_RUNTIME_URL"])
|
||||
core.exportVariable("GITHUB_RETENTION_DAYS", process.env["GITHUB_RETENTION_DAYS"])
|
||||
script: "\n core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\n core.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\n core.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])\n console.log(context)\n "
|
||||
- name: Workaround for https://github.com/actions/checkout/issues/590 (Windows)
|
||||
run:
|
||||
'"c:\Program Files\Git\bin\bash.exe" -c "git checkout -f $(git -c user.name=x
|
||||
-c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null)
|
||||
|| :"'
|
||||
run: '"c:\Program Files\Git\bin\bash.exe" -c "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :"'
|
||||
if: runner.os == 'Windows'
|
||||
shell: cmd
|
||||
- name: Workaround for https://github.com/actions/checkout/issues/590 (non-Windows)
|
||||
run:
|
||||
"git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git
|
||||
hash-object -t tree /dev/null) < /dev/null) || :"
|
||||
run: "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :"
|
||||
if: runner.os != 'Windows'
|
||||
shell: bash
|
||||
- name: Checking out the repository
|
||||
@ -521,6 +456,11 @@ jobs:
|
||||
run: ./run --help
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Clean before
|
||||
run: ./run git-clean
|
||||
if: "contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- run: ./run wasm test --no-wasm
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
@ -530,6 +470,11 @@ jobs:
|
||||
- name: List files if failed (non-Windows)
|
||||
run: ls -lAR
|
||||
if: failure() && runner.os != 'Windows'
|
||||
- name: Clean after
|
||||
run: ./run git-clean
|
||||
if: "always() && always() && contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
enso-build-cli-ci-gen-job-package-ide-linux:
|
||||
name: Package IDE (linux)
|
||||
needs:
|
||||
@ -542,37 +487,25 @@ jobs:
|
||||
steps:
|
||||
- name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.0.5
|
||||
if:
|
||||
startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted
|
||||
Agent')
|
||||
if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.3.0
|
||||
if:
|
||||
startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted
|
||||
Agent')
|
||||
if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
with:
|
||||
version: v0.10.2
|
||||
- name: Setup the Artifact API environment
|
||||
- name: Expose Artifact API and context information.
|
||||
uses: actions/github-script@v6
|
||||
with:
|
||||
script: |-
|
||||
core.exportVariable("ACTIONS_RUNTIME_TOKEN", process.env["ACTIONS_RUNTIME_TOKEN"])
|
||||
core.exportVariable("ACTIONS_RUNTIME_URL", process.env["ACTIONS_RUNTIME_URL"])
|
||||
core.exportVariable("GITHUB_RETENTION_DAYS", process.env["GITHUB_RETENTION_DAYS"])
|
||||
script: "\n core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\n core.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\n core.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])\n console.log(context)\n "
|
||||
- name: Workaround for https://github.com/actions/checkout/issues/590 (Windows)
|
||||
run:
|
||||
'"c:\Program Files\Git\bin\bash.exe" -c "git checkout -f $(git -c user.name=x
|
||||
-c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null)
|
||||
|| :"'
|
||||
run: '"c:\Program Files\Git\bin\bash.exe" -c "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :"'
|
||||
if: runner.os == 'Windows'
|
||||
shell: cmd
|
||||
- name: Workaround for https://github.com/actions/checkout/issues/590 (non-Windows)
|
||||
run:
|
||||
"git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git
|
||||
hash-object -t tree /dev/null) < /dev/null) || :"
|
||||
run: "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :"
|
||||
if: runner.os != 'Windows'
|
||||
shell: bash
|
||||
- name: Checking out the repository
|
||||
@ -584,6 +517,11 @@ jobs:
|
||||
run: ./run --help
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Clean before
|
||||
run: ./run git-clean
|
||||
if: "contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- run: ./run ide build --wasm-source current-ci-run --backend-source current-ci-run
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
@ -593,6 +531,11 @@ jobs:
|
||||
- name: List files if failed (non-Windows)
|
||||
run: ls -lAR
|
||||
if: failure() && runner.os != 'Windows'
|
||||
- name: Clean after
|
||||
run: ./run git-clean
|
||||
if: "always() && always() && contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
enso-build-cli-ci-gen-job-package-ide-macos:
|
||||
name: Package IDE (macos)
|
||||
needs:
|
||||
@ -603,37 +546,25 @@ jobs:
|
||||
steps:
|
||||
- name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.0.5
|
||||
if:
|
||||
startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted
|
||||
Agent')
|
||||
if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.3.0
|
||||
if:
|
||||
startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted
|
||||
Agent')
|
||||
if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
with:
|
||||
version: v0.10.2
|
||||
- name: Setup the Artifact API environment
|
||||
- name: Expose Artifact API and context information.
|
||||
uses: actions/github-script@v6
|
||||
with:
|
||||
script: |-
|
||||
core.exportVariable("ACTIONS_RUNTIME_TOKEN", process.env["ACTIONS_RUNTIME_TOKEN"])
|
||||
core.exportVariable("ACTIONS_RUNTIME_URL", process.env["ACTIONS_RUNTIME_URL"])
|
||||
core.exportVariable("GITHUB_RETENTION_DAYS", process.env["GITHUB_RETENTION_DAYS"])
|
||||
script: "\n core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\n core.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\n core.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])\n console.log(context)\n "
|
||||
- name: Workaround for https://github.com/actions/checkout/issues/590 (Windows)
|
||||
run:
|
||||
'"c:\Program Files\Git\bin\bash.exe" -c "git checkout -f $(git -c user.name=x
|
||||
-c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null)
|
||||
|| :"'
|
||||
run: '"c:\Program Files\Git\bin\bash.exe" -c "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :"'
|
||||
if: runner.os == 'Windows'
|
||||
shell: cmd
|
||||
- name: Workaround for https://github.com/actions/checkout/issues/590 (non-Windows)
|
||||
run:
|
||||
"git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git
|
||||
hash-object -t tree /dev/null) < /dev/null) || :"
|
||||
run: "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :"
|
||||
if: runner.os != 'Windows'
|
||||
shell: bash
|
||||
- name: Checking out the repository
|
||||
@ -645,6 +576,11 @@ jobs:
|
||||
run: ./run --help
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Clean before
|
||||
run: ./run git-clean
|
||||
if: "contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- run: ./run ide build --wasm-source current-ci-run --backend-source current-ci-run
|
||||
env:
|
||||
APPLEID: ${{ secrets.APPLE_NOTARIZATION_USERNAME }}
|
||||
@ -659,6 +595,11 @@ jobs:
|
||||
- name: List files if failed (non-Windows)
|
||||
run: ls -lAR
|
||||
if: failure() && runner.os != 'Windows'
|
||||
- name: Clean after
|
||||
run: ./run git-clean
|
||||
if: "always() && always() && contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
enso-build-cli-ci-gen-job-package-ide-windows:
|
||||
name: Package IDE (windows)
|
||||
needs:
|
||||
@ -671,37 +612,25 @@ jobs:
|
||||
steps:
|
||||
- name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.0.5
|
||||
if:
|
||||
startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted
|
||||
Agent')
|
||||
if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.3.0
|
||||
if:
|
||||
startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted
|
||||
Agent')
|
||||
if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
with:
|
||||
version: v0.10.2
|
||||
- name: Setup the Artifact API environment
|
||||
- name: Expose Artifact API and context information.
|
||||
uses: actions/github-script@v6
|
||||
with:
|
||||
script: |-
|
||||
core.exportVariable("ACTIONS_RUNTIME_TOKEN", process.env["ACTIONS_RUNTIME_TOKEN"])
|
||||
core.exportVariable("ACTIONS_RUNTIME_URL", process.env["ACTIONS_RUNTIME_URL"])
|
||||
core.exportVariable("GITHUB_RETENTION_DAYS", process.env["GITHUB_RETENTION_DAYS"])
|
||||
script: "\n core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\n core.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\n core.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])\n console.log(context)\n "
|
||||
- name: Workaround for https://github.com/actions/checkout/issues/590 (Windows)
|
||||
run:
|
||||
'"c:\Program Files\Git\bin\bash.exe" -c "git checkout -f $(git -c user.name=x
|
||||
-c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null)
|
||||
|| :"'
|
||||
run: '"c:\Program Files\Git\bin\bash.exe" -c "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :"'
|
||||
if: runner.os == 'Windows'
|
||||
shell: cmd
|
||||
- name: Workaround for https://github.com/actions/checkout/issues/590 (non-Windows)
|
||||
run:
|
||||
"git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git
|
||||
hash-object -t tree /dev/null) < /dev/null) || :"
|
||||
run: "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :"
|
||||
if: runner.os != 'Windows'
|
||||
shell: bash
|
||||
- name: Checking out the repository
|
||||
@ -713,6 +642,11 @@ jobs:
|
||||
run: ./run --help
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Clean before
|
||||
run: ./run git-clean
|
||||
if: "contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- run: ./run ide build --wasm-source current-ci-run --backend-source current-ci-run
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
@ -724,6 +658,11 @@ jobs:
|
||||
- name: List files if failed (non-Windows)
|
||||
run: ls -lAR
|
||||
if: failure() && runner.os != 'Windows'
|
||||
- name: Clean after
|
||||
run: ./run git-clean
|
||||
if: "always() && always() && contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
enso-build-cli-ci-gen-job-wasm-test-linux:
|
||||
name: WASM GUI tests (linux)
|
||||
runs-on:
|
||||
@ -733,37 +672,25 @@ jobs:
|
||||
steps:
|
||||
- name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.0.5
|
||||
if:
|
||||
startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted
|
||||
Agent')
|
||||
if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.3.0
|
||||
if:
|
||||
startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted
|
||||
Agent')
|
||||
if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
with:
|
||||
version: v0.10.2
|
||||
- name: Setup the Artifact API environment
|
||||
- name: Expose Artifact API and context information.
|
||||
uses: actions/github-script@v6
|
||||
with:
|
||||
script: |-
|
||||
core.exportVariable("ACTIONS_RUNTIME_TOKEN", process.env["ACTIONS_RUNTIME_TOKEN"])
|
||||
core.exportVariable("ACTIONS_RUNTIME_URL", process.env["ACTIONS_RUNTIME_URL"])
|
||||
core.exportVariable("GITHUB_RETENTION_DAYS", process.env["GITHUB_RETENTION_DAYS"])
|
||||
script: "\n core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\n core.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\n core.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])\n console.log(context)\n "
|
||||
- name: Workaround for https://github.com/actions/checkout/issues/590 (Windows)
|
||||
run:
|
||||
'"c:\Program Files\Git\bin\bash.exe" -c "git checkout -f $(git -c user.name=x
|
||||
-c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null)
|
||||
|| :"'
|
||||
run: '"c:\Program Files\Git\bin\bash.exe" -c "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :"'
|
||||
if: runner.os == 'Windows'
|
||||
shell: cmd
|
||||
- name: Workaround for https://github.com/actions/checkout/issues/590 (non-Windows)
|
||||
run:
|
||||
"git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git
|
||||
hash-object -t tree /dev/null) < /dev/null) || :"
|
||||
run: "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :"
|
||||
if: runner.os != 'Windows'
|
||||
shell: bash
|
||||
- name: Checking out the repository
|
||||
@ -775,6 +702,11 @@ jobs:
|
||||
run: ./run --help
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Clean before
|
||||
run: ./run git-clean
|
||||
if: "contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- run: ./run wasm test --no-native
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
@ -784,5 +716,10 @@ jobs:
|
||||
- name: List files if failed (non-Windows)
|
||||
run: ls -lAR
|
||||
if: failure() && runner.os != 'Windows'
|
||||
- name: Clean after
|
||||
run: ./run git-clean
|
||||
if: "always() && always() && contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
env:
|
||||
ENSO_BUILD_SKIP_VERSION_CHECK: "true"
|
||||
|
342
.github/workflows/nightly.yml
vendored
342
.github/workflows/nightly.yml
vendored
@ -13,37 +13,25 @@ jobs:
|
||||
steps:
|
||||
- name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.0.5
|
||||
if:
|
||||
startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted
|
||||
Agent')
|
||||
if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.3.0
|
||||
if:
|
||||
startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted
|
||||
Agent')
|
||||
if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
with:
|
||||
version: v0.10.2
|
||||
- name: Setup the Artifact API environment
|
||||
- name: Expose Artifact API and context information.
|
||||
uses: actions/github-script@v6
|
||||
with:
|
||||
script: |-
|
||||
core.exportVariable("ACTIONS_RUNTIME_TOKEN", process.env["ACTIONS_RUNTIME_TOKEN"])
|
||||
core.exportVariable("ACTIONS_RUNTIME_URL", process.env["ACTIONS_RUNTIME_URL"])
|
||||
core.exportVariable("GITHUB_RETENTION_DAYS", process.env["GITHUB_RETENTION_DAYS"])
|
||||
script: "\n core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\n core.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\n core.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])\n console.log(context)\n "
|
||||
- name: Workaround for https://github.com/actions/checkout/issues/590 (Windows)
|
||||
run:
|
||||
'"c:\Program Files\Git\bin\bash.exe" -c "git checkout -f $(git -c user.name=x
|
||||
-c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null)
|
||||
|| :"'
|
||||
run: '"c:\Program Files\Git\bin\bash.exe" -c "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :"'
|
||||
if: runner.os == 'Windows'
|
||||
shell: cmd
|
||||
- name: Workaround for https://github.com/actions/checkout/issues/590 (non-Windows)
|
||||
run:
|
||||
"git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git
|
||||
hash-object -t tree /dev/null) < /dev/null) || :"
|
||||
run: "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :"
|
||||
if: runner.os != 'Windows'
|
||||
shell: bash
|
||||
- name: Checking out the repository
|
||||
@ -71,37 +59,25 @@ jobs:
|
||||
steps:
|
||||
- name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.0.5
|
||||
if:
|
||||
startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted
|
||||
Agent')
|
||||
if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.3.0
|
||||
if:
|
||||
startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted
|
||||
Agent')
|
||||
if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
with:
|
||||
version: v0.10.2
|
||||
- name: Setup the Artifact API environment
|
||||
- name: Expose Artifact API and context information.
|
||||
uses: actions/github-script@v6
|
||||
with:
|
||||
script: |-
|
||||
core.exportVariable("ACTIONS_RUNTIME_TOKEN", process.env["ACTIONS_RUNTIME_TOKEN"])
|
||||
core.exportVariable("ACTIONS_RUNTIME_URL", process.env["ACTIONS_RUNTIME_URL"])
|
||||
core.exportVariable("GITHUB_RETENTION_DAYS", process.env["GITHUB_RETENTION_DAYS"])
|
||||
script: "\n core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\n core.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\n core.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])\n console.log(context)\n "
|
||||
- name: Workaround for https://github.com/actions/checkout/issues/590 (Windows)
|
||||
run:
|
||||
'"c:\Program Files\Git\bin\bash.exe" -c "git checkout -f $(git -c user.name=x
|
||||
-c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null)
|
||||
|| :"'
|
||||
run: '"c:\Program Files\Git\bin\bash.exe" -c "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :"'
|
||||
if: runner.os == 'Windows'
|
||||
shell: cmd
|
||||
- name: Workaround for https://github.com/actions/checkout/issues/590 (non-Windows)
|
||||
run:
|
||||
"git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git
|
||||
hash-object -t tree /dev/null) < /dev/null) || :"
|
||||
run: "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :"
|
||||
if: runner.os != 'Windows'
|
||||
shell: bash
|
||||
- name: Checking out the repository
|
||||
@ -113,6 +89,11 @@ jobs:
|
||||
run: ./run --help
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Clean before
|
||||
run: ./run git-clean
|
||||
if: "contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- run: ./run --upload-artifacts ${{ runner.os == 'Linux' }} wasm build
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
@ -122,6 +103,11 @@ jobs:
|
||||
- name: List files if failed (non-Windows)
|
||||
run: ls -lAR
|
||||
if: failure() && runner.os != 'Windows'
|
||||
- name: Clean after
|
||||
run: ./run git-clean
|
||||
if: "always() && always() && contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
enso-build-cli-ci-gen-job-upload-backend-linux:
|
||||
name: Upload Backend (linux)
|
||||
needs:
|
||||
@ -133,37 +119,25 @@ jobs:
|
||||
steps:
|
||||
- name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.0.5
|
||||
if:
|
||||
startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted
|
||||
Agent')
|
||||
if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.3.0
|
||||
if:
|
||||
startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted
|
||||
Agent')
|
||||
if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
with:
|
||||
version: v0.10.2
|
||||
- name: Setup the Artifact API environment
|
||||
- name: Expose Artifact API and context information.
|
||||
uses: actions/github-script@v6
|
||||
with:
|
||||
script: |-
|
||||
core.exportVariable("ACTIONS_RUNTIME_TOKEN", process.env["ACTIONS_RUNTIME_TOKEN"])
|
||||
core.exportVariable("ACTIONS_RUNTIME_URL", process.env["ACTIONS_RUNTIME_URL"])
|
||||
core.exportVariable("GITHUB_RETENTION_DAYS", process.env["GITHUB_RETENTION_DAYS"])
|
||||
script: "\n core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\n core.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\n core.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])\n console.log(context)\n "
|
||||
- name: Workaround for https://github.com/actions/checkout/issues/590 (Windows)
|
||||
run:
|
||||
'"c:\Program Files\Git\bin\bash.exe" -c "git checkout -f $(git -c user.name=x
|
||||
-c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null)
|
||||
|| :"'
|
||||
run: '"c:\Program Files\Git\bin\bash.exe" -c "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :"'
|
||||
if: runner.os == 'Windows'
|
||||
shell: cmd
|
||||
- name: Workaround for https://github.com/actions/checkout/issues/590 (non-Windows)
|
||||
run:
|
||||
"git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git
|
||||
hash-object -t tree /dev/null) < /dev/null) || :"
|
||||
run: "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :"
|
||||
if: runner.os != 'Windows'
|
||||
shell: bash
|
||||
- name: Checking out the repository
|
||||
@ -175,6 +149,11 @@ jobs:
|
||||
run: ./run --help
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Clean before
|
||||
run: ./run git-clean
|
||||
if: "contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- run: ./run backend upload
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
@ -184,6 +163,11 @@ jobs:
|
||||
- name: List files if failed (non-Windows)
|
||||
run: ls -lAR
|
||||
if: failure() && runner.os != 'Windows'
|
||||
- name: Clean after
|
||||
run: ./run git-clean
|
||||
if: "always() && always() && contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
env:
|
||||
ENSO_RELEASE_ID: ${{needs.enso-build-cli-ci-gen-draft-release-linux.outputs.ENSO_RELEASE_ID}}
|
||||
ENSO_VERSION: ${{needs.enso-build-cli-ci-gen-draft-release-linux.outputs.ENSO_VERSION}}
|
||||
@ -196,37 +180,25 @@ jobs:
|
||||
steps:
|
||||
- name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.0.5
|
||||
if:
|
||||
startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted
|
||||
Agent')
|
||||
if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.3.0
|
||||
if:
|
||||
startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted
|
||||
Agent')
|
||||
if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
with:
|
||||
version: v0.10.2
|
||||
- name: Setup the Artifact API environment
|
||||
- name: Expose Artifact API and context information.
|
||||
uses: actions/github-script@v6
|
||||
with:
|
||||
script: |-
|
||||
core.exportVariable("ACTIONS_RUNTIME_TOKEN", process.env["ACTIONS_RUNTIME_TOKEN"])
|
||||
core.exportVariable("ACTIONS_RUNTIME_URL", process.env["ACTIONS_RUNTIME_URL"])
|
||||
core.exportVariable("GITHUB_RETENTION_DAYS", process.env["GITHUB_RETENTION_DAYS"])
|
||||
script: "\n core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\n core.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\n core.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])\n console.log(context)\n "
|
||||
- name: Workaround for https://github.com/actions/checkout/issues/590 (Windows)
|
||||
run:
|
||||
'"c:\Program Files\Git\bin\bash.exe" -c "git checkout -f $(git -c user.name=x
|
||||
-c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null)
|
||||
|| :"'
|
||||
run: '"c:\Program Files\Git\bin\bash.exe" -c "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :"'
|
||||
if: runner.os == 'Windows'
|
||||
shell: cmd
|
||||
- name: Workaround for https://github.com/actions/checkout/issues/590 (non-Windows)
|
||||
run:
|
||||
"git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git
|
||||
hash-object -t tree /dev/null) < /dev/null) || :"
|
||||
run: "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :"
|
||||
if: runner.os != 'Windows'
|
||||
shell: bash
|
||||
- name: Checking out the repository
|
||||
@ -238,6 +210,11 @@ jobs:
|
||||
run: ./run --help
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Clean before
|
||||
run: ./run git-clean
|
||||
if: "contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- run: ./run backend upload
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
@ -247,6 +224,11 @@ jobs:
|
||||
- name: List files if failed (non-Windows)
|
||||
run: ls -lAR
|
||||
if: failure() && runner.os != 'Windows'
|
||||
- name: Clean after
|
||||
run: ./run git-clean
|
||||
if: "always() && always() && contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
env:
|
||||
ENSO_RELEASE_ID: ${{needs.enso-build-cli-ci-gen-draft-release-linux.outputs.ENSO_RELEASE_ID}}
|
||||
ENSO_VERSION: ${{needs.enso-build-cli-ci-gen-draft-release-linux.outputs.ENSO_VERSION}}
|
||||
@ -261,37 +243,25 @@ jobs:
|
||||
steps:
|
||||
- name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.0.5
|
||||
if:
|
||||
startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted
|
||||
Agent')
|
||||
if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.3.0
|
||||
if:
|
||||
startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted
|
||||
Agent')
|
||||
if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
with:
|
||||
version: v0.10.2
|
||||
- name: Setup the Artifact API environment
|
||||
- name: Expose Artifact API and context information.
|
||||
uses: actions/github-script@v6
|
||||
with:
|
||||
script: |-
|
||||
core.exportVariable("ACTIONS_RUNTIME_TOKEN", process.env["ACTIONS_RUNTIME_TOKEN"])
|
||||
core.exportVariable("ACTIONS_RUNTIME_URL", process.env["ACTIONS_RUNTIME_URL"])
|
||||
core.exportVariable("GITHUB_RETENTION_DAYS", process.env["GITHUB_RETENTION_DAYS"])
|
||||
script: "\n core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\n core.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\n core.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])\n console.log(context)\n "
|
||||
- name: Workaround for https://github.com/actions/checkout/issues/590 (Windows)
|
||||
run:
|
||||
'"c:\Program Files\Git\bin\bash.exe" -c "git checkout -f $(git -c user.name=x
|
||||
-c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null)
|
||||
|| :"'
|
||||
run: '"c:\Program Files\Git\bin\bash.exe" -c "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :"'
|
||||
if: runner.os == 'Windows'
|
||||
shell: cmd
|
||||
- name: Workaround for https://github.com/actions/checkout/issues/590 (non-Windows)
|
||||
run:
|
||||
"git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git
|
||||
hash-object -t tree /dev/null) < /dev/null) || :"
|
||||
run: "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :"
|
||||
if: runner.os != 'Windows'
|
||||
shell: bash
|
||||
- name: Checking out the repository
|
||||
@ -303,6 +273,11 @@ jobs:
|
||||
run: ./run --help
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Clean before
|
||||
run: ./run git-clean
|
||||
if: "contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- run: ./run backend upload
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
@ -312,6 +287,11 @@ jobs:
|
||||
- name: List files if failed (non-Windows)
|
||||
run: ls -lAR
|
||||
if: failure() && runner.os != 'Windows'
|
||||
- name: Clean after
|
||||
run: ./run git-clean
|
||||
if: "always() && always() && contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
env:
|
||||
ENSO_RELEASE_ID: ${{needs.enso-build-cli-ci-gen-draft-release-linux.outputs.ENSO_RELEASE_ID}}
|
||||
ENSO_VERSION: ${{needs.enso-build-cli-ci-gen-draft-release-linux.outputs.ENSO_VERSION}}
|
||||
@ -327,37 +307,25 @@ jobs:
|
||||
steps:
|
||||
- name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.0.5
|
||||
if:
|
||||
startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted
|
||||
Agent')
|
||||
if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.3.0
|
||||
if:
|
||||
startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted
|
||||
Agent')
|
||||
if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
with:
|
||||
version: v0.10.2
|
||||
- name: Setup the Artifact API environment
|
||||
- name: Expose Artifact API and context information.
|
||||
uses: actions/github-script@v6
|
||||
with:
|
||||
script: |-
|
||||
core.exportVariable("ACTIONS_RUNTIME_TOKEN", process.env["ACTIONS_RUNTIME_TOKEN"])
|
||||
core.exportVariable("ACTIONS_RUNTIME_URL", process.env["ACTIONS_RUNTIME_URL"])
|
||||
core.exportVariable("GITHUB_RETENTION_DAYS", process.env["GITHUB_RETENTION_DAYS"])
|
||||
script: "\n core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\n core.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\n core.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])\n console.log(context)\n "
|
||||
- name: Workaround for https://github.com/actions/checkout/issues/590 (Windows)
|
||||
run:
|
||||
'"c:\Program Files\Git\bin\bash.exe" -c "git checkout -f $(git -c user.name=x
|
||||
-c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null)
|
||||
|| :"'
|
||||
run: '"c:\Program Files\Git\bin\bash.exe" -c "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :"'
|
||||
if: runner.os == 'Windows'
|
||||
shell: cmd
|
||||
- name: Workaround for https://github.com/actions/checkout/issues/590 (non-Windows)
|
||||
run:
|
||||
"git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git
|
||||
hash-object -t tree /dev/null) < /dev/null) || :"
|
||||
run: "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :"
|
||||
if: runner.os != 'Windows'
|
||||
shell: bash
|
||||
- name: Checking out the repository
|
||||
@ -369,6 +337,11 @@ jobs:
|
||||
run: ./run --help
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Clean before
|
||||
run: ./run git-clean
|
||||
if: "contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- run: ./run release deploy-to-ecr
|
||||
env:
|
||||
AWS_ACCESS_KEY_ID: ${{ secrets.ECR_PUSH_RUNTIME_ACCESS_KEY_ID }}
|
||||
@ -382,6 +355,11 @@ jobs:
|
||||
- name: List files if failed (non-Windows)
|
||||
run: ls -lAR
|
||||
if: failure() && runner.os != 'Windows'
|
||||
- name: Clean after
|
||||
run: ./run git-clean
|
||||
if: "always() && always() && contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
env:
|
||||
ENSO_RELEASE_ID: ${{needs.enso-build-cli-ci-gen-draft-release-linux.outputs.ENSO_RELEASE_ID}}
|
||||
ENSO_VERSION: ${{needs.enso-build-cli-ci-gen-draft-release-linux.outputs.ENSO_VERSION}}
|
||||
@ -400,37 +378,25 @@ jobs:
|
||||
steps:
|
||||
- name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.0.5
|
||||
if:
|
||||
startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted
|
||||
Agent')
|
||||
if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.3.0
|
||||
if:
|
||||
startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted
|
||||
Agent')
|
||||
if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
with:
|
||||
version: v0.10.2
|
||||
- name: Setup the Artifact API environment
|
||||
- name: Expose Artifact API and context information.
|
||||
uses: actions/github-script@v6
|
||||
with:
|
||||
script: |-
|
||||
core.exportVariable("ACTIONS_RUNTIME_TOKEN", process.env["ACTIONS_RUNTIME_TOKEN"])
|
||||
core.exportVariable("ACTIONS_RUNTIME_URL", process.env["ACTIONS_RUNTIME_URL"])
|
||||
core.exportVariable("GITHUB_RETENTION_DAYS", process.env["GITHUB_RETENTION_DAYS"])
|
||||
script: "\n core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\n core.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\n core.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])\n console.log(context)\n "
|
||||
- name: Workaround for https://github.com/actions/checkout/issues/590 (Windows)
|
||||
run:
|
||||
'"c:\Program Files\Git\bin\bash.exe" -c "git checkout -f $(git -c user.name=x
|
||||
-c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null)
|
||||
|| :"'
|
||||
run: '"c:\Program Files\Git\bin\bash.exe" -c "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :"'
|
||||
if: runner.os == 'Windows'
|
||||
shell: cmd
|
||||
- name: Workaround for https://github.com/actions/checkout/issues/590 (non-Windows)
|
||||
run:
|
||||
"git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git
|
||||
hash-object -t tree /dev/null) < /dev/null) || :"
|
||||
run: "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :"
|
||||
if: runner.os != 'Windows'
|
||||
shell: bash
|
||||
- name: Checking out the repository
|
||||
@ -442,6 +408,11 @@ jobs:
|
||||
run: ./run --help
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Clean before
|
||||
run: ./run git-clean
|
||||
if: "contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- run: ./run release publish
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
@ -451,6 +422,11 @@ jobs:
|
||||
- name: List files if failed (non-Windows)
|
||||
run: ls -lAR
|
||||
if: failure() && runner.os != 'Windows'
|
||||
- name: Clean after
|
||||
run: ./run git-clean
|
||||
if: "always() && always() && contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
env:
|
||||
AWS_ACCESS_KEY_ID: ${{ secrets.ARTEFACT_S3_ACCESS_KEY_ID }}
|
||||
AWS_REGION: us-west-1
|
||||
@ -470,37 +446,25 @@ jobs:
|
||||
steps:
|
||||
- name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.0.5
|
||||
if:
|
||||
startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted
|
||||
Agent')
|
||||
if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.3.0
|
||||
if:
|
||||
startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted
|
||||
Agent')
|
||||
if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
with:
|
||||
version: v0.10.2
|
||||
- name: Setup the Artifact API environment
|
||||
- name: Expose Artifact API and context information.
|
||||
uses: actions/github-script@v6
|
||||
with:
|
||||
script: |-
|
||||
core.exportVariable("ACTIONS_RUNTIME_TOKEN", process.env["ACTIONS_RUNTIME_TOKEN"])
|
||||
core.exportVariable("ACTIONS_RUNTIME_URL", process.env["ACTIONS_RUNTIME_URL"])
|
||||
core.exportVariable("GITHUB_RETENTION_DAYS", process.env["GITHUB_RETENTION_DAYS"])
|
||||
script: "\n core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\n core.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\n core.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])\n console.log(context)\n "
|
||||
- name: Workaround for https://github.com/actions/checkout/issues/590 (Windows)
|
||||
run:
|
||||
'"c:\Program Files\Git\bin\bash.exe" -c "git checkout -f $(git -c user.name=x
|
||||
-c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null)
|
||||
|| :"'
|
||||
run: '"c:\Program Files\Git\bin\bash.exe" -c "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :"'
|
||||
if: runner.os == 'Windows'
|
||||
shell: cmd
|
||||
- name: Workaround for https://github.com/actions/checkout/issues/590 (non-Windows)
|
||||
run:
|
||||
"git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git
|
||||
hash-object -t tree /dev/null) < /dev/null) || :"
|
||||
run: "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :"
|
||||
if: runner.os != 'Windows'
|
||||
shell: bash
|
||||
- name: Checking out the repository
|
||||
@ -512,9 +476,12 @@ jobs:
|
||||
run: ./run --help
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- run:
|
||||
./run ide upload --wasm-source current-ci-run --backend-source release
|
||||
--backend-release ${{env.ENSO_RELEASE_ID}}
|
||||
- name: Clean before
|
||||
run: ./run git-clean
|
||||
if: "contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- run: ./run ide upload --wasm-source current-ci-run --backend-source release --backend-release ${{env.ENSO_RELEASE_ID}}
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: List files if failed (Windows)
|
||||
@ -523,6 +490,11 @@ jobs:
|
||||
- name: List files if failed (non-Windows)
|
||||
run: ls -lAR
|
||||
if: failure() && runner.os != 'Windows'
|
||||
- name: Clean after
|
||||
run: ./run git-clean
|
||||
if: "always() && always() && contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
env:
|
||||
ENSO_RELEASE_ID: ${{needs.enso-build-cli-ci-gen-draft-release-linux.outputs.ENSO_RELEASE_ID}}
|
||||
ENSO_VERSION: ${{needs.enso-build-cli-ci-gen-draft-release-linux.outputs.ENSO_VERSION}}
|
||||
@ -537,37 +509,25 @@ jobs:
|
||||
steps:
|
||||
- name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.0.5
|
||||
if:
|
||||
startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted
|
||||
Agent')
|
||||
if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.3.0
|
||||
if:
|
||||
startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted
|
||||
Agent')
|
||||
if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
with:
|
||||
version: v0.10.2
|
||||
- name: Setup the Artifact API environment
|
||||
- name: Expose Artifact API and context information.
|
||||
uses: actions/github-script@v6
|
||||
with:
|
||||
script: |-
|
||||
core.exportVariable("ACTIONS_RUNTIME_TOKEN", process.env["ACTIONS_RUNTIME_TOKEN"])
|
||||
core.exportVariable("ACTIONS_RUNTIME_URL", process.env["ACTIONS_RUNTIME_URL"])
|
||||
core.exportVariable("GITHUB_RETENTION_DAYS", process.env["GITHUB_RETENTION_DAYS"])
|
||||
script: "\n core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\n core.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\n core.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])\n console.log(context)\n "
|
||||
- name: Workaround for https://github.com/actions/checkout/issues/590 (Windows)
|
||||
run:
|
||||
'"c:\Program Files\Git\bin\bash.exe" -c "git checkout -f $(git -c user.name=x
|
||||
-c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null)
|
||||
|| :"'
|
||||
run: '"c:\Program Files\Git\bin\bash.exe" -c "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :"'
|
||||
if: runner.os == 'Windows'
|
||||
shell: cmd
|
||||
- name: Workaround for https://github.com/actions/checkout/issues/590 (non-Windows)
|
||||
run:
|
||||
"git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git
|
||||
hash-object -t tree /dev/null) < /dev/null) || :"
|
||||
run: "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :"
|
||||
if: runner.os != 'Windows'
|
||||
shell: bash
|
||||
- name: Checking out the repository
|
||||
@ -579,9 +539,12 @@ jobs:
|
||||
run: ./run --help
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- run:
|
||||
./run ide upload --wasm-source current-ci-run --backend-source release
|
||||
--backend-release ${{env.ENSO_RELEASE_ID}}
|
||||
- name: Clean before
|
||||
run: ./run git-clean
|
||||
if: "contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- run: ./run ide upload --wasm-source current-ci-run --backend-source release --backend-release ${{env.ENSO_RELEASE_ID}}
|
||||
env:
|
||||
APPLEID: ${{ secrets.APPLE_NOTARIZATION_USERNAME }}
|
||||
APPLEIDPASS: ${{ secrets.APPLE_NOTARIZATION_PASSWORD }}
|
||||
@ -595,6 +558,11 @@ jobs:
|
||||
- name: List files if failed (non-Windows)
|
||||
run: ls -lAR
|
||||
if: failure() && runner.os != 'Windows'
|
||||
- name: Clean after
|
||||
run: ./run git-clean
|
||||
if: "always() && always() && contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
env:
|
||||
ENSO_RELEASE_ID: ${{needs.enso-build-cli-ci-gen-draft-release-linux.outputs.ENSO_RELEASE_ID}}
|
||||
ENSO_VERSION: ${{needs.enso-build-cli-ci-gen-draft-release-linux.outputs.ENSO_VERSION}}
|
||||
@ -611,37 +579,25 @@ jobs:
|
||||
steps:
|
||||
- name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.0.5
|
||||
if:
|
||||
startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted
|
||||
Agent')
|
||||
if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.3.0
|
||||
if:
|
||||
startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted
|
||||
Agent')
|
||||
if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
with:
|
||||
version: v0.10.2
|
||||
- name: Setup the Artifact API environment
|
||||
- name: Expose Artifact API and context information.
|
||||
uses: actions/github-script@v6
|
||||
with:
|
||||
script: |-
|
||||
core.exportVariable("ACTIONS_RUNTIME_TOKEN", process.env["ACTIONS_RUNTIME_TOKEN"])
|
||||
core.exportVariable("ACTIONS_RUNTIME_URL", process.env["ACTIONS_RUNTIME_URL"])
|
||||
core.exportVariable("GITHUB_RETENTION_DAYS", process.env["GITHUB_RETENTION_DAYS"])
|
||||
script: "\n core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\n core.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\n core.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])\n console.log(context)\n "
|
||||
- name: Workaround for https://github.com/actions/checkout/issues/590 (Windows)
|
||||
run:
|
||||
'"c:\Program Files\Git\bin\bash.exe" -c "git checkout -f $(git -c user.name=x
|
||||
-c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null)
|
||||
|| :"'
|
||||
run: '"c:\Program Files\Git\bin\bash.exe" -c "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :"'
|
||||
if: runner.os == 'Windows'
|
||||
shell: cmd
|
||||
- name: Workaround for https://github.com/actions/checkout/issues/590 (non-Windows)
|
||||
run:
|
||||
"git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git
|
||||
hash-object -t tree /dev/null) < /dev/null) || :"
|
||||
run: "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :"
|
||||
if: runner.os != 'Windows'
|
||||
shell: bash
|
||||
- name: Checking out the repository
|
||||
@ -653,9 +609,12 @@ jobs:
|
||||
run: ./run --help
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- run:
|
||||
./run ide upload --wasm-source current-ci-run --backend-source release
|
||||
--backend-release ${{env.ENSO_RELEASE_ID}}
|
||||
- name: Clean before
|
||||
run: ./run git-clean
|
||||
if: "contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- run: ./run ide upload --wasm-source current-ci-run --backend-source release --backend-release ${{env.ENSO_RELEASE_ID}}
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
WIN_CSC_KEY_PASSWORD: ${{ secrets.MICROSOFT_CODE_SIGNING_CERT_PASSWORD }}
|
||||
@ -666,6 +625,11 @@ jobs:
|
||||
- name: List files if failed (non-Windows)
|
||||
run: ls -lAR
|
||||
if: failure() && runner.os != 'Windows'
|
||||
- name: Clean after
|
||||
run: ./run git-clean
|
||||
if: "always() && always() && contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
env:
|
||||
ENSO_RELEASE_ID: ${{needs.enso-build-cli-ci-gen-draft-release-linux.outputs.ENSO_RELEASE_ID}}
|
||||
ENSO_VERSION: ${{needs.enso-build-cli-ci-gen-draft-release-linux.outputs.ENSO_VERSION}}
|
||||
|
204
.github/workflows/scala-new.yml
vendored
204
.github/workflows/scala-new.yml
vendored
@ -24,37 +24,25 @@ jobs:
|
||||
steps:
|
||||
- name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.0.5
|
||||
if:
|
||||
startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted
|
||||
Agent')
|
||||
if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.3.0
|
||||
if:
|
||||
startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted
|
||||
Agent')
|
||||
if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
with:
|
||||
version: v0.10.2
|
||||
- name: Setup the Artifact API environment
|
||||
- name: Expose Artifact API and context information.
|
||||
uses: actions/github-script@v6
|
||||
with:
|
||||
script: |-
|
||||
core.exportVariable("ACTIONS_RUNTIME_TOKEN", process.env["ACTIONS_RUNTIME_TOKEN"])
|
||||
core.exportVariable("ACTIONS_RUNTIME_URL", process.env["ACTIONS_RUNTIME_URL"])
|
||||
core.exportVariable("GITHUB_RETENTION_DAYS", process.env["GITHUB_RETENTION_DAYS"])
|
||||
script: "\n core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\n core.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\n core.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])\n console.log(context)\n "
|
||||
- name: Workaround for https://github.com/actions/checkout/issues/590 (Windows)
|
||||
run:
|
||||
'"c:\Program Files\Git\bin\bash.exe" -c "git checkout -f $(git -c user.name=x
|
||||
-c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null)
|
||||
|| :"'
|
||||
run: '"c:\Program Files\Git\bin\bash.exe" -c "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :"'
|
||||
if: runner.os == 'Windows'
|
||||
shell: cmd
|
||||
- name: Workaround for https://github.com/actions/checkout/issues/590 (non-Windows)
|
||||
run:
|
||||
"git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git
|
||||
hash-object -t tree /dev/null) < /dev/null) || :"
|
||||
run: "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :"
|
||||
if: runner.os != 'Windows'
|
||||
shell: bash
|
||||
- name: Checking out the repository
|
||||
@ -66,31 +54,43 @@ jobs:
|
||||
run: ./run --help
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Clean before
|
||||
run: ./run git-clean
|
||||
if: "contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- run: ./run backend ci-check
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Engine Test Reporter
|
||||
uses: dorny/test-reporter@v1
|
||||
if: success() || failure()
|
||||
with:
|
||||
max-annotations: 50
|
||||
name: Engine Tests (linux)
|
||||
path: ${{ env.ENSO_TEST_JUNIT_DIR }}/*.xml
|
||||
path-replace-backslashes: true
|
||||
reporter: java-junit
|
||||
- name: Standard Library Test Reporter
|
||||
uses: dorny/test-reporter@v1
|
||||
if: success() || failure()
|
||||
with:
|
||||
max-annotations: 50
|
||||
name: Standard Library Tests (linux)
|
||||
path: ${{ env.ENSO_TEST_JUNIT_DIR }}/*/*.xml
|
||||
path-replace-backslashes: true
|
||||
reporter: java-junit
|
||||
- name: List files if failed (Windows)
|
||||
run: Get-ChildItem -Force -Recurse
|
||||
if: failure() && runner.os == 'Windows'
|
||||
- name: List files if failed (non-Windows)
|
||||
run: ls -lAR
|
||||
if: failure() && runner.os != 'Windows'
|
||||
- name: Stdlib test report
|
||||
uses: dorny/test-reporter@v1
|
||||
if: success() || failure()
|
||||
with:
|
||||
name: Enso Standard Library Tests (linux)
|
||||
path: ${{ env.ENSO_TEST_JUNIT_DIR }}/*/*.xml
|
||||
path-replace-backslashes: "true"
|
||||
reporter: java-junit
|
||||
- name: Engine test report
|
||||
uses: dorny/test-reporter@v1
|
||||
if: success() || failure()
|
||||
with:
|
||||
name: Engine Tests (linux)
|
||||
path: ${{ env.ENSO_TEST_JUNIT_DIR }}/*.xml
|
||||
path-replace-backslashes: "true"
|
||||
reporter: java-junit
|
||||
- name: Clean after
|
||||
run: ./run git-clean
|
||||
if: "always() && always() && contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
enso-build-cli-ci-gen-job-ci-check-backend-macos:
|
||||
name: Engine (macos)
|
||||
runs-on:
|
||||
@ -98,37 +98,25 @@ jobs:
|
||||
steps:
|
||||
- name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.0.5
|
||||
if:
|
||||
startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted
|
||||
Agent')
|
||||
if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.3.0
|
||||
if:
|
||||
startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted
|
||||
Agent')
|
||||
if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
with:
|
||||
version: v0.10.2
|
||||
- name: Setup the Artifact API environment
|
||||
- name: Expose Artifact API and context information.
|
||||
uses: actions/github-script@v6
|
||||
with:
|
||||
script: |-
|
||||
core.exportVariable("ACTIONS_RUNTIME_TOKEN", process.env["ACTIONS_RUNTIME_TOKEN"])
|
||||
core.exportVariable("ACTIONS_RUNTIME_URL", process.env["ACTIONS_RUNTIME_URL"])
|
||||
core.exportVariable("GITHUB_RETENTION_DAYS", process.env["GITHUB_RETENTION_DAYS"])
|
||||
script: "\n core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\n core.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\n core.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])\n console.log(context)\n "
|
||||
- name: Workaround for https://github.com/actions/checkout/issues/590 (Windows)
|
||||
run:
|
||||
'"c:\Program Files\Git\bin\bash.exe" -c "git checkout -f $(git -c user.name=x
|
||||
-c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null)
|
||||
|| :"'
|
||||
run: '"c:\Program Files\Git\bin\bash.exe" -c "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :"'
|
||||
if: runner.os == 'Windows'
|
||||
shell: cmd
|
||||
- name: Workaround for https://github.com/actions/checkout/issues/590 (non-Windows)
|
||||
run:
|
||||
"git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git
|
||||
hash-object -t tree /dev/null) < /dev/null) || :"
|
||||
run: "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :"
|
||||
if: runner.os != 'Windows'
|
||||
shell: bash
|
||||
- name: Checking out the repository
|
||||
@ -140,31 +128,43 @@ jobs:
|
||||
run: ./run --help
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Clean before
|
||||
run: ./run git-clean
|
||||
if: "contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- run: ./run backend ci-check
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Engine Test Reporter
|
||||
uses: dorny/test-reporter@v1
|
||||
if: success() || failure()
|
||||
with:
|
||||
max-annotations: 50
|
||||
name: Engine Tests (macos)
|
||||
path: ${{ env.ENSO_TEST_JUNIT_DIR }}/*.xml
|
||||
path-replace-backslashes: true
|
||||
reporter: java-junit
|
||||
- name: Standard Library Test Reporter
|
||||
uses: dorny/test-reporter@v1
|
||||
if: success() || failure()
|
||||
with:
|
||||
max-annotations: 50
|
||||
name: Standard Library Tests (macos)
|
||||
path: ${{ env.ENSO_TEST_JUNIT_DIR }}/*/*.xml
|
||||
path-replace-backslashes: true
|
||||
reporter: java-junit
|
||||
- name: List files if failed (Windows)
|
||||
run: Get-ChildItem -Force -Recurse
|
||||
if: failure() && runner.os == 'Windows'
|
||||
- name: List files if failed (non-Windows)
|
||||
run: ls -lAR
|
||||
if: failure() && runner.os != 'Windows'
|
||||
- name: Stdlib test report
|
||||
uses: dorny/test-reporter@v1
|
||||
if: success() || failure()
|
||||
with:
|
||||
name: Enso Standard Library Tests (macos)
|
||||
path: ${{ env.ENSO_TEST_JUNIT_DIR }}/*/*.xml
|
||||
path-replace-backslashes: "true"
|
||||
reporter: java-junit
|
||||
- name: Engine test report
|
||||
uses: dorny/test-reporter@v1
|
||||
if: success() || failure()
|
||||
with:
|
||||
name: Engine Tests (macos)
|
||||
path: ${{ env.ENSO_TEST_JUNIT_DIR }}/*.xml
|
||||
path-replace-backslashes: "true"
|
||||
reporter: java-junit
|
||||
- name: Clean after
|
||||
run: ./run git-clean
|
||||
if: "always() && always() && contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
enso-build-cli-ci-gen-job-ci-check-backend-windows:
|
||||
name: Engine (windows)
|
||||
runs-on:
|
||||
@ -174,37 +174,25 @@ jobs:
|
||||
steps:
|
||||
- name: Setup conda (GH runners only)
|
||||
uses: s-weigand/setup-conda@v1.0.5
|
||||
if:
|
||||
startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted
|
||||
Agent')
|
||||
if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
with:
|
||||
update-conda: false
|
||||
conda-channels: anaconda, conda-forge
|
||||
- name: Installing wasm-pack
|
||||
uses: jetli/wasm-pack-action@v0.3.0
|
||||
if:
|
||||
startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted
|
||||
Agent')
|
||||
if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
|
||||
with:
|
||||
version: v0.10.2
|
||||
- name: Setup the Artifact API environment
|
||||
- name: Expose Artifact API and context information.
|
||||
uses: actions/github-script@v6
|
||||
with:
|
||||
script: |-
|
||||
core.exportVariable("ACTIONS_RUNTIME_TOKEN", process.env["ACTIONS_RUNTIME_TOKEN"])
|
||||
core.exportVariable("ACTIONS_RUNTIME_URL", process.env["ACTIONS_RUNTIME_URL"])
|
||||
core.exportVariable("GITHUB_RETENTION_DAYS", process.env["GITHUB_RETENTION_DAYS"])
|
||||
script: "\n core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\n core.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\n core.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])\n console.log(context)\n "
|
||||
- name: Workaround for https://github.com/actions/checkout/issues/590 (Windows)
|
||||
run:
|
||||
'"c:\Program Files\Git\bin\bash.exe" -c "git checkout -f $(git -c user.name=x
|
||||
-c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null)
|
||||
|| :"'
|
||||
run: '"c:\Program Files\Git\bin\bash.exe" -c "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :"'
|
||||
if: runner.os == 'Windows'
|
||||
shell: cmd
|
||||
- name: Workaround for https://github.com/actions/checkout/issues/590 (non-Windows)
|
||||
run:
|
||||
"git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git
|
||||
hash-object -t tree /dev/null) < /dev/null) || :"
|
||||
run: "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :"
|
||||
if: runner.os != 'Windows'
|
||||
shell: bash
|
||||
- name: Checking out the repository
|
||||
@ -216,30 +204,42 @@ jobs:
|
||||
run: ./run --help
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Clean before
|
||||
run: ./run git-clean
|
||||
if: "contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- run: ./run backend ci-check
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Engine Test Reporter
|
||||
uses: dorny/test-reporter@v1
|
||||
if: success() || failure()
|
||||
with:
|
||||
max-annotations: 50
|
||||
name: Engine Tests (windows)
|
||||
path: ${{ env.ENSO_TEST_JUNIT_DIR }}/*.xml
|
||||
path-replace-backslashes: true
|
||||
reporter: java-junit
|
||||
- name: Standard Library Test Reporter
|
||||
uses: dorny/test-reporter@v1
|
||||
if: success() || failure()
|
||||
with:
|
||||
max-annotations: 50
|
||||
name: Standard Library Tests (windows)
|
||||
path: ${{ env.ENSO_TEST_JUNIT_DIR }}/*/*.xml
|
||||
path-replace-backslashes: true
|
||||
reporter: java-junit
|
||||
- name: List files if failed (Windows)
|
||||
run: Get-ChildItem -Force -Recurse
|
||||
if: failure() && runner.os == 'Windows'
|
||||
- name: List files if failed (non-Windows)
|
||||
run: ls -lAR
|
||||
if: failure() && runner.os != 'Windows'
|
||||
- name: Stdlib test report
|
||||
uses: dorny/test-reporter@v1
|
||||
if: success() || failure()
|
||||
with:
|
||||
name: Enso Standard Library Tests (windows)
|
||||
path: ${{ env.ENSO_TEST_JUNIT_DIR }}/*/*.xml
|
||||
path-replace-backslashes: "true"
|
||||
reporter: java-junit
|
||||
- name: Engine test report
|
||||
uses: dorny/test-reporter@v1
|
||||
if: success() || failure()
|
||||
with:
|
||||
name: Engine Tests (windows)
|
||||
path: ${{ env.ENSO_TEST_JUNIT_DIR }}/*.xml
|
||||
path-replace-backslashes: "true"
|
||||
reporter: java-junit
|
||||
- name: Clean after
|
||||
run: ./run git-clean
|
||||
if: "always() && always() && contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
env:
|
||||
ENSO_BUILD_SKIP_VERSION_CHECK: "true"
|
||||
|
1842
Cargo.lock
generated
1842
Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
19
Cargo.toml
19
Cargo.toml
@ -5,9 +5,9 @@
|
||||
members = [
|
||||
"app/gui",
|
||||
"app/gui/enso-profiler-enso-data",
|
||||
"build",
|
||||
"build/cli",
|
||||
"build/enso-formatter",
|
||||
"build/rust-scripts",
|
||||
"build/deprecated/rust-scripts",
|
||||
"lib/rust/*",
|
||||
"lib/rust/parser/src/syntax/tree/visitor",
|
||||
"lib/rust/parser/jni",
|
||||
@ -58,12 +58,13 @@ inherits = "test"
|
||||
opt-level = 2
|
||||
|
||||
[profile.buildscript]
|
||||
inherits = "release"
|
||||
opt-level = 2
|
||||
inherits = "dev"
|
||||
opt-level = 1
|
||||
lto = false
|
||||
debug = false
|
||||
debug = true
|
||||
debug-assertions = true
|
||||
#[patch."https://github.com/enso-org/ci-build"]
|
||||
#enso-build = { path = '../ci-build/build' }
|
||||
#enso-build-cli = { path = '../ci-build/cli' }
|
||||
#ide-ci = { path = '../ci-build/ci_utils' }
|
||||
|
||||
[workspace.dependencies]
|
||||
tokio = { version = "=1.20.1", features = ["full", "tracing"] }
|
||||
console-subscriber = "=0.1.7"
|
||||
nix = "=0.24.1" # DO NOT BUMP UNTIL NIGHTLY IS UPDATED. Otherwise, it brings too new libc.
|
||||
|
@ -34,7 +34,7 @@ ide-view = { path = "view" }
|
||||
ide-view-component-group = { path = "view/component-browser/component-group" }
|
||||
engine-protocol = { path = "controller/engine-protocol" }
|
||||
json-rpc = { path = "../../lib/rust/json-rpc" }
|
||||
parser = { path = "language/parser" }
|
||||
parser-scala = { path = "language/parser" }
|
||||
span-tree = { path = "language/span-tree" }
|
||||
bimap = { version = "0.4.0" }
|
||||
console_error_panic_hook = { version = "0.1.6" }
|
||||
|
@ -3,6 +3,7 @@
|
||||
// === Standard Linter Configuration ===
|
||||
#![deny(non_ascii_idents)]
|
||||
#![warn(unsafe_code)]
|
||||
#![allow(clippy::bool_to_int_with_if)]
|
||||
#![allow(clippy::let_and_return)]
|
||||
// === Non-Standard Linter Configuration ===
|
||||
#![warn(missing_docs)]
|
||||
|
@ -3,6 +3,7 @@
|
||||
// === Standard Linter Configuration ===
|
||||
#![deny(non_ascii_idents)]
|
||||
#![warn(unsafe_code)]
|
||||
#![allow(clippy::bool_to_int_with_if)]
|
||||
#![allow(clippy::let_and_return)]
|
||||
// === Non-Standard Linter Configuration ===
|
||||
#![warn(trivial_casts)]
|
||||
|
@ -10,7 +10,7 @@ crate-type = ["cdylib", "rlib"]
|
||||
[dependencies]
|
||||
ast = { version = "0.1.0", path = "../../language/ast/impl" }
|
||||
engine-protocol = { version = "0.1.0", path = "../engine-protocol" }
|
||||
parser = { version = "0.1.0", path = "../../language/parser" }
|
||||
parser-scala = { version = "0.1.0", path = "../../language/parser" }
|
||||
enso-data-structures = { path = "../../../../lib/rust/data-structures" }
|
||||
enso-logger = { path = "../../../../lib/rust/logger" }
|
||||
enso-prelude = { path = "../../../../lib/rust/prelude" }
|
||||
|
@ -54,7 +54,7 @@ impl IdentifierUsage {
|
||||
|
||||
/// Says whether the identifier occurrence introduces it into scope or uses it from scope.
|
||||
#[allow(missing_docs)]
|
||||
#[derive(Clone, Copy, Debug, Display, PartialEq)]
|
||||
#[derive(Clone, Copy, Debug, Display, PartialEq, Eq)]
|
||||
pub enum OccurrenceKind {
|
||||
Used,
|
||||
Introduced,
|
||||
@ -63,7 +63,7 @@ pub enum OccurrenceKind {
|
||||
/// If the current context in the AST processor is a pattern context.
|
||||
// TODO [mwu] Refer to the specification once it is merged.
|
||||
#[allow(missing_docs)]
|
||||
#[derive(Clone, Copy, Debug, Display, PartialEq)]
|
||||
#[derive(Clone, Copy, Debug, Display, PartialEq, Eq)]
|
||||
pub enum Context {
|
||||
NonPattern,
|
||||
Pattern,
|
||||
@ -388,7 +388,7 @@ mod tests {
|
||||
}
|
||||
|
||||
/// Runs the test for the given test case description.
|
||||
fn run_case(parser: &parser::Parser, case: Case) {
|
||||
fn run_case(parser: &parser_scala::Parser, case: Case) {
|
||||
DEBUG!("\n===========================================================================\n");
|
||||
DEBUG!("Case: " case.code);
|
||||
let ast = parser.parse_line_ast(&case.code).unwrap();
|
||||
@ -399,7 +399,7 @@ mod tests {
|
||||
}
|
||||
|
||||
/// Runs the test for the test case expressed using markdown notation. See `Case` for details.
|
||||
fn run_markdown_case(parser: &parser::Parser, marked_code: impl AsRef<str>) {
|
||||
fn run_markdown_case(parser: &parser_scala::Parser, marked_code: impl AsRef<str>) {
|
||||
DEBUG!("Running test case for " marked_code.as_ref());
|
||||
let case = Case::from_markdown(marked_code.as_ref());
|
||||
run_case(parser, case)
|
||||
@ -407,7 +407,7 @@ mod tests {
|
||||
|
||||
#[wasm_bindgen_test]
|
||||
fn test_alias_analysis() {
|
||||
let parser = parser::Parser::new_or_panic();
|
||||
let parser = parser_scala::Parser::new_or_panic();
|
||||
let test_cases = [
|
||||
"»foo«",
|
||||
"«five» = 5",
|
||||
|
@ -19,7 +19,7 @@ use ast::crumbs::Crumbs;
|
||||
// ================
|
||||
|
||||
/// A connection endpoint.
|
||||
#[derive(Clone, Debug, PartialEq)]
|
||||
#[derive(Clone, Debug, PartialEq, Eq)]
|
||||
pub struct Endpoint {
|
||||
/// Id of the node where the endpoint is located.
|
||||
pub node: Id,
|
||||
@ -61,7 +61,7 @@ pub type Destination = Endpoint;
|
||||
|
||||
/// Describes a connection between two endpoints: from `source` to `destination`.
|
||||
#[allow(missing_docs)]
|
||||
#[derive(Clone, Debug, PartialEq)]
|
||||
#[derive(Clone, Debug, PartialEq, Eq)]
|
||||
pub struct Connection {
|
||||
pub source: Source,
|
||||
pub destination: Destination,
|
||||
@ -159,7 +159,7 @@ mod tests {
|
||||
|
||||
use ast::crumbs;
|
||||
use ast::crumbs::InfixCrumb;
|
||||
use parser::Parser;
|
||||
use parser_scala::Parser;
|
||||
|
||||
struct TestRun {
|
||||
graph: GraphInfo,
|
||||
|
@ -11,7 +11,7 @@ use ast::crumbs::InfixCrumb;
|
||||
use ast::crumbs::Located;
|
||||
use ast::known;
|
||||
use ast::opr;
|
||||
use parser::Parser;
|
||||
use parser_scala::Parser;
|
||||
|
||||
|
||||
|
||||
@ -91,7 +91,7 @@ pub struct CannotFindChild(Crumb);
|
||||
// =================
|
||||
|
||||
/// Describes the kind of code block (scope) to which definition can belong.
|
||||
#[derive(Clone, Copy, Debug, PartialEq)]
|
||||
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
|
||||
pub enum ScopeKind {
|
||||
/// Module scope is a file's top-level block.
|
||||
Root,
|
||||
@ -594,7 +594,7 @@ mod tests {
|
||||
|
||||
#[wasm_bindgen_test]
|
||||
fn definition_name_tests() {
|
||||
let parser = parser::Parser::new_or_panic();
|
||||
let parser = parser_scala::Parser::new_or_panic();
|
||||
let ast = parser.parse_line_ast("Foo.Bar.baz").unwrap();
|
||||
let name = DefinitionName::from_ast(&ast).unwrap();
|
||||
|
||||
@ -609,14 +609,14 @@ mod tests {
|
||||
|
||||
#[wasm_bindgen_test]
|
||||
fn definition_name_rejecting_incomplete_names() {
|
||||
let parser = parser::Parser::new_or_panic();
|
||||
let parser = parser_scala::Parser::new_or_panic();
|
||||
let ast = parser.parse_line_ast("Foo. .baz").unwrap();
|
||||
assert!(DefinitionName::from_ast(&ast).is_none());
|
||||
}
|
||||
|
||||
#[wasm_bindgen_test]
|
||||
fn definition_info_name() {
|
||||
let parser = parser::Parser::new_or_panic();
|
||||
let parser = parser_scala::Parser::new_or_panic();
|
||||
let ast = parser.parse_line_ast("Foo.bar a b c = baz").unwrap();
|
||||
let definition = DefinitionInfo::from_root_line_ast(&ast).unwrap();
|
||||
|
||||
@ -626,7 +626,7 @@ mod tests {
|
||||
|
||||
#[wasm_bindgen_test]
|
||||
fn located_definition_args() {
|
||||
let parser = parser::Parser::new_or_panic();
|
||||
let parser = parser_scala::Parser::new_or_panic();
|
||||
let ast = parser.parse_line_ast("foo bar baz = a + b + c").unwrap();
|
||||
let definition = DefinitionInfo::from_root_line_ast(&ast).unwrap();
|
||||
let (arg0, arg1) = definition.args.expect_tuple();
|
||||
@ -668,7 +668,7 @@ mod tests {
|
||||
|
||||
#[wasm_bindgen_test]
|
||||
fn list_definition_test() {
|
||||
let parser = parser::Parser::new_or_panic();
|
||||
let parser = parser_scala::Parser::new_or_panic();
|
||||
|
||||
// TODO [mwu]
|
||||
// Due to a parser bug, extension methods defining operators cannot be currently
|
||||
@ -723,7 +723,7 @@ mod tests {
|
||||
("foo = bar\n\nmain = bar", 2),
|
||||
];
|
||||
|
||||
let parser = parser::Parser::new_or_panic();
|
||||
let parser = parser_scala::Parser::new_or_panic();
|
||||
let main_id = Id::new_plain_name("main");
|
||||
for (program, expected_line_index) in program_to_expected_main_pos {
|
||||
let module = parser.parse_module(program, default()).unwrap();
|
||||
@ -749,19 +749,19 @@ main =
|
||||
|
||||
add foo bar";
|
||||
|
||||
let module = parser::Parser::new_or_panic().parse_module(program, default()).unwrap();
|
||||
let module = parser_scala::Parser::new_or_panic().parse_module(program, default()).unwrap();
|
||||
let check_def = |id, expected_body| {
|
||||
let definition = module::get_definition(&module, &id).unwrap();
|
||||
assert_eq!(definition.body().repr(), expected_body);
|
||||
};
|
||||
let check_not_found = |id| assert!(module::get_definition(&module, &id).is_err());
|
||||
|
||||
check_def(Id::new_plain_names(&["main", "add"]), "a + b");
|
||||
check_def(Id::new_plain_names(&["main", "baz"]), "\n subbaz arg = 4");
|
||||
check_def(Id::new_plain_names(&["main", "baz", "subbaz"]), "4");
|
||||
check_def(Id::new_plain_names(["main", "add"]), "a + b");
|
||||
check_def(Id::new_plain_names(["main", "baz"]), "\n subbaz arg = 4");
|
||||
check_def(Id::new_plain_names(["main", "baz", "subbaz"]), "4");
|
||||
|
||||
// Node are not definitions
|
||||
check_not_found(Id::new_plain_names(&["main", "foo"]));
|
||||
check_not_found(Id::new_plain_names(&["main", "baz2", "subbaz2"]));
|
||||
check_not_found(Id::new_plain_names(["main", "foo"]));
|
||||
check_not_found(Id::new_plain_names(["main", "baz2", "subbaz2"]));
|
||||
}
|
||||
}
|
||||
|
@ -214,14 +214,14 @@ mod tests {
|
||||
wasm_bindgen_test::wasm_bindgen_test_configure!(run_in_browser);
|
||||
|
||||
/// Takes a program with main definition in root and returns main's graph.
|
||||
fn main_graph(parser: &parser::Parser, program: impl Str) -> GraphInfo {
|
||||
fn main_graph(parser: &parser_scala::Parser, program: impl Str) -> GraphInfo {
|
||||
let module = parser.parse_module(program.into(), default()).unwrap();
|
||||
let name = DefinitionName::new_plain("main");
|
||||
let main = module.def_iter().find_by_name(&name).unwrap();
|
||||
GraphInfo::from_definition(main.item)
|
||||
}
|
||||
|
||||
fn find_graph(parser: &parser::Parser, program: impl Str, name: impl Str) -> GraphInfo {
|
||||
fn find_graph(parser: &parser_scala::Parser, program: impl Str, name: impl Str) -> GraphInfo {
|
||||
let module = parser.parse_module(program.into(), default()).unwrap();
|
||||
let crumbs = name.into().split('.').map(DefinitionName::new_plain).collect();
|
||||
let id = Id { crumbs };
|
||||
@ -231,7 +231,7 @@ mod tests {
|
||||
|
||||
#[wasm_bindgen_test]
|
||||
fn detect_a_node() {
|
||||
let parser = parser::Parser::new_or_panic();
|
||||
let parser = parser_scala::Parser::new_or_panic();
|
||||
// Each of these programs should have a `main` definition with a single `2+2` node.
|
||||
let programs = vec![
|
||||
"main = 2+2",
|
||||
@ -249,7 +249,7 @@ mod tests {
|
||||
}
|
||||
}
|
||||
|
||||
fn new_expression_node(parser: &parser::Parser, expression: &str) -> NodeInfo {
|
||||
fn new_expression_node(parser: &parser_scala::Parser, expression: &str) -> NodeInfo {
|
||||
let node_ast = parser.parse(expression.to_string(), default()).unwrap();
|
||||
let line_ast = expect_single_line(&node_ast).clone();
|
||||
NodeInfo::from_main_line_ast(&line_ast).unwrap()
|
||||
@ -274,7 +274,7 @@ mod tests {
|
||||
#[wasm_bindgen_test]
|
||||
fn add_node_to_graph_with_single_line() {
|
||||
let program = "main = print \"hello\"";
|
||||
let parser = parser::Parser::new_or_panic();
|
||||
let parser = parser_scala::Parser::new_or_panic();
|
||||
let mut graph = main_graph(&parser, program);
|
||||
let nodes = graph.nodes();
|
||||
assert_eq!(nodes.len(), 1);
|
||||
@ -301,7 +301,7 @@ mod tests {
|
||||
foo = node
|
||||
foo a = not_node
|
||||
print "hello""#;
|
||||
let parser = parser::Parser::new_or_panic();
|
||||
let parser = parser_scala::Parser::new_or_panic();
|
||||
let mut graph = main_graph(&parser, program);
|
||||
|
||||
let node_to_add0 = new_expression_node(&parser, "4 + 4");
|
||||
@ -360,7 +360,7 @@ mod tests {
|
||||
node2
|
||||
|
||||
foo = 5";
|
||||
let parser = parser::Parser::new_or_panic();
|
||||
let parser = parser_scala::Parser::new_or_panic();
|
||||
let mut graph = main_graph(&parser, program);
|
||||
|
||||
let id2 = graph.nodes()[0].id();
|
||||
@ -388,7 +388,7 @@ foo = 5";
|
||||
|
||||
#[wasm_bindgen_test]
|
||||
fn multiple_node_graph() {
|
||||
let parser = parser::Parser::new_or_panic();
|
||||
let parser = parser_scala::Parser::new_or_panic();
|
||||
let program = r"
|
||||
main =
|
||||
## Faux docstring
|
||||
@ -419,7 +419,7 @@ main =
|
||||
|
||||
#[wasm_bindgen_test]
|
||||
fn removing_node_from_graph() {
|
||||
let parser = parser::Parser::new_or_panic();
|
||||
let parser = parser_scala::Parser::new_or_panic();
|
||||
let program = r"
|
||||
main =
|
||||
foo = 2 + 2
|
||||
@ -445,7 +445,7 @@ main =
|
||||
|
||||
#[wasm_bindgen_test]
|
||||
fn removing_last_node_from_graph() {
|
||||
let parser = parser::Parser::new_or_panic();
|
||||
let parser = parser_scala::Parser::new_or_panic();
|
||||
let program = r"
|
||||
main =
|
||||
foo = 2 + 2";
|
||||
@ -465,7 +465,7 @@ main =
|
||||
|
||||
#[wasm_bindgen_test]
|
||||
fn editing_nodes_expression_in_graph() {
|
||||
let parser = parser::Parser::new_or_panic();
|
||||
let parser = parser_scala::Parser::new_or_panic();
|
||||
let program = r"
|
||||
main =
|
||||
foo = 2 + 2
|
||||
|
@ -9,6 +9,7 @@
|
||||
// === Standard Linter Configuration ===
|
||||
#![deny(non_ascii_idents)]
|
||||
#![warn(unsafe_code)]
|
||||
#![allow(clippy::bool_to_int_with_if)]
|
||||
#![allow(clippy::let_and_return)]
|
||||
// === Non-Standard Linter Configuration ===
|
||||
#![warn(missing_docs)]
|
||||
@ -205,7 +206,7 @@ mod tests {
|
||||
use crate::definition::DefinitionProvider;
|
||||
|
||||
use ast::macros::DocumentationCommentInfo;
|
||||
use parser::Parser;
|
||||
use parser_scala::Parser;
|
||||
|
||||
|
||||
/// Expect `main` method, where first line is a documentation comment.
|
||||
@ -230,7 +231,7 @@ mod tests {
|
||||
|
||||
#[wasm_bindgen_test]
|
||||
fn parse_single_line_comment() {
|
||||
let parser = parser::Parser::new_or_panic();
|
||||
let parser = parser_scala::Parser::new_or_panic();
|
||||
|
||||
// Typical single line case.
|
||||
let code = r#"
|
||||
@ -267,7 +268,7 @@ main =
|
||||
|
||||
#[wasm_bindgen_test]
|
||||
fn parse_multi_line_comment() {
|
||||
let parser = parser::Parser::new_or_panic();
|
||||
let parser = parser_scala::Parser::new_or_panic();
|
||||
let code = r#"
|
||||
main =
|
||||
## First line
|
||||
|
@ -573,7 +573,7 @@ impl Info {
|
||||
// TODO [mwu]
|
||||
// Ideally we should not require parser but should use some sane way of generating AST from
|
||||
// the `ImportInfo` value.
|
||||
pub fn add_import(&mut self, parser: &parser::Parser, to_add: ImportInfo) -> usize {
|
||||
pub fn add_import(&mut self, parser: &parser_scala::Parser, to_add: ImportInfo) -> usize {
|
||||
// Find last import that is not "after" the added one lexicographically.
|
||||
let previous_import =
|
||||
self.enumerate_imports().take_while(|(_, import)| to_add.target > import.target).last();
|
||||
@ -588,7 +588,7 @@ impl Info {
|
||||
pub fn add_module_import(
|
||||
&mut self,
|
||||
here: &QualifiedName,
|
||||
parser: &parser::Parser,
|
||||
parser: &parser_scala::Parser,
|
||||
to_add: &QualifiedName,
|
||||
) {
|
||||
let is_here = to_add == here;
|
||||
@ -648,7 +648,7 @@ impl Info {
|
||||
&mut self,
|
||||
method: definition::ToAdd,
|
||||
location: Placement,
|
||||
parser: &parser::Parser,
|
||||
parser: &parser_scala::Parser,
|
||||
) -> FallibleResult {
|
||||
let no_indent = 0;
|
||||
let definition_ast = method.ast(no_indent, parser)?;
|
||||
@ -687,7 +687,7 @@ impl From<known::Module> for Info {
|
||||
// =================
|
||||
|
||||
/// Structure describing where to place something being added to the module.
|
||||
#[derive(Clone, Debug, PartialEq)]
|
||||
#[derive(Clone, Debug, PartialEq, Eq)]
|
||||
pub enum Placement {
|
||||
/// Place at the beginning of the module.
|
||||
Begin,
|
||||
@ -878,7 +878,7 @@ mod tests {
|
||||
|
||||
#[wasm_bindgen_test]
|
||||
fn import_listing() {
|
||||
let parser = parser::Parser::new_or_panic();
|
||||
let parser = parser_scala::Parser::new_or_panic();
|
||||
let expect_imports = |code: &str, expected: &[&[&str]]| {
|
||||
let ast = parser.parse_module(code, default()).unwrap();
|
||||
let info = Info { ast };
|
||||
@ -901,7 +901,7 @@ mod tests {
|
||||
|
||||
#[wasm_bindgen_test]
|
||||
fn import_adding_and_removing() {
|
||||
let parser = parser::Parser::new_or_panic();
|
||||
let parser = parser_scala::Parser::new_or_panic();
|
||||
let code = "import Foo.Bar.Baz";
|
||||
let ast = parser.parse_module(code, default()).unwrap();
|
||||
let mut info = Info { ast };
|
||||
@ -930,7 +930,7 @@ mod tests {
|
||||
|
||||
#[wasm_bindgen_test]
|
||||
fn implicit_method_resolution() {
|
||||
let parser = parser::Parser::new_or_panic();
|
||||
let parser = parser_scala::Parser::new_or_panic();
|
||||
let module_name =
|
||||
QualifiedName::from_all_segments(&["local", "ProjectName", "Main"]).unwrap();
|
||||
let expect_find = |method: &MethodPointer, code, expected: &definition::Id| {
|
||||
@ -1002,7 +1002,7 @@ other def =
|
||||
|
||||
last def = inline expression";
|
||||
|
||||
let parser = parser::Parser::new_or_panic();
|
||||
let parser = parser_scala::Parser::new_or_panic();
|
||||
let module = parser.parse_module(code, default()).unwrap();
|
||||
let module = Info { ast: module };
|
||||
|
||||
@ -1014,14 +1014,14 @@ last def = inline expression";
|
||||
let span = definition_span(&module.ast, &id).unwrap();
|
||||
assert!(code[span].ends_with("inline expression"));
|
||||
|
||||
let id = definition::Id::new_plain_names(&["other", "nested"]);
|
||||
let id = definition::Id::new_plain_names(["other", "nested"]);
|
||||
let span = definition_span(&module.ast, &id).unwrap();
|
||||
assert!(code[span].ends_with("nested body"));
|
||||
}
|
||||
|
||||
#[wasm_bindgen_test]
|
||||
fn add_method() {
|
||||
let parser = parser::Parser::new_or_panic();
|
||||
let parser = parser_scala::Parser::new_or_panic();
|
||||
let module = r#"Main.method1 arg = body
|
||||
|
||||
main = Main.method1 10"#;
|
||||
|
@ -17,7 +17,7 @@ use crate::node::NodeInfo;
|
||||
|
||||
use ast::crumbs::Located;
|
||||
use ast::BlockLine;
|
||||
use parser::Parser;
|
||||
use parser_scala::Parser;
|
||||
use std::collections::BTreeSet;
|
||||
|
||||
|
||||
|
@ -185,7 +185,7 @@ mod test {
|
||||
|
||||
use ast::HasIdMap;
|
||||
use enso_prelude::default;
|
||||
use parser::Parser;
|
||||
use parser_scala::Parser;
|
||||
use uuid::Uuid;
|
||||
|
||||
/// A sample text edit used to test "text api" properties.
|
||||
@ -266,9 +266,10 @@ mod test {
|
||||
/// Pretty prints the code of module with a single function named `main`. The lines should
|
||||
/// contain unindented main function's block lines.
|
||||
fn to_main(lines: impl IntoIterator<Item: AsRef<str>>) -> String {
|
||||
use std::fmt::Write;
|
||||
let mut ret = "main = ".to_string();
|
||||
for line in lines {
|
||||
ret.push_str(&format!("\n {}", line.as_ref()))
|
||||
write!(ret, "\n {}", line.as_ref()).unwrap();
|
||||
}
|
||||
ret
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
// === Standard Linter Configuration ===
|
||||
#![deny(non_ascii_idents)]
|
||||
#![warn(unsafe_code)]
|
||||
#![allow(clippy::bool_to_int_with_if)]
|
||||
#![allow(clippy::let_and_return)]
|
||||
|
||||
|
||||
|
@ -35,12 +35,12 @@ wasm-bindgen-test = { version = "0.3.8" }
|
||||
enso-web = { path = "../../../../lib/rust/web" }
|
||||
|
||||
[build-dependencies]
|
||||
enso-build-utilities = { path = "../../../../build/build-utils" }
|
||||
bytes = { version = "0.5.4" }
|
||||
enso-build-utilities = { path = "../../../../build/deprecated/build-utils" }
|
||||
bytes = { version = "1.1.0" }
|
||||
flatc-rust = { version = "0.1.2" }
|
||||
futures = { version = "0.3.1" }
|
||||
reqwest = { version = "0.10.1" }
|
||||
tokio = { version = "0.2.10", features = ["macros"] }
|
||||
reqwest = { version = "0.11.12" }
|
||||
tokio = { workspace = true }
|
||||
# Zip is needed because the build script downloads and extracts artifacts from the Engine.
|
||||
zip = { version = "0.5.0" }
|
||||
zip-extensions = { version = "0.4.0" }
|
||||
zip = { version = "0.6.2" }
|
||||
zip-extensions = { version = "0.6.1" }
|
||||
|
@ -39,7 +39,7 @@ pub type RpcError = json_rpc::error::RpcError<ErrorPayload>;
|
||||
// ====================
|
||||
|
||||
/// The notifications that binary protocol client may receive.
|
||||
#[derive(Clone, Debug, PartialEq)]
|
||||
#[derive(Clone, Debug, PartialEq, Eq)]
|
||||
pub enum Notification {
|
||||
/// A new data has been sent for a visualization.
|
||||
VisualizationUpdate {
|
||||
|
@ -63,7 +63,7 @@ impl<T> MessageFromServer<T> {
|
||||
|
||||
/// Identifies the visualization in the update message.
|
||||
#[allow(missing_docs)]
|
||||
#[derive(Clone, Debug, Copy, PartialEq)]
|
||||
#[derive(Clone, Debug, Copy, PartialEq, Eq)]
|
||||
pub struct VisualisationContext {
|
||||
pub visualization_id: Uuid,
|
||||
pub context_id: Uuid,
|
||||
@ -77,7 +77,7 @@ pub enum ErrorPayload {
|
||||
}
|
||||
|
||||
#[allow(missing_docs)]
|
||||
#[derive(Clone, Debug, PartialEq)]
|
||||
#[derive(Clone, Debug, PartialEq, Eq)]
|
||||
pub struct FileSegment {
|
||||
pub path: LSPath,
|
||||
pub byte_offset: u64,
|
||||
@ -85,7 +85,7 @@ pub struct FileSegment {
|
||||
}
|
||||
|
||||
#[allow(missing_docs)]
|
||||
#[derive(Clone, Debug, Default, PartialEq)]
|
||||
#[derive(Clone, Debug, Default, PartialEq, Eq)]
|
||||
pub struct EnsoDigest {
|
||||
pub bytes: Vec<u8>,
|
||||
}
|
||||
@ -97,7 +97,7 @@ pub struct EnsoDigest {
|
||||
// ================
|
||||
|
||||
#[allow(missing_docs)]
|
||||
#[derive(Clone, Debug, PartialEq)]
|
||||
#[derive(Clone, Debug, PartialEq, Eq)]
|
||||
pub enum ToServerPayloadOwned {
|
||||
InitSession { client_id: Uuid },
|
||||
WriteFile { path: LSPath, contents: Vec<u8> },
|
||||
|
@ -108,7 +108,7 @@ impl Path {
|
||||
// ====================
|
||||
|
||||
/// Notification generated by the Language Server.
|
||||
#[derive(Clone, Debug, Deserialize, PartialEq, Serialize, IntoStaticStr)]
|
||||
#[derive(Clone, Debug, Deserialize, PartialEq, Serialize, IntoStaticStr, Eq)]
|
||||
#[serde(tag = "method", content = "params")]
|
||||
pub enum Notification {
|
||||
/// Filesystem event occurred for a watched path.
|
||||
@ -162,7 +162,7 @@ pub enum Notification {
|
||||
|
||||
/// Sent from the server to the client to inform about a failure during execution of an execution
|
||||
/// context.
|
||||
#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)]
|
||||
#[derive(Clone, Debug, Deserialize, PartialEq, Serialize, Eq)]
|
||||
#[allow(missing_docs)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub struct ExecutionFailed {
|
||||
@ -171,7 +171,7 @@ pub struct ExecutionFailed {
|
||||
}
|
||||
|
||||
/// Sent from server to the client to inform about a failure during execution of a visualisation.
|
||||
#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)]
|
||||
#[derive(Clone, Debug, Deserialize, PartialEq, Serialize, Eq)]
|
||||
#[allow(missing_docs)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub struct VisualisationEvaluationFailed {
|
||||
@ -190,7 +190,7 @@ pub struct VisualisationEvaluationFailed {
|
||||
|
||||
/// Sent from the server to the client to inform about new information for certain expressions
|
||||
/// becoming available.
|
||||
#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)]
|
||||
#[derive(Clone, Debug, Deserialize, PartialEq, Serialize, Eq)]
|
||||
#[allow(missing_docs)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub struct ExpressionUpdates {
|
||||
@ -199,7 +199,7 @@ pub struct ExpressionUpdates {
|
||||
}
|
||||
|
||||
/// An update about the computed expression.
|
||||
#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)]
|
||||
#[derive(Clone, Debug, Deserialize, PartialEq, Serialize, Eq)]
|
||||
#[allow(missing_docs)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub struct ExpressionUpdate {
|
||||
@ -214,7 +214,7 @@ pub struct ExpressionUpdate {
|
||||
|
||||
/// Profiling information on an executed expression. It is implemented as a union as additional
|
||||
/// types of information will be added in the future.
|
||||
#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)]
|
||||
#[derive(Clone, Debug, Deserialize, PartialEq, Serialize, Eq)]
|
||||
#[allow(missing_docs)]
|
||||
// Not sure what the future variants will be, and implementing Copy is not essential for this.
|
||||
#[allow(missing_copy_implementations)]
|
||||
@ -223,7 +223,7 @@ pub enum ProfilingInfo {
|
||||
ExecutionTime { nano_time: u64 },
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)]
|
||||
#[derive(Clone, Debug, Deserialize, PartialEq, Serialize, Eq)]
|
||||
#[allow(missing_docs)]
|
||||
#[serde(tag = "type")]
|
||||
pub enum ExpressionUpdatePayload {
|
||||
@ -251,7 +251,7 @@ pub enum ExpressionUpdatePayload {
|
||||
// =======================
|
||||
|
||||
/// Sent from the server to the client to inform about a status of execution.
|
||||
#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)]
|
||||
#[derive(Clone, Debug, Deserialize, PartialEq, Serialize, Eq)]
|
||||
#[allow(missing_docs)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub struct ExecutionStatus {
|
||||
@ -260,7 +260,7 @@ pub struct ExecutionStatus {
|
||||
}
|
||||
|
||||
/// The type of diagnostic message.
|
||||
#[derive(Clone, Copy, Debug, Deserialize, PartialEq, Serialize)]
|
||||
#[derive(Clone, Copy, Debug, Deserialize, PartialEq, Serialize, Eq)]
|
||||
#[allow(missing_docs)]
|
||||
pub enum DiagnosticType {
|
||||
Error,
|
||||
@ -276,7 +276,7 @@ pub enum DiagnosticType {
|
||||
// a builtin node. Then, to locate the error in the code, you can use the stack field with a stack
|
||||
// trace to find the first element with non-empty location (as the head of the stack will point to
|
||||
// the builtin element).
|
||||
#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)]
|
||||
#[derive(Clone, Debug, Deserialize, PartialEq, Serialize, Eq)]
|
||||
#[allow(missing_docs)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub struct Diagnostic {
|
||||
@ -290,7 +290,7 @@ pub struct Diagnostic {
|
||||
|
||||
/// The frame of the stack trace. If the error refer to a builtin node, the path and location fields
|
||||
/// will be empty.
|
||||
#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)]
|
||||
#[derive(Clone, Debug, Deserialize, PartialEq, Serialize, Eq)]
|
||||
#[allow(missing_docs)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub struct StackTraceElement {
|
||||
@ -308,7 +308,7 @@ pub struct StackTraceElement {
|
||||
// === FileEvent ===
|
||||
|
||||
/// The `file/event` notification parameters.
|
||||
#[derive(Clone, Debug, PartialEq)]
|
||||
#[derive(Clone, Debug, PartialEq, Eq)]
|
||||
#[derive(Serialize, Deserialize)]
|
||||
#[allow(missing_docs)]
|
||||
pub struct FileEvent {
|
||||
@ -317,7 +317,7 @@ pub struct FileEvent {
|
||||
}
|
||||
|
||||
/// Describes kind of filesystem event (was the file created or deleted, etc.)
|
||||
#[derive(Clone, Copy, Debug, PartialEq)]
|
||||
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
|
||||
#[derive(Serialize, Deserialize)]
|
||||
#[allow(missing_docs)]
|
||||
pub enum FileEventKind {
|
||||
|
@ -11,6 +11,7 @@
|
||||
// === Standard Linter Configuration ===
|
||||
#![deny(non_ascii_idents)]
|
||||
#![warn(unsafe_code)]
|
||||
#![allow(clippy::bool_to_int_with_if)]
|
||||
#![allow(clippy::let_and_return)]
|
||||
// === Non-Standard Linter Configuration ===
|
||||
#![warn(missing_docs)]
|
||||
|
@ -90,7 +90,7 @@ trait API {
|
||||
// =============
|
||||
|
||||
/// Address consisting of host and port.
|
||||
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
|
||||
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
|
||||
pub struct IpWithSocket {
|
||||
/// Host name.
|
||||
pub host: String,
|
||||
@ -131,7 +131,7 @@ impl From<ProjectName> for String {
|
||||
}
|
||||
|
||||
/// Project information, such as name, its id and last time it was opened.
|
||||
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
|
||||
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub struct ProjectMetadata {
|
||||
/// Project's name.
|
||||
@ -164,14 +164,14 @@ pub mod response {
|
||||
use super::*;
|
||||
|
||||
/// Response of `list_projects` and `list_samples`.
|
||||
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
|
||||
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
|
||||
pub struct ProjectList {
|
||||
/// List of projects.
|
||||
pub projects: Vec<ProjectMetadata>,
|
||||
}
|
||||
|
||||
/// Response of `create_project`.
|
||||
#[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq)]
|
||||
#[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub struct CreateProject {
|
||||
/// Created project uuid.
|
||||
@ -179,7 +179,7 @@ pub mod response {
|
||||
}
|
||||
|
||||
/// Response of `open_project`.
|
||||
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
|
||||
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub struct OpenProject {
|
||||
/// The version of the started language server represented by a semver version string.
|
||||
|
@ -1,6 +1,7 @@
|
||||
// === Standard Linter Configuration ===
|
||||
#![deny(non_ascii_idents)]
|
||||
#![warn(unsafe_code)]
|
||||
#![allow(clippy::bool_to_int_with_if)]
|
||||
#![allow(clippy::let_and_return)]
|
||||
|
||||
|
||||
|
@ -17,6 +17,7 @@
|
||||
// === Standard Linter Configuration ===
|
||||
#![deny(non_ascii_idents)]
|
||||
#![warn(unsafe_code)]
|
||||
#![allow(clippy::bool_to_int_with_if)]
|
||||
#![allow(clippy::let_and_return)]
|
||||
// === Non-Standard Linter Configuration ===
|
||||
#![deny(unconditional_recursion)]
|
||||
|
@ -34,6 +34,7 @@
|
||||
// === Standard Linter Configuration ===
|
||||
#![deny(non_ascii_idents)]
|
||||
#![warn(unsafe_code)]
|
||||
#![allow(clippy::bool_to_int_with_if)]
|
||||
#![allow(clippy::let_and_return)]
|
||||
// === Non-Standard Linter Configuration ===
|
||||
#![deny(unconditional_recursion)]
|
||||
|
@ -5,6 +5,7 @@
|
||||
// === Standard Linter Configuration ===
|
||||
#![deny(non_ascii_idents)]
|
||||
#![warn(unsafe_code)]
|
||||
#![allow(clippy::bool_to_int_with_if)]
|
||||
#![allow(clippy::let_and_return)]
|
||||
// === Non-Standard Linter Configuration ===
|
||||
#![deny(unconditional_recursion)]
|
||||
|
@ -12,7 +12,7 @@ use regex::Regex;
|
||||
|
||||
/// Operator associativity.
|
||||
#[allow(missing_docs)]
|
||||
#[derive(Clone, Copy, Debug, PartialEq)]
|
||||
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
|
||||
pub enum Assoc {
|
||||
Left,
|
||||
Right,
|
||||
|
@ -26,7 +26,7 @@ use serde::Serializer;
|
||||
/// Provides `Deref` implementation that allows accessing underlying shape `T` value.
|
||||
#[derive(CloneRef, Derivative)]
|
||||
#[derivative(Clone(bound = ""))]
|
||||
#[derive(Debug, Eq, PartialEq)]
|
||||
#[derive(Debug, PartialEq, Eq)]
|
||||
pub struct KnownAst<T> {
|
||||
ast: Ast,
|
||||
phantom: PhantomData<T>,
|
||||
|
@ -1,12 +1,12 @@
|
||||
// === Features ===
|
||||
#![feature(associated_type_bounds)]
|
||||
#![feature(bool_to_option)]
|
||||
#![feature(generators, generator_trait)]
|
||||
#![feature(trivial_bounds)]
|
||||
#![feature(type_alias_impl_trait)]
|
||||
// === Standard Linter Configuration ===
|
||||
#![deny(non_ascii_idents)]
|
||||
#![warn(unsafe_code)]
|
||||
#![allow(clippy::bool_to_int_with_if)]
|
||||
#![allow(clippy::let_and_return)]
|
||||
|
||||
use crate::prelude::*;
|
||||
@ -950,7 +950,7 @@ pub struct Modified<T> {
|
||||
// === Tokenizer ===
|
||||
|
||||
/// An enum of valid Ast tokens.
|
||||
#[derive(Clone, Debug, PartialEq)]
|
||||
#[derive(Clone, Debug, PartialEq, Eq)]
|
||||
pub enum Token<'a> {
|
||||
Off(usize),
|
||||
Chr(char),
|
||||
@ -1862,7 +1862,7 @@ mod tests {
|
||||
let ab = Ast::prefix(a, b);
|
||||
let abc = Ast::prefix(ab, c); // repr is `a b c`
|
||||
|
||||
assert_eq!((&abc).iter().count(), 2); // for App's two children
|
||||
assert_eq!((abc).iter().count(), 2); // for App's two children
|
||||
assert_eq!(abc.iter_recursive().count(), 5); // for 2 Apps and 3 Vars
|
||||
}
|
||||
|
||||
|
@ -3,6 +3,7 @@
|
||||
// === Standard Linter Configuration ===
|
||||
#![deny(non_ascii_idents)]
|
||||
#![warn(unsafe_code)]
|
||||
#![allow(clippy::bool_to_int_with_if)]
|
||||
#![allow(clippy::let_and_return)]
|
||||
// === Non-Standard Linter Configuration ===
|
||||
#![warn(missing_docs)]
|
||||
|
@ -1,5 +1,5 @@
|
||||
[package]
|
||||
name = "parser"
|
||||
name = "parser-scala"
|
||||
version = "0.1.0"
|
||||
authors = ["Enso Team <contact@enso.org>"]
|
||||
edition = "2021"
|
||||
@ -31,11 +31,11 @@ wasm-bindgen = { version = "0.2.78" }
|
||||
wasm-bindgen-test = { version = "0.3.8" }
|
||||
|
||||
[build-dependencies]
|
||||
enso-build-utilities = { path = "../../../../build/build-utils" }
|
||||
bytes = { version = "0.5.4" }
|
||||
ide-ci = { path = "../../../../build/ci_utils" }
|
||||
bytes = { version = "1.1.0" }
|
||||
futures = { version = "0.3.1" }
|
||||
reqwest = { version = "0.10.1" }
|
||||
tokio = { version = "0.2.10", features = ["macros"] }
|
||||
reqwest = { version = "0.11.12" }
|
||||
tokio = { workspace = true }
|
||||
|
||||
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
|
||||
websocket = "0.23.0"
|
||||
|
@ -5,15 +5,7 @@
|
||||
// === Features ===
|
||||
#![feature(option_result_contains)]
|
||||
|
||||
use std::io::prelude::*;
|
||||
|
||||
use enso_build_utilities::absolute_path;
|
||||
use enso_build_utilities::targeting_wasm;
|
||||
use enso_build_utilities::PathRef;
|
||||
use std::fs;
|
||||
use std::fs::create_dir_all;
|
||||
use std::fs::File;
|
||||
use std::path::PathBuf;
|
||||
use ide_ci::prelude::*;
|
||||
|
||||
|
||||
|
||||
@ -49,7 +41,7 @@ pub fn parser_url(version: &ParserVersion) -> reqwest::Url {
|
||||
// ===================
|
||||
|
||||
/// Parser version described as commit hash from `enso` repository.
|
||||
#[derive(Clone, Debug, PartialEq)]
|
||||
#[derive(Clone, Debug, PartialEq, Eq)]
|
||||
pub struct ParserVersion {
|
||||
pub commit: String,
|
||||
}
|
||||
@ -85,60 +77,40 @@ struct ParserProvider {
|
||||
|
||||
impl ParserProvider {
|
||||
/// Creates a provider that obtains given parser version to a given path.
|
||||
pub fn new(version: ParserVersion, parser_path: impl PathRef) -> ParserProvider {
|
||||
pub fn new(version: ParserVersion, parser_path: impl AsRef<Path>) -> ParserProvider {
|
||||
let parser_path = PathBuf::from(parser_path.as_ref());
|
||||
ParserProvider { version, parser_path }
|
||||
}
|
||||
|
||||
/// Downloads contents of JS parser into memory.
|
||||
pub async fn download(&self) -> bytes::Bytes {
|
||||
pub async fn download(&self) -> Result<Bytes> {
|
||||
let url = parser_url(&self.version);
|
||||
let get_error = format!("Failed to get response from {}.", url);
|
||||
let download_error = format!("Failed to download contents of {}.", url);
|
||||
let server_error = format!("Server replied with error when getting {}.", url);
|
||||
let response = reqwest::get(url).await.expect(&get_error);
|
||||
let response = response.error_for_status().expect(&server_error);
|
||||
response.bytes().await.expect(&download_error)
|
||||
ide_ci::io::download_all(url.clone()).await.context("Failed to download the parser.")
|
||||
}
|
||||
|
||||
/// Stores JS parser into file, after patching with a `PARSER_PREAMBLE`.
|
||||
pub fn patch_and_store(&self, js_parser: bytes::Bytes) {
|
||||
let display_path = self.parser_path.display();
|
||||
let open_error = format!("Failed to open {}.", display_path);
|
||||
let write_error = format!("Failed to write {}.", display_path);
|
||||
let flush_error = format!("Failed to flush {}.", display_path);
|
||||
|
||||
let mut file = File::create(&self.parser_path).expect(&open_error);
|
||||
file.write_all(PARSER_PREAMBLE.as_bytes()).expect(&write_error);
|
||||
file.write_all(&js_parser).expect(&write_error);
|
||||
file.flush().expect(&flush_error);
|
||||
}
|
||||
|
||||
/// Ensures that target's parent directory exists.
|
||||
pub fn prepare_target_location(&self) {
|
||||
let parent_directory =
|
||||
self.parser_path.parent().expect("Unable to access parent directory.");
|
||||
let create_dir_error =
|
||||
format!("Failed to create directory: {}.", parent_directory.display());
|
||||
create_dir_all(parent_directory).expect(&create_dir_error);
|
||||
pub async fn patch_and_store(&self, js_parser: bytes::Bytes) -> Result {
|
||||
ide_ci::fs::tokio::write_iter(&self.parser_path, [
|
||||
PARSER_PREAMBLE.as_bytes(),
|
||||
js_parser.as_ref(),
|
||||
])
|
||||
.await
|
||||
}
|
||||
|
||||
/// Places required parser version in the target location.
|
||||
pub async fn run(&self) {
|
||||
self.prepare_target_location();
|
||||
let parent_directory =
|
||||
self.parser_path.parent().expect("Unable to access parent directory.");
|
||||
let fingerprint = parent_directory.join("parser.fingerprint");
|
||||
let opt_version = fs::read_to_string(&fingerprint);
|
||||
pub async fn run(&self) -> Result {
|
||||
let fingerprint = self.parser_path.with_file_name("parser.fingerprint");
|
||||
let opt_version = ide_ci::fs::tokio::read_to_string(&fingerprint).await;
|
||||
let changed = match opt_version {
|
||||
Err(_) => true,
|
||||
Ok(hash) => hash != PARSER_COMMIT,
|
||||
};
|
||||
if changed {
|
||||
let parser_js = self.download().await;
|
||||
self.patch_and_store(parser_js);
|
||||
fs::write(&fingerprint, PARSER_COMMIT).expect("Unable to write parser fingerprint.");
|
||||
let parser_js = self.download().await?;
|
||||
self.patch_and_store(parser_js).await?;
|
||||
ide_ci::fs::tokio::write(&fingerprint, PARSER_COMMIT).await?;
|
||||
}
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
|
||||
@ -149,12 +121,12 @@ impl ParserProvider {
|
||||
// ==========
|
||||
|
||||
#[tokio::main]
|
||||
async fn main() -> std::result::Result<(), Box<dyn std::error::Error>> {
|
||||
if targeting_wasm() {
|
||||
async fn main() -> Result {
|
||||
if ide_ci::programs::cargo::build_env::targeting_wasm() {
|
||||
let required_version = ParserVersion::required();
|
||||
let parser_path = absolute_path(PARSER_PATH)?;
|
||||
let parser_path = Path::new(PARSER_PATH).absolutize()?;
|
||||
let provider = ParserProvider::new(required_version, &parser_path);
|
||||
provider.run().await;
|
||||
provider.run().await?;
|
||||
}
|
||||
println!("cargo:rerun-if-changed=build.rs");
|
||||
println!("cargo:rerun-if-changed={}", PARSER_PATH);
|
||||
|
@ -1,6 +1,7 @@
|
||||
// === Standard Linter Configuration ===
|
||||
#![deny(non_ascii_idents)]
|
||||
#![warn(unsafe_code)]
|
||||
#![allow(clippy::bool_to_int_with_if)]
|
||||
#![allow(clippy::let_and_return)]
|
||||
|
||||
use enso_prelude::*;
|
||||
@ -15,7 +16,7 @@ fn main() {
|
||||
let program = std::env::args().nth(1).unwrap_or(default_input);
|
||||
DEBUG!("Will parse: " program);
|
||||
|
||||
let parser = parser::Parser::new_or_panic();
|
||||
let parser = parser_scala::Parser::new_or_panic();
|
||||
let output = parser.parse(program, default());
|
||||
match output {
|
||||
Ok(result) => DEBUG!("Parser responded with: {result:?}"),
|
||||
@ -27,7 +28,7 @@ fn main() {
|
||||
let program = std::env::args().nth(1).unwrap_or(default_input);
|
||||
DEBUG!("Will parse: " program);
|
||||
|
||||
let parser = parser::DocParser::new_or_panic();
|
||||
let parser = parser_scala::DocParser::new_or_panic();
|
||||
let output = parser.generate_html_docs(program);
|
||||
match output {
|
||||
Ok(result) => DEBUG!("Doc parser responded with: {result:?}"),
|
||||
@ -39,7 +40,7 @@ fn main() {
|
||||
let program = std::env::args().nth(1).unwrap_or(default_input);
|
||||
DEBUG!("Will parse: " program);
|
||||
|
||||
let parser = parser::DocParser::new_or_panic();
|
||||
let parser = parser_scala::DocParser::new_or_panic();
|
||||
let output = parser.generate_html_doc_pure(program);
|
||||
match output {
|
||||
Ok(result) => DEBUG!("Doc parser responded with: {result:?}"),
|
@ -9,6 +9,7 @@
|
||||
// === Standard Linter Configuration ===
|
||||
#![deny(non_ascii_idents)]
|
||||
#![warn(unsafe_code)]
|
||||
#![allow(clippy::bool_to_int_with_if)]
|
||||
#![allow(clippy::let_and_return)]
|
||||
// === Non-Standard Linter Configuration ===
|
||||
#![warn(missing_docs)]
|
||||
|
@ -10,7 +10,7 @@
|
||||
#![deny(non_ascii_idents)]
|
||||
#![warn(unsafe_code)]
|
||||
|
||||
use parser::prelude::*;
|
||||
use parser_scala::prelude::*;
|
||||
|
||||
use ast::opr;
|
||||
use ast::opr::GeneralizedInfix;
|
||||
@ -25,7 +25,7 @@ wasm_bindgen_test::wasm_bindgen_test_configure!(run_in_browser);
|
||||
|
||||
#[wasm_bindgen_test]
|
||||
pub fn to_assignment_test() {
|
||||
let parser = parser::Parser::new_or_panic();
|
||||
let parser = parser_scala::Parser::new_or_panic();
|
||||
let is_assignment = |code: &str| {
|
||||
let ast = parser.parse(code.to_string(), default()).unwrap();
|
||||
let line = expect_single_line(&ast);
|
||||
@ -45,7 +45,7 @@ pub fn to_assignment_test() {
|
||||
|
||||
#[wasm_bindgen_test]
|
||||
pub fn generalized_infix_test() {
|
||||
let parser = parser::Parser::new_or_panic();
|
||||
let parser = parser_scala::Parser::new_or_panic();
|
||||
let make_gen_infix = |code: &str| {
|
||||
let ast = parser.parse(code.to_string(), default()).unwrap();
|
||||
let line = expect_single_line(&ast);
|
||||
@ -83,7 +83,7 @@ pub fn flatten_prefix_test() {
|
||||
})
|
||||
}
|
||||
|
||||
let parser = parser::Parser::new_or_panic();
|
||||
let parser = parser_scala::Parser::new_or_panic();
|
||||
let case = |code: &str, expected_pieces: Vec<&str>| {
|
||||
let ast = parser.parse(code.into(), default()).unwrap();
|
||||
let ast = ast::test_utils::expect_single_line(&ast);
|
||||
@ -110,7 +110,7 @@ pub fn flatten_infix_test() {
|
||||
})
|
||||
}
|
||||
|
||||
let parser = parser::Parser::new_or_panic();
|
||||
let parser = parser_scala::Parser::new_or_panic();
|
||||
let case = |code: &str, target: &str, expected_pieces: Vec<&str>| {
|
||||
let ast = parser.parse(code.into(), default()).unwrap();
|
||||
let ast = ast::test_utils::expect_single_line(&ast);
|
||||
|
@ -16,7 +16,7 @@ wasm_bindgen_test_configure!(run_in_browser);
|
||||
fn no_doc_found() {
|
||||
let input = String::from("type Foo\n type Bar");
|
||||
let program = std::env::args().nth(1).unwrap_or(input);
|
||||
let parser = parser::DocParser::new_or_panic();
|
||||
let parser = parser_scala::DocParser::new_or_panic();
|
||||
let gen_code = parser.generate_html_docs(program).unwrap();
|
||||
// gen_code should be empty.
|
||||
assert_eq!(gen_code.len(), 22, "Generated length differs from the expected\"{}\"", gen_code);
|
||||
@ -24,7 +24,7 @@ fn no_doc_found() {
|
||||
|
||||
#[wasm_bindgen_test]
|
||||
fn extension_operator_methods() {
|
||||
let ast = parser::Parser::new_or_panic().parse_line_ast("Int.+").unwrap();
|
||||
let ast = parser_scala::Parser::new_or_panic().parse_line_ast("Int.+").unwrap();
|
||||
|
||||
use ast::*;
|
||||
if let Shape::Infix(Infix { larg: _larg, loff: _loff, opr, roff: _roff, rarg }, ..) =
|
||||
|
@ -6,7 +6,7 @@ use enso_prelude::*;
|
||||
|
||||
use ast::crumbs::Crumbable;
|
||||
use ast::HasRepr;
|
||||
use parser::Parser;
|
||||
use parser_scala::Parser;
|
||||
use wasm_bindgen_test::wasm_bindgen_test;
|
||||
use wasm_bindgen_test::wasm_bindgen_test_configure;
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
#![deny(non_ascii_idents)]
|
||||
#![warn(unsafe_code)]
|
||||
|
||||
use parser::DocParser;
|
||||
use parser_scala::DocParser;
|
||||
use wasm_bindgen_test::wasm_bindgen_test;
|
||||
use wasm_bindgen_test::wasm_bindgen_test_configure;
|
||||
|
||||
|
@ -2,10 +2,10 @@
|
||||
#![deny(non_ascii_idents)]
|
||||
#![warn(unsafe_code)]
|
||||
|
||||
use parser::prelude::*;
|
||||
use parser_scala::prelude::*;
|
||||
|
||||
use ast::HasIdMap;
|
||||
use parser::Parser;
|
||||
use parser_scala::Parser;
|
||||
use wasm_bindgen_test::wasm_bindgen_test;
|
||||
use wasm_bindgen_test::wasm_bindgen_test_configure;
|
||||
|
||||
|
@ -2,9 +2,9 @@
|
||||
#![deny(non_ascii_idents)]
|
||||
#![warn(unsafe_code)]
|
||||
|
||||
use parser::prelude::*;
|
||||
use parser_scala::prelude::*;
|
||||
|
||||
use parser::Parser;
|
||||
use parser_scala::Parser;
|
||||
use wasm_bindgen_test::wasm_bindgen_test;
|
||||
use wasm_bindgen_test::wasm_bindgen_test_configure;
|
||||
|
||||
|
@ -5,11 +5,11 @@
|
||||
#![warn(unsafe_code)]
|
||||
|
||||
use ast::*;
|
||||
use parser::prelude::*;
|
||||
use parser_scala::prelude::*;
|
||||
|
||||
use ast::test_utils::expect_shape;
|
||||
use parser::api::Metadata;
|
||||
use parser::api::ParsedSourceFile;
|
||||
use parser_scala::api::Metadata;
|
||||
use parser_scala::api::ParsedSourceFile;
|
||||
use serde::de::DeserializeOwned;
|
||||
use serde::Deserialize;
|
||||
use serde::Serialize;
|
||||
@ -40,13 +40,13 @@ fn assert_opr<StringLike: Into<String>>(ast: &Ast, name: StringLike) {
|
||||
assert_eq!(*actual, expected);
|
||||
}
|
||||
|
||||
fn roundtrip_program_with(parser: &parser::Parser, program: &str) {
|
||||
fn roundtrip_program_with(parser: &parser_scala::Parser, program: &str) {
|
||||
let ast = parser.parse(program.to_string(), Default::default()).unwrap();
|
||||
assert_eq!(ast.repr(), program, "{:#?}", ast);
|
||||
}
|
||||
|
||||
fn roundtrip_program(program: &str) {
|
||||
let parser = parser::Parser::new_or_panic();
|
||||
let parser = parser_scala::Parser::new_or_panic();
|
||||
roundtrip_program_with(&parser, program);
|
||||
}
|
||||
|
||||
@ -71,7 +71,7 @@ impl<T: Default + Serialize + DeserializeOwned> Metadata for FauxMetadata<T> {}
|
||||
/// Persists parser (which is expensive to construct, so we want to reuse it
|
||||
/// between tests. Additionally, hosts a number of helper methods.
|
||||
struct Fixture {
|
||||
parser: parser::Parser,
|
||||
parser: parser_scala::Parser,
|
||||
}
|
||||
|
||||
impl Fixture {
|
||||
@ -79,7 +79,7 @@ impl Fixture {
|
||||
|
||||
/// Create a new fixture, obtaining a default parser.
|
||||
fn new() -> Fixture {
|
||||
Fixture { parser: parser::Parser::new_or_panic() }
|
||||
Fixture { parser: parser_scala::Parser::new_or_panic() }
|
||||
}
|
||||
|
||||
/// Program is expected to be single line module. The line's Shape subtype
|
||||
@ -151,7 +151,7 @@ impl Fixture {
|
||||
|
||||
fn deserialize_blank(&mut self) {
|
||||
let expect_blank = |_: &Blank| {};
|
||||
let _ast = self.test_shape("_", expect_blank);
|
||||
self.test_shape("_", expect_blank);
|
||||
}
|
||||
|
||||
fn deserialize_var(&mut self) {
|
||||
@ -490,7 +490,7 @@ fn block_roundtrip() {
|
||||
/// Test case for https://github.com/enso-org/ide/issues/296
|
||||
#[wasm_bindgen_test]
|
||||
fn nested_macros() {
|
||||
let parser = parser::Parser::new_or_panic();
|
||||
let parser = parser_scala::Parser::new_or_panic();
|
||||
|
||||
// Generate nested brackets. Stop at 8 because it gets slower and slower.
|
||||
// At 12 the deserialization fails on WASM.
|
||||
@ -532,7 +532,7 @@ fn dealing_with_invalid_metadata() {
|
||||
let serialized_text_metadata = serde_json::to_string(&metadata).unwrap();
|
||||
assert!(serde_json::from_str::<FauxMetadata<i32>>(&serialized_text_metadata).is_err());
|
||||
|
||||
let parsed_file = parser::api::ParsedSourceFile { ast, metadata };
|
||||
let parsed_file = parser_scala::api::ParsedSourceFile { ast, metadata };
|
||||
let generated = parsed_file.serialize().unwrap();
|
||||
let expected_generated = r#"variable1
|
||||
|
||||
|
@ -5,8 +5,8 @@
|
||||
use enso_prelude::*;
|
||||
|
||||
use ast::Ast;
|
||||
use parser::api::ParsedSourceFile;
|
||||
use parser::Parser;
|
||||
use parser_scala::api::ParsedSourceFile;
|
||||
use parser_scala::Parser;
|
||||
use uuid::Uuid;
|
||||
use wasm_bindgen_test::wasm_bindgen_test;
|
||||
use wasm_bindgen_test::wasm_bindgen_test_configure;
|
||||
|
@ -13,5 +13,5 @@ enso-profiler = { path = "../../../../lib/rust/profiler" }
|
||||
failure = { version = "0.1.6" }
|
||||
|
||||
[dev-dependencies]
|
||||
parser = { path = "../parser" }
|
||||
parser-scala = { path = "../parser" }
|
||||
wasm-bindgen-test = { version = "0.3.8" }
|
||||
|
@ -1,6 +1,7 @@
|
||||
// === Standard Linter Configuration ===
|
||||
#![deny(non_ascii_idents)]
|
||||
#![warn(unsafe_code)]
|
||||
#![allow(clippy::bool_to_int_with_if)]
|
||||
#![allow(clippy::let_and_return)]
|
||||
|
||||
use ast::crumbs::PatternMatchCrumb::*;
|
||||
|
@ -239,7 +239,7 @@ mod test {
|
||||
use crate::SpanTree;
|
||||
|
||||
use ast::HasRepr;
|
||||
use parser::Parser;
|
||||
use parser_scala::Parser;
|
||||
use wasm_bindgen_test::wasm_bindgen_test;
|
||||
|
||||
#[wasm_bindgen_test]
|
||||
|
@ -626,7 +626,7 @@ mod test {
|
||||
use ast::crumbs::SectionSidesCrumb;
|
||||
use ast::Crumbs;
|
||||
use ast::IdMap;
|
||||
use parser::Parser;
|
||||
use parser_scala::Parser;
|
||||
use wasm_bindgen_test::wasm_bindgen_test;
|
||||
use wasm_bindgen_test::wasm_bindgen_test_configure;
|
||||
|
||||
|
@ -15,6 +15,7 @@
|
||||
// === Standard Linter Configuration ===
|
||||
#![deny(non_ascii_idents)]
|
||||
#![warn(unsafe_code)]
|
||||
#![allow(clippy::bool_to_int_with_if)]
|
||||
#![allow(clippy::let_and_return)]
|
||||
// === Non-Standard Linter Configuration ===
|
||||
#![warn(missing_docs)]
|
||||
|
@ -383,7 +383,7 @@ impl<'a> IntoIterator for &'a Crumbs {
|
||||
type Item = &'a Crumb;
|
||||
type IntoIter = std::slice::Iter<'a, Crumb>;
|
||||
fn into_iter(self) -> Self::IntoIter {
|
||||
(&*self.vec).iter()
|
||||
(*self.vec).iter()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -23,7 +23,7 @@ use double_representation::node::MainLine;
|
||||
use double_representation::node::NodeInfo;
|
||||
use double_representation::node::NodeLocation;
|
||||
use engine_protocol::language_server;
|
||||
use parser::Parser;
|
||||
use parser_scala::Parser;
|
||||
use span_tree::action::Action;
|
||||
use span_tree::action::Actions;
|
||||
use span_tree::generate::context::CalledMethodInfo;
|
||||
@ -395,7 +395,7 @@ impl EndpointInfo {
|
||||
}
|
||||
|
||||
/// Iterates over sibling ports located after this endpoint in its chain.
|
||||
pub fn chained_ports_after<'a>(&'a self) -> impl Iterator<Item = PortRef> + 'a {
|
||||
pub fn chained_ports_after(&self) -> impl Iterator<Item = PortRef> + '_ {
|
||||
let parent_port = self.parent_chain_port();
|
||||
let ports_after = parent_port.map(move |parent_port| {
|
||||
parent_port
|
||||
@ -993,7 +993,7 @@ pub mod tests {
|
||||
use double_representation::project;
|
||||
use engine_protocol::language_server::MethodPointer;
|
||||
use enso_text::index::*;
|
||||
use parser::Parser;
|
||||
use parser_scala::Parser;
|
||||
use wasm_bindgen_test::wasm_bindgen_test;
|
||||
|
||||
|
||||
@ -1238,7 +1238,7 @@ main =
|
||||
bar b = 5
|
||||
print foo"
|
||||
.into();
|
||||
test.data.graph_id = definition::Id::new_plain_names(&["main", "foo"]);
|
||||
test.data.graph_id = definition::Id::new_plain_names(["main", "foo"]);
|
||||
test.run(|graph| async move {
|
||||
let expression = "new_node";
|
||||
graph.add_node(NewNodeInfo::new_pushed_back(expression)).unwrap();
|
||||
@ -1346,7 +1346,7 @@ main =
|
||||
// Not using multi-line raw string literals, as we don't want IntelliJ to automatically
|
||||
// strip the trailing whitespace in the lines.
|
||||
test.data.code = "main =\n foo a =\n bar b = 5\n print foo".into();
|
||||
test.data.graph_id = definition::Id::new_plain_names(&["main", "foo", "bar"]);
|
||||
test.data.graph_id = definition::Id::new_plain_names(["main", "foo", "bar"]);
|
||||
test.run(|graph| async move {
|
||||
let expression = "new_node";
|
||||
graph.add_node(NewNodeInfo::new_pushed_back(expression)).unwrap();
|
||||
|
@ -52,7 +52,7 @@ pub struct NoResolvedMethod(double_representation::node::Id);
|
||||
/// Notification about change in the executed graph.
|
||||
///
|
||||
/// It may pertain either the state of the graph itself or the notifications from the execution.
|
||||
#[derive(Clone, Debug, PartialEq)]
|
||||
#[derive(Clone, Debug, PartialEq, Eq)]
|
||||
pub enum Notification {
|
||||
/// The notification passed from the graph controller.
|
||||
Graph(controller::graph::Notification),
|
||||
@ -376,7 +376,7 @@ pub mod tests {
|
||||
impl MockData {
|
||||
pub fn controller(&self) -> Handle {
|
||||
let logger = Logger::new("test");
|
||||
let parser = parser::Parser::new_or_panic();
|
||||
let parser = parser_scala::Parser::new_or_panic();
|
||||
let repository = Rc::new(model::undo_redo::Repository::new(&logger));
|
||||
let module = self.module.plain(&parser, repository);
|
||||
let method = self.graph.method();
|
||||
|
@ -8,7 +8,7 @@ use crate::prelude::*;
|
||||
use crate::notification;
|
||||
|
||||
use mockall::automock;
|
||||
use parser::Parser;
|
||||
use parser_scala::Parser;
|
||||
|
||||
|
||||
// ==============
|
||||
|
@ -16,7 +16,7 @@ use engine_protocol::project_manager;
|
||||
use engine_protocol::project_manager::MissingComponentAction;
|
||||
use engine_protocol::project_manager::ProjectMetadata;
|
||||
use engine_protocol::project_manager::ProjectName;
|
||||
use parser::Parser;
|
||||
use parser_scala::Parser;
|
||||
|
||||
|
||||
|
||||
|
@ -11,7 +11,7 @@ use crate::model::project::synchronized::Properties;
|
||||
|
||||
use double_representation::project;
|
||||
use engine_protocol::project_manager::ProjectName;
|
||||
use parser::Parser;
|
||||
use parser_scala::Parser;
|
||||
|
||||
|
||||
|
||||
|
@ -12,7 +12,7 @@ use double_representation::project;
|
||||
use double_representation::text::apply_code_change_to_id_map;
|
||||
use engine_protocol::language_server;
|
||||
use engine_protocol::types::Sha3_224;
|
||||
use parser::Parser;
|
||||
use parser_scala::Parser;
|
||||
|
||||
|
||||
|
||||
@ -212,7 +212,7 @@ mod test {
|
||||
use ast::Ast;
|
||||
use ast::BlockLine;
|
||||
use enso_text::index::*;
|
||||
use parser::Parser;
|
||||
use parser_scala::Parser;
|
||||
use uuid::Uuid;
|
||||
use wasm_bindgen_test::wasm_bindgen_test;
|
||||
|
||||
|
@ -11,7 +11,7 @@ use engine_protocol::language_server::MethodPointer;
|
||||
use engine_protocol::language_server::Path;
|
||||
use enso_frp::web::platform;
|
||||
use enso_frp::web::platform::Platform;
|
||||
use parser::Parser;
|
||||
use parser_scala::Parser;
|
||||
|
||||
|
||||
|
||||
@ -260,7 +260,7 @@ mod tests {
|
||||
#[wasm_bindgen_test]
|
||||
fn adding_missing_main() {
|
||||
let _ctx = TestWithLocalPoolExecutor::set_up();
|
||||
let parser = parser::Parser::new_or_panic();
|
||||
let parser = parser_scala::Parser::new_or_panic();
|
||||
let mut data = crate::test::mock::Unified::new();
|
||||
let module_name = data.module_path.module_name();
|
||||
let main_ptr = main_method_ptr(data.project_name.clone(), &data.module_path);
|
||||
|
@ -26,7 +26,7 @@ use enso_text::Byte;
|
||||
use enso_text::Location;
|
||||
use enso_text::Rope;
|
||||
use flo_stream::Subscriber;
|
||||
use parser::Parser;
|
||||
use parser_scala::Parser;
|
||||
|
||||
|
||||
// ==============
|
||||
@ -550,7 +550,7 @@ impl Searcher {
|
||||
Data::new_with_edited_node(
|
||||
project.qualified_name(),
|
||||
&graph.graph(),
|
||||
&*database,
|
||||
&database,
|
||||
node_id,
|
||||
)?
|
||||
} else {
|
||||
|
@ -228,7 +228,7 @@ impl List {
|
||||
if self.module_groups.contains_key(&module_id) {
|
||||
self.module_groups.get_mut(&module_id)
|
||||
} else {
|
||||
let groups = ModuleGroups::new(module_id, &*db_entry).ok()?;
|
||||
let groups = ModuleGroups::new(module_id, &db_entry).ok()?;
|
||||
if let Some(module) = module.parent_module() {
|
||||
if let Some(parent_groups) = self.lookup_module_group(db, &module) {
|
||||
parent_groups.submodules.push(groups.content.clone_ref())
|
||||
|
@ -76,7 +76,7 @@ pub struct Group {
|
||||
impl Deref for Group {
|
||||
type Target = Data;
|
||||
fn deref(&self) -> &Self::Target {
|
||||
&*self.data
|
||||
&self.data
|
||||
}
|
||||
}
|
||||
|
||||
@ -206,7 +206,7 @@ impl Group {
|
||||
fn sort_by_match(&self) {
|
||||
let mut entries = self.entries.borrow_mut();
|
||||
entries.sort_by(|a, b| {
|
||||
Self::entry_match_ordering(&*a.match_info.borrow(), &*b.match_info.borrow())
|
||||
Self::entry_match_ordering(&a.match_info.borrow(), &b.match_info.borrow())
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -106,7 +106,7 @@ impl Snippet {
|
||||
/// documentation parser cannot be created or the argument fails to parse as valid
|
||||
/// documentation.
|
||||
fn with_documentation(mut self, documentation: &str) -> Self {
|
||||
let doc_parser = parser::DocParser::new().unwrap();
|
||||
let doc_parser = parser_scala::DocParser::new().unwrap();
|
||||
let doc_string = documentation.to_string();
|
||||
let documentation_html = doc_parser.generate_html_doc_pure(doc_string);
|
||||
self.documentation_html = Some(documentation_html.unwrap());
|
||||
|
@ -78,7 +78,7 @@ impl Handle {
|
||||
/// Get clone of file path handled by this controller.
|
||||
pub fn file_path(&self) -> &FilePath {
|
||||
match &self.file {
|
||||
FileHandle::PlainText { path, .. } => &*path,
|
||||
FileHandle::PlainText { path, .. } => path,
|
||||
FileHandle::Module { controller } => controller.model.path().file_path(),
|
||||
}
|
||||
}
|
||||
@ -177,7 +177,7 @@ mod test {
|
||||
use crate::executor::test_utils::TestWithLocalPoolExecutor;
|
||||
|
||||
use enso_text::index::*;
|
||||
use parser::Parser;
|
||||
use parser_scala::Parser;
|
||||
use wasm_bindgen_test::wasm_bindgen_test;
|
||||
|
||||
fn setup_mock_project(setup: impl FnOnce(&mut model::project::MockAPI)) -> model::Project {
|
||||
@ -233,7 +233,7 @@ mod test {
|
||||
|
||||
#[wasm_bindgen_test]
|
||||
fn obtain_text_controller_for_module() {
|
||||
let parser = parser::Parser::new_or_panic();
|
||||
let parser = parser_scala::Parser::new_or_panic();
|
||||
TestWithLocalPoolExecutor::set_up().run_task(async move {
|
||||
let code = "2 + 2".to_string();
|
||||
let undo = default();
|
||||
|
@ -287,7 +287,7 @@ impl NodeFromDroppedFileHandler {
|
||||
}
|
||||
|
||||
async fn establish_remote_file_name(&self, original_name: &str) -> FallibleResult<String> {
|
||||
pick_non_colliding_name(&*self.project.json_rpc(), &self.data_path(), original_name).await
|
||||
pick_non_colliding_name(&self.project.json_rpc(), &self.data_path(), original_name).await
|
||||
}
|
||||
|
||||
async fn ensure_data_directory_exists(&self) -> FallibleResult {
|
||||
|
@ -32,22 +32,21 @@
|
||||
#![feature(arc_unwrap_or_clone)]
|
||||
#![feature(async_closure)]
|
||||
#![feature(associated_type_bounds)]
|
||||
#![feature(bool_to_option)]
|
||||
#![feature(cell_update)]
|
||||
#![feature(drain_filter)]
|
||||
#![feature(exact_size_is_empty)]
|
||||
#![feature(iter_order_by)]
|
||||
#![feature(option_result_contains)]
|
||||
#![feature(trait_alias)]
|
||||
#![feature(result_into_ok_or_err)]
|
||||
#![feature(result_option_inspect)]
|
||||
#![feature(map_try_insert)]
|
||||
#![feature(assert_matches)]
|
||||
#![feature(cell_filter_map)]
|
||||
#![feature(hash_drain_filter)]
|
||||
#![feature(unwrap_infallible)]
|
||||
// === Standard Linter Configuration ===
|
||||
#![deny(non_ascii_idents)]
|
||||
#![warn(unsafe_code)]
|
||||
#![allow(clippy::bool_to_int_with_if)]
|
||||
#![allow(clippy::let_and_return)]
|
||||
// === Non-Standard Linter Configuration ===
|
||||
#![warn(missing_docs)]
|
||||
|
@ -175,7 +175,7 @@ impl ComputedValueInfoRegistry {
|
||||
/// Binary data can be accessed through `Deref` or `AsRef` implementations.
|
||||
///
|
||||
/// The inner storage is private and users should not make any assumptions about it.
|
||||
#[derive(Clone, Debug, PartialEq)]
|
||||
#[derive(Clone, Debug, PartialEq, Eq)]
|
||||
pub struct VisualizationUpdateData(Vec<u8>);
|
||||
|
||||
impl VisualizationUpdateData {
|
||||
@ -302,7 +302,7 @@ impl From<&QualifiedMethodPointer> for MethodPointer {
|
||||
pub type VisualizationId = Uuid;
|
||||
|
||||
/// Description of the visualization setup.
|
||||
#[derive(Clone, Debug, PartialEq)]
|
||||
#[derive(Clone, Debug, PartialEq, Eq)]
|
||||
pub struct Visualization {
|
||||
/// Unique identifier of this visualization.
|
||||
pub id: VisualizationId,
|
||||
|
@ -12,9 +12,9 @@ use double_representation::module::ImportId;
|
||||
use double_representation::project;
|
||||
use engine_protocol::language_server::MethodPointer;
|
||||
use flo_stream::Subscriber;
|
||||
use parser::api::ParsedSourceFile;
|
||||
use parser::api::SourceFile;
|
||||
use parser::Parser;
|
||||
use parser_scala::api::ParsedSourceFile;
|
||||
use parser_scala::api::SourceFile;
|
||||
use parser_scala::Parser;
|
||||
use serde::Deserialize;
|
||||
use serde::Serialize;
|
||||
|
||||
@ -182,7 +182,7 @@ impl Path {
|
||||
|
||||
/// Get the file path.
|
||||
pub fn file_path(&self) -> &FilePath {
|
||||
&*self.file_path
|
||||
&self.file_path
|
||||
}
|
||||
|
||||
/// Gives the file name for the given module name.
|
||||
@ -342,7 +342,7 @@ pub struct Metadata {
|
||||
rest: serde_json::Value,
|
||||
}
|
||||
|
||||
impl parser::api::Metadata for Metadata {}
|
||||
impl parser_scala::api::Metadata for Metadata {}
|
||||
|
||||
impl Default for Metadata {
|
||||
fn default() -> Self {
|
||||
@ -356,7 +356,7 @@ impl Default for Metadata {
|
||||
}
|
||||
|
||||
/// Project-level metadata. It is stored as part of the project's main module's metadata.
|
||||
#[derive(Clone, Debug, Default, Deserialize, PartialEq, Serialize)]
|
||||
#[derive(Clone, Debug, Default, Deserialize, PartialEq, Eq, Serialize)]
|
||||
pub struct ProjectMetadata {
|
||||
/// The execution context of the displayed graph editor.
|
||||
#[serde(default, deserialize_with = "enso_prelude::deserialize_or_default")]
|
||||
@ -746,7 +746,8 @@ pub mod test {
|
||||
|
||||
pub fn plain_from_code(code: impl Into<String>) -> Module {
|
||||
let urm = default();
|
||||
MockData { code: code.into(), ..default() }.plain(&parser::Parser::new_or_panic(), urm)
|
||||
MockData { code: code.into(), ..default() }
|
||||
.plain(&parser_scala::Parser::new_or_panic(), urm)
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
@ -18,9 +18,9 @@ use crate::notification;
|
||||
use double_representation::definition::DefinitionInfo;
|
||||
use double_representation::module::ImportId;
|
||||
use flo_stream::Subscriber;
|
||||
use parser::api::ParsedSourceFile;
|
||||
use parser::api::SourceFile;
|
||||
use parser::Parser;
|
||||
use parser_scala::api::ParsedSourceFile;
|
||||
use parser_scala::api::SourceFile;
|
||||
use parser_scala::Parser;
|
||||
|
||||
|
||||
|
||||
|
@ -24,8 +24,8 @@ use enso_text::text;
|
||||
use enso_text::Location;
|
||||
use enso_text::Range;
|
||||
use flo_stream::Subscriber;
|
||||
use parser::api::SourceFile;
|
||||
use parser::Parser;
|
||||
use parser_scala::api::SourceFile;
|
||||
use parser_scala::Parser;
|
||||
|
||||
|
||||
|
||||
|
@ -14,7 +14,7 @@ use engine_protocol::language_server;
|
||||
use engine_protocol::language_server::ContentRoot;
|
||||
use flo_stream::Subscriber;
|
||||
use mockall::automock;
|
||||
use parser::Parser;
|
||||
use parser_scala::Parser;
|
||||
use uuid::Uuid;
|
||||
|
||||
|
||||
@ -168,14 +168,14 @@ pub type Synchronized = synchronized::Project;
|
||||
// ====================
|
||||
|
||||
/// Notification emitted by the project model.
|
||||
#[derive(Clone, Copy, Debug, PartialEq)]
|
||||
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
|
||||
pub enum Notification {
|
||||
/// One of the backend connections has been lost.
|
||||
ConnectionLost(BackendConnection),
|
||||
}
|
||||
|
||||
/// Denotes one of backend connections used by a project.
|
||||
#[derive(Clone, Copy, Debug, PartialEq)]
|
||||
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
|
||||
pub enum BackendConnection {
|
||||
/// The text connection used to transfer JSON messages.
|
||||
LanguageServerJson,
|
||||
|
@ -24,7 +24,7 @@ use engine_protocol::project_manager;
|
||||
use engine_protocol::project_manager::MissingComponentAction;
|
||||
use engine_protocol::project_manager::ProjectName;
|
||||
use flo_stream::Subscriber;
|
||||
use parser::Parser;
|
||||
use parser_scala::Parser;
|
||||
|
||||
|
||||
|
||||
@ -279,7 +279,7 @@ impl Project {
|
||||
let language_server = &*language_server_rpc;
|
||||
let suggestion_db = SuggestionDatabase::create_synchronized(language_server);
|
||||
let suggestion_db = Rc::new(suggestion_db.await.map_err(&wrap)?);
|
||||
let content_roots = ContentRoots::new_from_connection(&logger, &*language_server);
|
||||
let content_roots = ContentRoots::new_from_connection(&logger, language_server);
|
||||
let content_roots = Rc::new(content_roots);
|
||||
let notifications = notification::Publisher::default();
|
||||
let urm = Rc::new(model::undo_redo::Manager::new(&logger));
|
||||
|
@ -117,7 +117,7 @@ pub struct NoSuchEntry(pub SuggestionId);
|
||||
// ====================
|
||||
|
||||
/// Notification about change in a suggestion database,
|
||||
#[derive(Clone, Copy, Debug, PartialEq)]
|
||||
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
|
||||
pub enum Notification {
|
||||
/// The database has been updated.
|
||||
Updated,
|
||||
|
@ -75,7 +75,7 @@ im_string_newtype! {
|
||||
}
|
||||
|
||||
/// A fully qualified name of an [`Entry`].
|
||||
#[derive(Debug, Default, Clone, PartialEq)]
|
||||
#[derive(Debug, Default, Clone, PartialEq, Eq)]
|
||||
#[allow(missing_docs)]
|
||||
pub struct QualifiedName {
|
||||
pub segments: Vec<QualifiedNameSegment>,
|
||||
@ -514,7 +514,7 @@ impl Entry {
|
||||
docs_html
|
||||
} else {
|
||||
docs.map(|docs| {
|
||||
let parser = parser::DocParser::new();
|
||||
let parser = parser_scala::DocParser::new();
|
||||
match parser {
|
||||
Ok(p) => {
|
||||
let output = p.generate_html_doc_pure((*docs).to_string());
|
||||
@ -718,7 +718,7 @@ where I: IntoIterator<Item = &'a language_server::types::DocSection> {
|
||||
use language_server::types::DocSection;
|
||||
doc_sections.into_iter().find_map(|section| match section {
|
||||
DocSection::Keyed { key, body } if key == ICON_DOC_SECTION_KEY => {
|
||||
let icon_name = IconName::from_snake_case(&body);
|
||||
let icon_name = IconName::from_snake_case(body);
|
||||
let as_snake_case = icon_name.to_snake_case();
|
||||
if as_snake_case.as_str() != body.as_str() || !body.is_case(Case::Snake) {
|
||||
let msg = format!(
|
||||
@ -960,7 +960,7 @@ mod test {
|
||||
/// Test the results of converting a [`QualifiedName`] to a string using various methods.
|
||||
#[test]
|
||||
fn qualified_name_to_string() {
|
||||
let qualified_name = QualifiedName::from_iter(&["Foo", "Bar"]);
|
||||
let qualified_name = QualifiedName::from_iter(["Foo", "Bar"]);
|
||||
assert_eq!(qualified_name.to_string(), "Foo.Bar".to_string());
|
||||
assert_eq!(String::from(qualified_name), "Foo.Bar".to_string());
|
||||
}
|
||||
|
@ -5,7 +5,7 @@ use crate::prelude::*;
|
||||
use double_representation::definition;
|
||||
use double_representation::definition::DefinitionName;
|
||||
use double_representation::module;
|
||||
use parser::Parser;
|
||||
use parser_scala::Parser;
|
||||
|
||||
|
||||
|
||||
@ -83,7 +83,7 @@ impl Example {
|
||||
|
||||
/// Creates a pretty documentation from hardcoded inner text.
|
||||
pub fn documentation_html_from(inner: &str) -> String {
|
||||
return format!("<div class=\"doc\" style=\"font-size: 13px;\"><p>{}</p></div>", inner);
|
||||
format!("<div class=\"doc\" style=\"font-size: 13px;\"><p>{}</p></div>", inner)
|
||||
}
|
||||
|
||||
// =========================
|
||||
|
@ -275,7 +275,10 @@ impl Repository {
|
||||
|
||||
/// Get currently opened transaction. If there is none, open a new one.
|
||||
pub fn transaction(self: &Rc<Self>, name: impl Into<String>) -> Rc<Transaction> {
|
||||
self.open_transaction(name).into_ok_or_err()
|
||||
match self.open_transaction(name) {
|
||||
Ok(transaction) => transaction,
|
||||
Err(transaction) => transaction,
|
||||
}
|
||||
}
|
||||
|
||||
/// Borrow given stack.
|
||||
|
@ -489,7 +489,7 @@ impl Graph {
|
||||
// Position initialization should go before emitting `update_data` event.
|
||||
update_with_gap <- view.default_y_gap_between_nodes.sample(&update_view);
|
||||
eval update_with_gap ((gap) model.initialize_nodes_positions(*gap));
|
||||
update_data <- update_view.map(f_!([model] match ViewUpdate::new(&*model) {
|
||||
update_data <- update_view.map(f_!([model] match ViewUpdate::new(&model) {
|
||||
Ok(update) => Rc::new(update),
|
||||
Err(err) => {
|
||||
error!("Failed to update view: {err:?}");
|
||||
|
@ -717,7 +717,7 @@ impl<'a> ViewChange<'a> {
|
||||
mod tests {
|
||||
use super::*;
|
||||
use engine_protocol::language_server::MethodPointer;
|
||||
use parser::Parser;
|
||||
use parser_scala::Parser;
|
||||
|
||||
fn create_test_node(expression: &str) -> controller::graph::Node {
|
||||
let parser = Parser::new_or_panic();
|
||||
|
@ -74,7 +74,7 @@ pub enum Notification {
|
||||
// ==============
|
||||
|
||||
/// Describes the state of the visualization on the Language Server.
|
||||
#[derive(Clone, Debug, PartialEq)]
|
||||
#[derive(Clone, Debug, PartialEq, Eq)]
|
||||
#[allow(clippy::large_enum_variant)]
|
||||
pub enum Status {
|
||||
/// Not attached and no ongoing background work.
|
||||
@ -156,7 +156,7 @@ impl Default for Status {
|
||||
|
||||
/// Desired visualization described using unresolved view metadata structure.
|
||||
#[allow(missing_docs)]
|
||||
#[derive(Clone, Debug, PartialEq)]
|
||||
#[derive(Clone, Debug, PartialEq, Eq)]
|
||||
pub struct Desired {
|
||||
pub visualization_id: VisualizationId,
|
||||
pub expression_id: ast::Id,
|
||||
|
@ -186,7 +186,7 @@ impl list_view::entry::ModelProvider<component_group_view::Entry> for Component
|
||||
let is_enterable = component.can_be_entered();
|
||||
let match_info = component.match_info.borrow();
|
||||
let label = component.label();
|
||||
let highlighted = bytes_of_matched_letters(&*match_info, &label);
|
||||
let highlighted = bytes_of_matched_letters(&match_info, &label);
|
||||
let icon = match component.data {
|
||||
component::Data::FromDatabase { entry, .. } => {
|
||||
let kind = entry.kind;
|
||||
|
@ -139,7 +139,7 @@ pub mod mock {
|
||||
pub module_path: model::module::Path,
|
||||
pub suggestions: HashMap<suggestion_database::entry::Id, suggestion_database::Entry>,
|
||||
pub context_id: model::execution_context::Id,
|
||||
pub parser: parser::Parser,
|
||||
pub parser: parser_scala::Parser,
|
||||
code: String,
|
||||
id_map: ast::IdMap,
|
||||
metadata: crate::model::module::Metadata,
|
||||
@ -177,7 +177,7 @@ pub mod mock {
|
||||
metadata: default(),
|
||||
context_id: CONTEXT_ID,
|
||||
root_definition: definition_name(),
|
||||
parser: parser::Parser::new_or_panic(),
|
||||
parser: parser_scala::Parser::new_or_panic(),
|
||||
logger,
|
||||
}
|
||||
}
|
||||
|
@ -66,7 +66,7 @@ impl SendingError {
|
||||
// =============
|
||||
|
||||
/// Describes the current state of WebSocket connection.
|
||||
#[derive(Clone, Copy, Debug, PartialEq)]
|
||||
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
|
||||
pub enum State {
|
||||
/// Socket has been created. The connection is not yet open.
|
||||
Connecting,
|
||||
|
@ -323,8 +323,8 @@ async fn file_operations_test() {
|
||||
// Edit file using the text protocol
|
||||
let path = Path::new(project.json_rpc().project_root().id(), &["test_file.txt"]);
|
||||
let contents = "Hello, 世界!".to_string();
|
||||
let written = project.json_rpc().write_file(&path, &contents).await.unwrap();
|
||||
info!("Written: {written:?}");
|
||||
project.json_rpc().write_file(&path, &contents).await.unwrap();
|
||||
info!("Written: {contents:?}");
|
||||
let read_back = project.json_rpc().read_file(&path).await.unwrap();
|
||||
info!("Read back: {read_back:?}");
|
||||
assert_eq!(contents, read_back.contents);
|
||||
|
@ -23,7 +23,7 @@ ensogl-text-msdf = { path = "../../../lib/rust/ensogl/component/text/src/font/ms
|
||||
ensogl-hardcoded-theme = { path = "../../../lib/rust/ensogl/app/theme/hardcoded" }
|
||||
ide-view-component-browser = { path = "component-browser" }
|
||||
ide-view-graph-editor = { path = "graph-editor" }
|
||||
parser = { path = "../language/parser" }
|
||||
parser-scala = { path = "../language/parser" }
|
||||
span-tree = { path = "../language/span-tree" }
|
||||
js-sys = { version = "0.3.28" }
|
||||
multi-map = { version = "1.3.0" }
|
||||
|
@ -20,13 +20,12 @@
|
||||
#![recursion_limit = "1024"]
|
||||
// === Features ===
|
||||
#![feature(option_result_contains)]
|
||||
#![feature(derive_default_enum)]
|
||||
#![feature(trait_alias)]
|
||||
#![feature(hash_drain_filter)]
|
||||
#![feature(bool_to_option)]
|
||||
// === Standard Linter Configuration ===
|
||||
#![deny(non_ascii_idents)]
|
||||
#![warn(unsafe_code)]
|
||||
#![allow(clippy::bool_to_int_with_if)]
|
||||
#![allow(clippy::let_and_return)]
|
||||
// === Non-Standard Linter Configuration ===
|
||||
#![warn(missing_copy_implementations)]
|
||||
@ -528,7 +527,7 @@ impl ensogl_core::application::View for Breadcrumbs {
|
||||
|
||||
fn default_shortcuts() -> Vec<Shortcut> {
|
||||
use ensogl_core::application::shortcut::ActionType::*;
|
||||
(&[(Press, "shift enter", "move_up"), (Press, "ctrl shift enter", "move_down")])
|
||||
[(Press, "shift enter", "move_up"), (Press, "ctrl shift enter", "move_down")]
|
||||
.iter()
|
||||
.map(|(a, b, c)| Self::self_shortcut(*a, *b, *c))
|
||||
.collect()
|
||||
|
@ -43,10 +43,10 @@
|
||||
#![recursion_limit = "512"]
|
||||
// === Features ===
|
||||
#![feature(option_result_contains)]
|
||||
#![feature(derive_default_enum)]
|
||||
// === Standard Linter Configuration ===
|
||||
#![deny(non_ascii_idents)]
|
||||
#![warn(unsafe_code)]
|
||||
#![allow(clippy::bool_to_int_with_if)]
|
||||
#![allow(clippy::let_and_return)]
|
||||
// === Non-Standard Linter Configuration ===
|
||||
#![warn(missing_copy_implementations)]
|
||||
@ -567,7 +567,7 @@ impl component::Frp<Model> for Frp {
|
||||
|
||||
fn default_shortcuts() -> Vec<Shortcut> {
|
||||
use ensogl::application::shortcut::ActionType::*;
|
||||
(&[(Press, "tab", "accept_suggestion")])
|
||||
[(Press, "tab", "accept_suggestion")]
|
||||
.iter()
|
||||
.map(|(a, b, c)| View::self_shortcut(*a, *b, *c))
|
||||
.collect()
|
||||
|
@ -275,7 +275,7 @@ impl<const COLUMNS: usize> component::Frp<Model<COLUMNS>> for Frp {
|
||||
|
||||
fn default_shortcuts() -> Vec<Shortcut> {
|
||||
use ensogl::application::shortcut::ActionType::*;
|
||||
(&[(Press, "tab", "accept_suggestion")])
|
||||
[(Press, "tab", "accept_suggestion")]
|
||||
.iter()
|
||||
.map(|(a, b, c)| View::<COLUMNS>::self_shortcut(*a, *b, *c))
|
||||
.collect()
|
||||
|
@ -9,7 +9,6 @@
|
||||
// === Features ===
|
||||
#![allow(incomplete_features)]
|
||||
#![feature(associated_type_defaults)]
|
||||
#![feature(bool_to_option)]
|
||||
#![feature(cell_update)]
|
||||
#![feature(const_type_id)]
|
||||
#![feature(drain_filter)]
|
||||
@ -22,7 +21,6 @@
|
||||
#![feature(unboxed_closures)]
|
||||
#![feature(trace_macros)]
|
||||
#![feature(const_trait_impl)]
|
||||
#![feature(derive_default_enum)]
|
||||
#![feature(slice_as_chunks)]
|
||||
#![feature(option_result_contains)]
|
||||
#![feature(int_roundings)]
|
||||
@ -30,6 +28,7 @@
|
||||
// === Standard Linter Configuration ===
|
||||
#![deny(non_ascii_idents)]
|
||||
#![warn(unsafe_code)]
|
||||
#![allow(clippy::bool_to_int_with_if)]
|
||||
#![allow(clippy::let_and_return)]
|
||||
// === Non-Standard Linter Configuration ===
|
||||
#![allow(clippy::option_map_unit_fn)]
|
||||
|
@ -7,6 +7,7 @@
|
||||
// === Standard Linter Configuration ===
|
||||
#![deny(non_ascii_idents)]
|
||||
#![warn(unsafe_code)]
|
||||
#![allow(clippy::bool_to_int_with_if)]
|
||||
#![allow(clippy::let_and_return)]
|
||||
// === Non-Standard Linter Configuration ===
|
||||
#![warn(missing_copy_implementations)]
|
||||
|
@ -3,6 +3,7 @@
|
||||
// === Standard Linter Configuration ===
|
||||
#![deny(non_ascii_idents)]
|
||||
#![warn(unsafe_code)]
|
||||
#![allow(clippy::bool_to_int_with_if)]
|
||||
#![allow(clippy::let_and_return)]
|
||||
// === Non-Standard Linter Configuration ===
|
||||
#![warn(missing_copy_implementations)]
|
||||
@ -241,9 +242,9 @@ mod transparent_circle {
|
||||
}
|
||||
|
||||
fn init(app: &Application) {
|
||||
theme::builtin::dark::register(&app);
|
||||
theme::builtin::light::register(&app);
|
||||
theme::builtin::light::enable(&app);
|
||||
theme::builtin::dark::register(app);
|
||||
theme::builtin::light::register(app);
|
||||
theme::builtin::light::enable(app);
|
||||
|
||||
|
||||
// === Layers setup ===
|
||||
|
@ -4,7 +4,6 @@
|
||||
// === Features ===
|
||||
#![allow(incomplete_features)]
|
||||
#![feature(associated_type_defaults)]
|
||||
#![feature(bool_to_option)]
|
||||
#![feature(cell_update)]
|
||||
#![feature(const_type_id)]
|
||||
#![feature(drain_filter)]
|
||||
@ -21,6 +20,7 @@
|
||||
// === Standard Linter Configuration ===
|
||||
#![deny(non_ascii_idents)]
|
||||
#![warn(unsafe_code)]
|
||||
#![allow(clippy::bool_to_int_with_if)]
|
||||
#![allow(clippy::let_and_return)]
|
||||
// === Non-Standard Linter Configuration ===
|
||||
#![allow(clippy::option_map_unit_fn)]
|
||||
@ -198,8 +198,8 @@ fn init_local_scope_section(searcher_list_panel: &ComponentBrowserPanel) {
|
||||
pub fn main() {
|
||||
ensogl_text_msdf::run_once_initialized(|| {
|
||||
let app = &Application::new("root");
|
||||
theme::builtin::light::register(&app);
|
||||
theme::builtin::light::enable(&app);
|
||||
theme::builtin::light::register(app);
|
||||
theme::builtin::light::enable(app);
|
||||
|
||||
let world = &app.display;
|
||||
let scene = &world.default_scene;
|
||||
|
@ -1,6 +1,7 @@
|
||||
// === Standard Linter Configuration ===
|
||||
#![deny(non_ascii_idents)]
|
||||
#![warn(unsafe_code)]
|
||||
#![allow(clippy::bool_to_int_with_if)]
|
||||
#![allow(clippy::let_and_return)]
|
||||
|
||||
use ensogl::system::web::traits::*;
|
||||
|
@ -14,7 +14,7 @@ ensogl = { path = "../../../../../lib/rust/ensogl" }
|
||||
ensogl-hardcoded-theme = { path = "../../../../../lib/rust/ensogl/app/theme/hardcoded" }
|
||||
ensogl-text-msdf = { path = "../../../../../lib/rust/ensogl/component/text/src/font/msdf" }
|
||||
ide-view = { path = "../.." }
|
||||
parser = { path = "../../../language/parser" }
|
||||
parser-scala = { path = "../../../language/parser" }
|
||||
span-tree = { path = "../../../language/span-tree" }
|
||||
uuid = { version = "0.8", features = ["v4", "wasm-bindgen"] }
|
||||
wasm-bindgen = { version = "0.2.78", features = ["nightly"] }
|
||||
|
@ -5,6 +5,7 @@
|
||||
// === Standard Linter Configuration ===
|
||||
#![deny(non_ascii_idents)]
|
||||
#![warn(unsafe_code)]
|
||||
#![allow(clippy::bool_to_int_with_if)]
|
||||
#![allow(clippy::let_and_return)]
|
||||
// === Non-Standard Linter Configuration ===
|
||||
#![warn(missing_copy_implementations)]
|
||||
@ -37,7 +38,7 @@ use ide_view::graph_editor::Type;
|
||||
use ide_view::project;
|
||||
use ide_view::root;
|
||||
use ide_view::status_bar;
|
||||
use parser::Parser;
|
||||
use parser_scala::Parser;
|
||||
use uuid::Uuid;
|
||||
|
||||
|
||||
|
@ -5,7 +5,6 @@
|
||||
#![allow(incomplete_features)]
|
||||
#![feature(negative_impls)]
|
||||
#![feature(associated_type_defaults)]
|
||||
#![feature(bool_to_option)]
|
||||
#![feature(cell_update)]
|
||||
#![feature(const_type_id)]
|
||||
#![feature(drain_filter)]
|
||||
@ -22,6 +21,7 @@
|
||||
// === Standard Linter Configuration ===
|
||||
#![deny(non_ascii_idents)]
|
||||
#![warn(unsafe_code)]
|
||||
#![allow(clippy::bool_to_int_with_if)]
|
||||
#![allow(clippy::let_and_return)]
|
||||
// === Non-Standard Linter Configuration ===
|
||||
#![allow(clippy::option_map_unit_fn)]
|
||||
|
@ -6,6 +6,7 @@
|
||||
// === Standard Linter Configuration ===
|
||||
#![deny(non_ascii_idents)]
|
||||
#![warn(unsafe_code)]
|
||||
#![allow(clippy::bool_to_int_with_if)]
|
||||
#![allow(clippy::let_and_return)]
|
||||
// === Non-Standard Linter Configuration ===
|
||||
#![warn(missing_copy_implementations)]
|
||||
|
@ -3,6 +3,7 @@
|
||||
// === Standard Linter Configuration ===
|
||||
#![deny(non_ascii_idents)]
|
||||
#![warn(unsafe_code)]
|
||||
#![allow(clippy::bool_to_int_with_if)]
|
||||
#![allow(clippy::let_and_return)]
|
||||
// === Non-Standard Linter Configuration ===
|
||||
#![warn(missing_copy_implementations)]
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user