Skip to content
This repository has been archived by the owner on Dec 28, 2021. It is now read-only.

Commit

Permalink
Merge remote-tracking branch 'origin/develop' into wip/ao/create-new-…
Browse files Browse the repository at this point in the history
…project2
  • Loading branch information
farmaazon committed May 13, 2021
2 parents 6df60f5 + f9778d6 commit 3463a1e
Show file tree
Hide file tree
Showing 28 changed files with 924 additions and 265 deletions.
14 changes: 14 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
blank_issues_enabled: false
contact_links:
- name: Issues with Enso?
url: https://github.com/enso-org/enso/issues/new/choose
about: Please report problems with the Enso in the Enso repository.
- name: Have a question about Enso?
url: https://github.com/enso-org/enso/discussions/new?category=Questions
about: Ask your questions about Enso
- name: Want to discuss Enso?
url: https://github.com/enso-org/enso/discussions/new?category=general
about: Talk about Enso the language
- name: Have an idea?
url: https://github.com/enso-org/enso/discussions/new?category=ideas
about: Share your ideas for Enso
16 changes: 10 additions & 6 deletions .github/workflows/gui-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,7 @@ jobs:
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]')
}} == false ]]; then exit 1; fi
if: >-
github.base_ref == 'develop' || github.base_ref == 'unstable' ||
Expand Down Expand Up @@ -246,10 +247,11 @@ jobs:
run: node ./run dist --skip-version-validation --target macos
if: startsWith(matrix.os,'macos')
if: >-
!(contains(github.event.head_commit.message,'[ci build]') || github.ref ==
!(contains(github.event.pull_request.body,'[ci build]') ||
contains(github.event.head_commit.message,'[ci build]') || github.ref ==
'refs/heads/develop' || github.base_ref == 'unstable' || github.base_ref
== 'stable' || github.ref == 'refs/heads/unstable' || github.ref ==
'refs/heads/stable')
== 'stable' || (github.ref == 'refs/heads/unstable' || github.ref ==
'refs/heads/stable'))
build:
name: Build
runs-on: ${{ matrix.os }}
Expand Down Expand Up @@ -375,10 +377,11 @@ jobs:
dist/client/enso-linux-${{fromJson(steps.changelog.outputs.content).version}}.AppImage.sha256
if: startsWith(matrix.os,'ubuntu')
if: >-
contains(github.event.pull_request.body,'[ci build]') ||
contains(github.event.head_commit.message,'[ci build]') || github.ref ==
'refs/heads/develop' || github.base_ref == 'unstable' || github.base_ref
== 'stable' || github.ref == 'refs/heads/unstable' || github.ref ==
'refs/heads/stable'
== 'stable' || (github.ref == 'refs/heads/unstable' || github.ref ==
'refs/heads/stable')
release_to_github:
name: GitHub Release
runs-on: ${{ matrix.os }}
Expand Down Expand Up @@ -484,7 +487,8 @@ jobs:
run: >-
aws s3 cp ./artifacts/content/assets/ide.wasm
s3://ensocdn/ide/${{fromJson(steps.changelog.outputs.content).version}}/ide.wasm
--profile s3-upload --acl public-read
--profile s3-upload --acl public-read --content-type
'application/wasm'
- name: Upload 'wasm_imports.js.gz' to CDN
shell: bash
run: >-
Expand Down
2 changes: 1 addition & 1 deletion .prettierrc.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
overrides:

- files: "*.js"
- files: "*.[j|t]s"
options:
printWidth: 100
tabWidth: 4
Expand Down
89 changes: 87 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,76 @@
# Next Release

<br/>![New Learning Resources](/docs/assets/tags/new_learning_resources.svg)
<br/>![New Features](/docs/assets/tags/new_features.svg)

#### Visual Environment

#### EnsoGL (rendering engine)

<br/>![Bug Fixes](/docs/assets/tags/bug_fixes.svg)

#### Visual Environment

- [It is possible to move around after deleting a node with a selected
visualization][1556]. Deleting a node while its attached visualization was
selected made it impossible to pan or zoom around the stage afterwards. This
error is fixed now.
- [Fixed an internal error that would make the IDE fail on some browser.][1561].
Instead of crashing on browser that don't support the feature we use, we are
now just start a little bit slower.

#### EnsoGL (rendering engine)

#### Enso Compiler

If you're interested in the enhancements and fixes made to the Enso compiler,
you can find their release notes
[here](https://github.com/enso-org/enso/blob/main/RELEASES.md).

[1556]: https://github.com/enso-org/ide/pull/1556
[1561]: https://github.com/enso-org/ide/pull/1561

<br/>



# Enso 2.0.0-alpha.5 (2021-05-14)

<br/>![New Features](/docs/assets/tags/new_features.svg)

#### Visual Environment

#### EnsoGL (rendering engine)

<br/>![Bug Fixes](/docs/assets/tags/bug_fixes.svg)

#### Visual Environment

- [Delete key will delete selected nodes][1538].

#### EnsoGL (rendering engine)

#### Enso Compiler

- [Updated Enso engine to version 0.2.11][1541].

If you're interested in the enhancements and fixes made to the Enso compiler,
you can find their release notes
[here](https://github.com/enso-org/enso/blob/main/RELEASES.md).

[1541]: https://github.com/enso-org/ide/pull/1511
[1538]: https://github.com/enso-org/ide/pull/1538
[1561]: https://github.com/enso-org/ide/pull/1561

<br/>

# Enso 2.0.0-alpha.4 (2021-05-04)

<br/>![New Features](/docs/assets/tags/new_features.svg)

#### Visual Environment

- [Window management buttons.][1511]. The IDE now has components for
<<<<<<< HEAD
"fullscreen" nad "close" buttons. They will be available only when running IDE
in a cloud environment.
- [Create New Project action in Searcher][1566]. When you bring the searcher
Expand All @@ -15,12 +79,27 @@
clicking with mouse or selecting and pressing enter, a new unnamed project
will be created and opened in the application. Then you can give a name to
this project.
=======
"fullscreen" and "close" buttons. They will when running IDE in a cloud
environment where no native window buttons are available.
- [Customizable backend options][1531]. When invoking Enso IDE through command
line interface, it is possible to add the `--` argument separator. All
arguments following the separator will be passed to the backend.
- [Added `--verbose` parameter][1531]. If `--verbose` is given as command line
argument, the IDE and the backend will produce more detailed logs.
>>>>>>> origin/develop
<br/>![Bug Fixes](/docs/assets/tags/bug_fixes.svg)

- [Fix some internal settings not being applied correctly in the IDE][1539].
Some arguments were not passed correctly to the IDE leading to erroneous
behaviour in the electron app. This is now fixed.

#### Visual Environment

#### EnsoGL (rendering engine)
- [Some command line arguments were not applied correctly in the IDE][1536].
Some arguments were not passed correctly to the IDE leading to erroneous
behavior or appearance of the electron app. This is now fixed.

#### Enso Compiler

Expand All @@ -29,7 +108,13 @@ you can find their release notes
[here](https://github.com/enso-org/enso/blob/main/RELEASES.md).

[1511]: https://github.com/enso-org/ide/pull/1511
<<<<<<< HEAD
[1566]: https://github.com/enso-org/ide/pull/1566
=======
[1536]: https://github.com/enso-org/ide/pull/1536
[1531]: https://github.com/enso-org/ide/pull/1531
[1531]: https://github.com/enso-org/ide/pull/1539
>>>>>>> origin/develop
<br/>

Expand Down
24 changes: 15 additions & 9 deletions build/release.js
Original file line number Diff line number Diff line change
Expand Up @@ -33,12 +33,14 @@ class NextReleaseVersion {
}

class Version {
constructor(major,minor,patch,tag,tagVersion) {
this.major = major
this.minor = minor
this.patch = patch
this.tag = tag
this.tagVersion = tagVersion
constructor(major,minor,patch,tag,tagVersion,rcTag,rcTagVersion) {
this.major = major
this.minor = minor
this.patch = patch
this.tag = tag
this.tagVersion = tagVersion
this.rcTag = rcTag
this.rcTagVersion = rcTagVersion
}

lt(that) {
Expand All @@ -48,7 +50,8 @@ class Version {
if (this.tag === 'alpha' && that.tag === 'beta') { return true }
if (this.tag === 'alpha' && that.tag === 'rc') { return true }
if (this.tag === 'beta' && that.tag === 'rc') { return true }
if (this.tagVersion < that.tagVersion) { return true }
if (this.tagVersion < that.tagVersion) { return true }
if (this.rcTagVersion < that.rcTagVersion) { return true }
return false
}

Expand All @@ -60,6 +63,9 @@ class Version {
let suffix = ''
if (this.tag) {
suffix = `-${this.tag}.${this.tagVersion}`
if (this.rcTag) {
suffix += `.${this.rcTag}.${this.rcTagVersion}`
}
}
return `${this.major}.${this.minor}.${this.patch}${suffix}`
}
Expand Down Expand Up @@ -140,13 +146,13 @@ function changelogEntries() {
let version = new NextReleaseVersion
entries.push(new ChangelogEntry(version,body))
} else {
let headerReg = /^ Enso (?<major>[0-9]+)\.(?<minor>[0-9]+)\.(?<patch>[0-9]+)(-(?<tag>alpha|beta|rc)\.(?<tagVersion>[0-9]+))? \((?<year>[0-9][0-9][0-9][0-9])-(?<month>[0-9][0-9])-(?<day>[0-9][0-9])\)/
let headerReg = /^ Enso (?<major>[0-9]+)\.(?<minor>[0-9]+)\.(?<patch>[0-9]+)(-(?<tag>alpha|beta|rc)\.(?<tagVersion>[0-9]+))?(.(?<rcTag>rc)\.(?<rcTagVersion>[0-9]+))? \((?<year>[0-9][0-9][0-9][0-9])-(?<month>[0-9][0-9])-(?<day>[0-9][0-9])\)/
let match = header.match(headerReg)
if (!match) {
throw `Improper changelog entry header: '${header}'. See the 'CHANGELOG_TEMPLATE.md' for details.`
}
let grps = match.groups
let version = new Version(grps.major,grps.minor,grps.patch,grps.tag,grps.tagVersion)
let version = new Version(grps.major,grps.minor,grps.patch,grps.tag,grps.tagVersion,grps.rcTag,grps.rcTagVersion)
entries.push(new ChangelogEntry(version,body))
}
firstSection = false
Expand Down
7 changes: 4 additions & 3 deletions build/run.js
Original file line number Diff line number Diff line change
Expand Up @@ -206,9 +206,10 @@ commands.start.rust = async function(argv) {
commands.start.js = async function (argv) {
await installJsDeps()
console.log(`Building JS target.` + argv)
const args = targetArgs.concat([
`--backend-path ${paths.get_project_manager_path(paths.dist.bin)}`,
])
// The backend path is being prepended here, as appending would be incorrect.
// That is because `targetArgs` might include `-- …` and appended args could
// end up being passed to the spawned backend process.
const args = ['--backend-path', paths.get_project_manager_path(paths.dist.bin)].concat(targetArgs)
if (argv.dev) { args.push('--dev') }
await cmd.with_cwd(paths.js.root, async () => {
await run('npm', ['run', 'start', '--'].concat(args))
Expand Down
11 changes: 7 additions & 4 deletions build/workflow.js
Original file line number Diff line number Diff line change
Expand Up @@ -273,7 +273,7 @@ let assertChangelogWasUpdated = [
getListOfChangedFiles,
{
name: 'Assert if CHANGELOG.md was updated (on pull request)',
run: `if [[ \${{ contains(steps.changed_files.outputs.list,'CHANGELOG.md') || contains(github.event.head_commit.message,'${FLAG_NO_CHANGELOG_NEEDED}') }} == false ]]; then exit 1; fi`,
run: `if [[ \${{ contains(steps.changed_files.outputs.list,'CHANGELOG.md') || contains(github.event.head_commit.message,'${FLAG_NO_CHANGELOG_NEEDED}') || contains(github.event.pull_request.body,'${FLAG_NO_CHANGELOG_NEEDED}') }} == false ]]; then exit 1; fi`,
if: `github.base_ref == 'develop' || github.base_ref == 'unstable' || github.base_ref == 'stable'`
}
]
Expand Down Expand Up @@ -325,9 +325,9 @@ prepareAwsSessionCDN = {
}

function uploadToCDN(...names) {
let actions = []
const actions = []
for (let name of names) {
let action = {
const action = {
name: `Upload '${name}' to CDN`,
shell: "bash",
run: `aws s3 cp ./artifacts/content/assets/${name} `
Expand All @@ -337,6 +337,9 @@ function uploadToCDN(...names) {
if (name.endsWith(".gz")) {
action.run += " --content-encoding gzip";
}
if (name.endsWith(".wasm")) {
action.run += " --content-type 'application/wasm'";
}
actions.push(action)
}
return actions
Expand Down Expand Up @@ -406,7 +409,7 @@ let releaseCondition = `github.ref == 'refs/heads/unstable' || github.ref == 're
/// 2. It was a pull request to the 'unstable', or the 'stable' branch.
/// 3. It was a commit to the 'develop' branch.
/// Otherwise, perform a simplified (faster) build only.
let buildCondition = `contains(github.event.head_commit.message,'${FLAG_FORCE_CI_BUILD}') || github.ref == 'refs/heads/develop' || github.base_ref == 'unstable' || github.base_ref == 'stable' || ${releaseCondition}`
let buildCondition = `contains(github.event.pull_request.body,'${FLAG_FORCE_CI_BUILD}') || contains(github.event.head_commit.message,'${FLAG_FORCE_CI_BUILD}') || github.ref == 'refs/heads/develop' || github.base_ref == 'unstable' || github.base_ref == 'stable' || (${releaseCondition})`

let workflow = {
name : "GUI CI",
Expand Down
10 changes: 5 additions & 5 deletions docs/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,10 +59,10 @@ setup:
install it:

```bash
rustup toolchain install nightly-2019-11-04 # Install the nightly channel.
rustup component add clippy # Install the linter.
cargo install wasm-pack --version 0.9.1 # Install the wasm-pack toolkit.
cargo install cargo-watch # To enable ./run watch utility
rustup toolchain install nightly-2019-11-04 # Install the nightly channel.
rustup component add clippy # Install the linter.
cargo +stable install wasm-pack --version 0.9.1 # Install the wasm-pack toolkit.
cargo +stable install cargo-watch # To enable ./run watch utility
```

- **Node and Node Package Manager LTS**
Expand Down Expand Up @@ -259,7 +259,7 @@ The following branches are used to develop the product:

By default, CI would not build artifacts from `wip` and `develop` branches in
order to save time and resources. If you want the artifacts to be build for your
commit, simply add `[ci build]` anywhere in your commit message.
PR, simply add `[ci build]` anywhere in the PR description.

### Skipping CHANGELOG.md change assertions

Expand Down
2 changes: 1 addition & 1 deletion docs/product/shortcuts.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ further investigation.
| Shortcut | Action |
| -------- | ------ |
| <kbd>tab</kbd> | Show / hide node searcher. |
| <kbd>backspace</kbd> | Remove selected nodes. |
| <kbd>backspace</kbd> or <kbd>delete</kbd> | Remove selected nodes. |
| <kbd>cmd</kbd>+<kbd>g</kbd> | Collapse (group) selected nodes. |
| <kbd>meta</kbd>+<kbd>LMB</kbd> | Start editing node expression. |
| <kbd>meta</kbd>+<kbd>enter</kbd> | Start editing node expression. |
Expand Down
23 changes: 20 additions & 3 deletions src/js/lib/client/src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -61,12 +61,17 @@ const execFile = util.promisify(child_process.execFile);
let usage = `
${pkg.build.productName} ${rootCfg.version} command line interface.
Usage: ${pkg.build.productName} [options]
Usage: ${pkg.build.productName} [options] [--] [backend args]...
`

let epilogue = `
Arguments that follow the two dashes (\`--\`) will be passed to the backend process. They are used\
if IDE spawns backend, i.e. if '--backend false' has not been set.`

let optParser = yargs
.scriptName("")
.usage(usage)
.epilogue(epilogue)
.help()
.version(false)
.parserConfiguration({'populate--':true})
Expand Down Expand Up @@ -116,6 +121,13 @@ optParser.options('backend-path', {

let debugOptionsGroup = 'Debug Options:'

optParser.options('verbose', {
group : debugOptionsGroup,
describe : `Increase logs verbosity. Affects both IDE and the backend.`,
default : false,
type : `boolean`
})

optParser.options('entry-point', {
group : debugOptionsGroup,
describe : 'Run an alternative entry point (e.g. one of the debug scenes)',
Expand Down Expand Up @@ -401,8 +413,12 @@ function spawnProjectManager(args) {

function runBackend() {
if(args.backend !== false) {
console.log("Starting the backend process.")
return spawnProjectManager()
let opts = args['--'] ? args['--'] : []
if(args.verbose === true) {
opts.push('-vv')
}
console.log("Starting the backend process with the following options:", opts)
return spawnProjectManager(opts)
}
}

Expand Down Expand Up @@ -504,6 +520,7 @@ function createWindow() {
crash_report_host : args.crashReportHost,
no_data_gathering : args.noDataGathering,
node_labels : args.nodeLabels,
verbose : args.verbose,
}

if (args.project) { urlCfg.project = args.project }
Expand Down
Loading

0 comments on commit 3463a1e

Please sign in to comment.