Skip to content

Commit

Permalink
Build Script Post-Gui1 Cleanup (enso-org#9376)
Browse files Browse the repository at this point in the history
This PR:
* removes much of logic related to building and packaging the gui1;
* made `./run gui` and `./run ide` work with the new gui;
* rename numerous references to the "gui2" or "new gui" in favor of simply "gui", same for "ide".
  • Loading branch information
mwu-tow authored Mar 12, 2024
1 parent a5a729a commit d9ca6cf
Show file tree
Hide file tree
Showing 25 changed files with 319 additions and 1,746 deletions.
78 changes: 39 additions & 39 deletions .github/workflows/gui.yml
Original file line number Diff line number Diff line change
Expand Up @@ -173,8 +173,8 @@ jobs:
access_token: ${{ github.token }}
permissions:
actions: write
enso-build-ci-gen-job-lint-linux-x86_64:
name: Lint (linux, x86_64)
enso-build-ci-gen-job-gui-test-linux-x86_64:
name: GUI tests (linux, x86_64)
runs-on:
- self-hosted
- Linux
Expand Down Expand Up @@ -208,7 +208,7 @@ jobs:
run: ./run git-clean
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- run: ./run lint
- run: ./run gui test
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- if: failure() && runner.os == 'Windows'
Expand All @@ -222,8 +222,8 @@ jobs:
run: ./run git-clean
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
enso-build-ci-gen-job-native-test-linux-x86_64:
name: Native GUI tests (linux, x86_64)
enso-build-ci-gen-job-lint-linux-x86_64:
name: Lint (linux, x86_64)
runs-on:
- self-hosted
- Linux
Expand Down Expand Up @@ -257,7 +257,7 @@ jobs:
run: ./run git-clean
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- run: ./run wasm test --no-wasm
- run: ./run lint
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- if: failure() && runner.os == 'Windows'
Expand All @@ -271,8 +271,8 @@ jobs:
run: ./run git-clean
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
enso-build-ci-gen-job-new-gui-build-linux-x86_64:
name: New (Vue) GUI build (linux, x86_64)
enso-build-ci-gen-job-native-test-linux-x86_64:
name: Native Rust tests (linux, x86_64)
runs-on:
- self-hosted
- Linux
Expand Down Expand Up @@ -306,18 +306,8 @@ jobs:
run: ./run git-clean
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- run: ./run gui2 build
- run: ./run wasm test --no-wasm
env:
ENSO_CLOUD_API_URL: ${{ vars.ENSO_CLOUD_API_URL }}
ENSO_CLOUD_CHAT_URL: ${{ vars.ENSO_CLOUD_CHAT_URL }}
ENSO_CLOUD_COGNITO_DOMAIN: ${{ vars.ENSO_CLOUD_COGNITO_DOMAIN }}
ENSO_CLOUD_COGNITO_REGION: ${{ vars.ENSO_CLOUD_COGNITO_REGION }}
ENSO_CLOUD_COGNITO_USER_POOL_ID: ${{ vars.ENSO_CLOUD_COGNITO_USER_POOL_ID }}
ENSO_CLOUD_COGNITO_USER_POOL_WEB_CLIENT_ID: ${{ vars.ENSO_CLOUD_COGNITO_USER_POOL_WEB_CLIENT_ID }}
ENSO_CLOUD_ENVIRONMENT: ${{ vars.ENSO_CLOUD_ENVIRONMENT }}
ENSO_CLOUD_REDIRECT: ${{ vars.ENSO_CLOUD_REDIRECT }}
ENSO_CLOUD_SENTRY_DSN: ${{ vars.ENSO_CLOUD_SENTRY_DSN }}
ENSO_CLOUD_STRIPE_KEY: ${{ vars.ENSO_CLOUD_STRIPE_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- if: failure() && runner.os == 'Windows'
name: List files if failed (Windows)
Expand All @@ -330,10 +320,11 @@ jobs:
run: ./run git-clean
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
enso-build-ci-gen-job-new-gui-build-macos-x86_64:
name: New (Vue) GUI build (macos, x86_64)
enso-build-ci-gen-job-new-gui-build-linux-x86_64:
name: GUI build (linux, x86_64)
runs-on:
- macos-latest
- self-hosted
- Linux
steps:
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
name: Setup conda (GH runners only)
Expand Down Expand Up @@ -364,7 +355,7 @@ jobs:
run: ./run git-clean
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- run: ./run gui2 build
- run: ./run gui build
env:
ENSO_CLOUD_API_URL: ${{ vars.ENSO_CLOUD_API_URL }}
ENSO_CLOUD_CHAT_URL: ${{ vars.ENSO_CLOUD_CHAT_URL }}
Expand All @@ -388,11 +379,10 @@ jobs:
run: ./run git-clean
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
enso-build-ci-gen-job-new-gui-build-windows-x86_64:
name: New (Vue) GUI build (windows, x86_64)
enso-build-ci-gen-job-new-gui-build-macos-x86_64:
name: GUI build (macos, x86_64)
runs-on:
- self-hosted
- Windows
- macos-latest
steps:
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
name: Setup conda (GH runners only)
Expand Down Expand Up @@ -423,7 +413,7 @@ jobs:
run: ./run git-clean
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- run: ./run gui2 build
- run: ./run gui build
env:
ENSO_CLOUD_API_URL: ${{ vars.ENSO_CLOUD_API_URL }}
ENSO_CLOUD_CHAT_URL: ${{ vars.ENSO_CLOUD_CHAT_URL }}
Expand All @@ -447,11 +437,11 @@ jobs:
run: ./run git-clean
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
enso-build-ci-gen-job-new-gui-test-linux-x86_64:
name: New (Vue) GUI tests (linux, x86_64)
enso-build-ci-gen-job-new-gui-build-windows-x86_64:
name: GUI build (windows, x86_64)
runs-on:
- self-hosted
- Linux
- Windows
steps:
- if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent')
name: Setup conda (GH runners only)
Expand Down Expand Up @@ -482,8 +472,18 @@ jobs:
run: ./run git-clean
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- run: ./run gui2 test
- run: ./run gui build
env:
ENSO_CLOUD_API_URL: ${{ vars.ENSO_CLOUD_API_URL }}
ENSO_CLOUD_CHAT_URL: ${{ vars.ENSO_CLOUD_CHAT_URL }}
ENSO_CLOUD_COGNITO_DOMAIN: ${{ vars.ENSO_CLOUD_COGNITO_DOMAIN }}
ENSO_CLOUD_COGNITO_REGION: ${{ vars.ENSO_CLOUD_COGNITO_REGION }}
ENSO_CLOUD_COGNITO_USER_POOL_ID: ${{ vars.ENSO_CLOUD_COGNITO_USER_POOL_ID }}
ENSO_CLOUD_COGNITO_USER_POOL_WEB_CLIENT_ID: ${{ vars.ENSO_CLOUD_COGNITO_USER_POOL_WEB_CLIENT_ID }}
ENSO_CLOUD_ENVIRONMENT: ${{ vars.ENSO_CLOUD_ENVIRONMENT }}
ENSO_CLOUD_REDIRECT: ${{ vars.ENSO_CLOUD_REDIRECT }}
ENSO_CLOUD_SENTRY_DSN: ${{ vars.ENSO_CLOUD_SENTRY_DSN }}
ENSO_CLOUD_STRIPE_KEY: ${{ vars.ENSO_CLOUD_STRIPE_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- if: failure() && runner.os == 'Windows'
name: List files if failed (Windows)
Expand All @@ -496,7 +496,7 @@ jobs:
run: ./run git-clean
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
enso-build-ci-gen-job-package-new-ide-linux-x86_64:
enso-build-ci-gen-job-package-ide-linux-x86_64:
name: Package New IDE (linux, x86_64)
needs:
- enso-build-ci-gen-job-build-backend-linux-x86_64
Expand Down Expand Up @@ -533,7 +533,7 @@ jobs:
run: ./run git-clean
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- run: ./run ide2 build --backend-source current-ci-run --gui2-upload-artifact false
- run: ./run ide build --backend-source current-ci-run --gui-upload-artifact false
env:
ENSO_CLOUD_API_URL: ${{ vars.ENSO_CLOUD_API_URL }}
ENSO_CLOUD_CHAT_URL: ${{ vars.ENSO_CLOUD_CHAT_URL }}
Expand All @@ -557,7 +557,7 @@ jobs:
run: ./run git-clean
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
enso-build-ci-gen-job-package-new-ide-macos-x86_64:
enso-build-ci-gen-job-package-ide-macos-x86_64:
name: Package New IDE (macos, x86_64)
needs:
- enso-build-ci-gen-job-build-backend-macos-x86_64
Expand Down Expand Up @@ -599,7 +599,7 @@ jobs:
run: npm uninstall --save --workspace enso electron-builder
- name: Install new Electron Builder
run: npm install --save-dev --workspace enso [email protected]
- run: ./run ide2 build --backend-source current-ci-run --gui2-upload-artifact false
- run: ./run ide build --backend-source current-ci-run --gui-upload-artifact false
env:
APPLEID: ${{ secrets.APPLE_NOTARIZATION_USERNAME }}
APPLEIDPASS: ${{ secrets.APPLE_NOTARIZATION_PASSWORD }}
Expand Down Expand Up @@ -630,7 +630,7 @@ jobs:
run: ./run git-clean
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
enso-build-ci-gen-job-package-new-ide-windows-x86_64:
enso-build-ci-gen-job-package-ide-windows-x86_64:
name: Package New IDE (windows, x86_64)
needs:
- enso-build-ci-gen-job-build-backend-windows-x86_64
Expand Down Expand Up @@ -667,7 +667,7 @@ jobs:
run: ./run git-clean
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- run: ./run ide2 build --backend-source current-ci-run --gui2-upload-artifact false
- run: ./run ide build --backend-source current-ci-run --gui-upload-artifact false
env:
ENSO_CLOUD_API_URL: ${{ vars.ENSO_CLOUD_API_URL }}
ENSO_CLOUD_CHAT_URL: ${{ vars.ENSO_CLOUD_CHAT_URL }}
Expand All @@ -694,7 +694,7 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
enso-build-ci-gen-job-wasm-test-linux-x86_64:
name: WASM GUI tests (linux, x86_64)
name: WASM tests (linux, x86_64)
runs-on:
- self-hosted
- Linux
Expand Down
32 changes: 16 additions & 16 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -273,10 +273,10 @@ jobs:
name: Publish release (linux, x86_64)
needs:
- enso-build-ci-gen-draft-release-linux-x86_64
- enso-build-ci-gen-upload-ide2-linux-x86_64
- enso-build-ci-gen-upload-ide2-macos-aarch64
- enso-build-ci-gen-upload-ide2-macos-x86_64
- enso-build-ci-gen-upload-ide2-windows-x86_64
- enso-build-ci-gen-upload-ide-linux-x86_64
- enso-build-ci-gen-upload-ide-macos-aarch64
- enso-build-ci-gen-upload-ide-macos-x86_64
- enso-build-ci-gen-upload-ide-windows-x86_64
runs-on:
- self-hosted
- Linux
Expand Down Expand Up @@ -330,8 +330,8 @@ jobs:
AWS_SECRET_ACCESS_KEY: ${{ secrets.ARTEFACT_S3_SECRET_ACCESS_KEY }}
ENSO_RELEASE_ID: ${{ needs.enso-build-ci-gen-draft-release-linux-x86_64.outputs.ENSO_RELEASE_ID }}
ENSO_VERSION: ${{ needs.enso-build-ci-gen-draft-release-linux-x86_64.outputs.ENSO_VERSION }}
enso-build-ci-gen-upload-ide2-linux-x86_64:
name: Build New IDE (linux, x86_64)
enso-build-ci-gen-upload-ide-linux-x86_64:
name: Build IDE (linux, x86_64)
needs:
- enso-build-ci-gen-draft-release-linux-x86_64
- enso-build-ci-gen-job-upload-backend-linux-x86_64
Expand Down Expand Up @@ -368,7 +368,7 @@ jobs:
run: ./run git-clean
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- run: ./run ide2 upload --backend-source release --backend-release ${{env.ENSO_RELEASE_ID}}
- run: ./run ide upload --backend-source release --backend-release ${{env.ENSO_RELEASE_ID}}
env:
ENSO_CLOUD_API_URL: ${{ vars.ENSO_CLOUD_API_URL }}
ENSO_CLOUD_CHAT_URL: ${{ vars.ENSO_CLOUD_CHAT_URL }}
Expand All @@ -395,8 +395,8 @@ jobs:
env:
ENSO_RELEASE_ID: ${{ needs.enso-build-ci-gen-draft-release-linux-x86_64.outputs.ENSO_RELEASE_ID }}
ENSO_VERSION: ${{ needs.enso-build-ci-gen-draft-release-linux-x86_64.outputs.ENSO_VERSION }}
enso-build-ci-gen-upload-ide2-macos-aarch64:
name: Build New IDE (macos, aarch64)
enso-build-ci-gen-upload-ide-macos-aarch64:
name: Build IDE (macos, aarch64)
needs:
- enso-build-ci-gen-draft-release-linux-x86_64
- enso-build-ci-gen-job-upload-backend-macos-aarch64
Expand Down Expand Up @@ -440,7 +440,7 @@ jobs:
run: npm uninstall --save --workspace enso electron-builder
- name: Install new Electron Builder
run: npm install --save-dev --workspace enso [email protected]
- run: ./run ide2 upload --backend-source release --backend-release ${{env.ENSO_RELEASE_ID}}
- run: ./run ide upload --backend-source release --backend-release ${{env.ENSO_RELEASE_ID}}
env:
APPLEID: ${{ secrets.APPLE_NOTARIZATION_USERNAME }}
APPLEIDPASS: ${{ secrets.APPLE_NOTARIZATION_PASSWORD }}
Expand Down Expand Up @@ -474,8 +474,8 @@ jobs:
env:
ENSO_RELEASE_ID: ${{ needs.enso-build-ci-gen-draft-release-linux-x86_64.outputs.ENSO_RELEASE_ID }}
ENSO_VERSION: ${{ needs.enso-build-ci-gen-draft-release-linux-x86_64.outputs.ENSO_VERSION }}
enso-build-ci-gen-upload-ide2-macos-x86_64:
name: Build New IDE (macos, x86_64)
enso-build-ci-gen-upload-ide-macos-x86_64:
name: Build IDE (macos, x86_64)
needs:
- enso-build-ci-gen-draft-release-linux-x86_64
- enso-build-ci-gen-job-upload-backend-macos-x86_64
Expand Down Expand Up @@ -517,7 +517,7 @@ jobs:
run: npm uninstall --save --workspace enso electron-builder
- name: Install new Electron Builder
run: npm install --save-dev --workspace enso [email protected]
- run: ./run ide2 upload --backend-source release --backend-release ${{env.ENSO_RELEASE_ID}}
- run: ./run ide upload --backend-source release --backend-release ${{env.ENSO_RELEASE_ID}}
env:
APPLEID: ${{ secrets.APPLE_NOTARIZATION_USERNAME }}
APPLEIDPASS: ${{ secrets.APPLE_NOTARIZATION_PASSWORD }}
Expand Down Expand Up @@ -551,8 +551,8 @@ jobs:
env:
ENSO_RELEASE_ID: ${{ needs.enso-build-ci-gen-draft-release-linux-x86_64.outputs.ENSO_RELEASE_ID }}
ENSO_VERSION: ${{ needs.enso-build-ci-gen-draft-release-linux-x86_64.outputs.ENSO_VERSION }}
enso-build-ci-gen-upload-ide2-windows-x86_64:
name: Build New IDE (windows, x86_64)
enso-build-ci-gen-upload-ide-windows-x86_64:
name: Build IDE (windows, x86_64)
needs:
- enso-build-ci-gen-draft-release-linux-x86_64
- enso-build-ci-gen-job-upload-backend-windows-x86_64
Expand Down Expand Up @@ -589,7 +589,7 @@ jobs:
run: ./run git-clean
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- run: ./run ide2 upload --backend-source release --backend-release ${{env.ENSO_RELEASE_ID}}
- run: ./run ide upload --backend-source release --backend-release ${{env.ENSO_RELEASE_ID}}
env:
ENSO_CLOUD_API_URL: ${{ vars.ENSO_CLOUD_API_URL }}
ENSO_CLOUD_CHAT_URL: ${{ vars.ENSO_CLOUD_CHAT_URL }}
Expand Down
2 changes: 1 addition & 1 deletion app/gui2/scripts/downloadFonts.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/** @file ⚠️⚠️⚠️ THIS SCRIPT IS PROVIDED ONLY FOR CONVENIENCE. ⚠️⚠️⚠️
* The sources of truth are at `build/build/src/project/gui2.rs` and
* The sources of truth are at `build/build/src/project/gui.rs` and
* `build/build/src/ide/web/fonts.rs`. */

import * as fsSync from 'node:fs'
Expand Down
13 changes: 2 additions & 11 deletions build/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,22 +68,13 @@ Artifacts are platform specific and consist of the single image file.

### GUI

GUI is the front-end part of the project. It consists of `WASM` target.

Sources consist mostly of TS code for the web page that embeds the `WASM`
binaries.
GUI is the front-end part of the project. It also packages WASM-compiled parser
written in rust.

Artifacts are portable across the platforms and consist of the web page that can
be served either using Electron client (as IDE does) or using a web server (like
the Cloud version of Enso).

### WASM

This is the core of GUI, written in Rust. It has no external dependencies.

Artifacts are portable across the platforms and consist of the single WASM
binary accompanied by the JS snippets and glue.

### Backend

Backend is the back-end part of the project, as seen from the IDE perspective.
Expand Down
9 changes: 0 additions & 9 deletions build/build/paths.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -63,15 +63,6 @@
type: project_manager_bundle
var: project_manager_bundle
dist/:
gui/:
assets/:
dynamic-assets/: # Assets used by the WASM application.
pkg.js: # The `pkg.js` artifact of wasm-pack WITH bundled snippets.
pkg.js.map: # The sourcemap mapping to `pkg.js` generated by wasm-pack.
pkg-opt.wasm: # The optimized WASM artifact.
entrypoint.js:
style.css:

gui2/:
assets/:

Expand Down
8 changes: 4 additions & 4 deletions build/build/release-body.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@ Enso IDE is the main product of the Enso project. The packages are stand-alone,

Download links:

- [Linux]({{download_prefix}}/ide2-enso-linux-x86_64-{{version}}.AppImage) (AppImage);
- [macOS (x64)]({{download_prefix}}/ide2-enso-mac-x64-{{version}}.dmg) (DMG);
- [macOS (arm64)]({{download_prefix}}/ide2-enso-mac-arm64-{{version}}.dmg) (DMG);
- [Windows]({{download_prefix}}/ide2-enso-win-x64-{{version}}.exe) (Installer Executable).
- [Linux]({{download_prefix}}/enso-linux-x86_64-{{version}}.AppImage) (AppImage);
- [macOS (x64)]({{download_prefix}}/enso-mac-x64-{{version}}.dmg) (DMG);
- [macOS (arm64)]({{download_prefix}}/enso-mac-arm64-{{version}}.dmg) (DMG);
- [Windows]({{download_prefix}}/enso-win-x64-{{version}}.exe) (Installer Executable).

This is the recommended download for most users.

Expand Down
Loading

0 comments on commit d9ca6cf

Please sign in to comment.