2022-01-17 21:21:34 +03:00
|
|
|
# This is the new, in progress, Build Workflow for the Enso Engine.
|
|
|
|
|
2022-02-07 17:14:32 +03:00
|
|
|
name: Engine CI (new)
|
2021-12-27 19:56:35 +03:00
|
|
|
|
|
|
|
on:
|
|
|
|
push:
|
|
|
|
branches: [develop, "release/*"]
|
|
|
|
pull_request:
|
|
|
|
branches: ["*"]
|
|
|
|
workflow_dispatch:
|
|
|
|
|
|
|
|
jobs:
|
|
|
|
test_and_publish:
|
|
|
|
name: Engine
|
|
|
|
runs-on:
|
|
|
|
- ${{ matrix.os }}
|
|
|
|
- self-hosted
|
|
|
|
- engine
|
2022-02-07 17:14:32 +03:00
|
|
|
timeout-minutes: 90
|
2021-12-27 19:56:35 +03:00
|
|
|
strategy:
|
|
|
|
matrix:
|
2022-01-17 21:21:34 +03:00
|
|
|
# The macOS support is not yet done. For now, the GitHub-hosted runner
|
|
|
|
# in the old workflow should be relied upon.
|
2021-12-27 19:56:35 +03:00
|
|
|
os: [Windows, Linux]
|
|
|
|
fail-fast: false
|
|
|
|
steps:
|
|
|
|
- uses: actions/checkout@v2
|
2022-01-17 21:21:34 +03:00
|
|
|
with:
|
|
|
|
clean: false
|
|
|
|
path: ci-build
|
|
|
|
ref: deployed
|
|
|
|
repository: enso-org/ci-build
|
|
|
|
- uses: actions/checkout@v2
|
|
|
|
with:
|
|
|
|
path: enso
|
2022-02-15 16:20:47 +03:00
|
|
|
- run: cargo run --release --bin enso-build -- ${{ github.workspace }}/enso build
|
2022-01-17 21:21:34 +03:00
|
|
|
working-directory: ${{ github.workspace }}/ci-build
|
2021-12-27 19:56:35 +03:00
|
|
|
|
|
|
|
#####################
|
|
|
|
# PUBLISH ARTIFACTS #
|
|
|
|
#####################
|
|
|
|
- name: Publish the Engine Distribution Artifact
|
|
|
|
uses: actions/upload-artifact@v2
|
|
|
|
with:
|
|
|
|
name: ${{ env.ENGINE_DIST_NAME }}
|
2022-02-07 17:14:32 +03:00
|
|
|
# Irregular, engine is pre-zipped to avoid long paths issues of nodejs.
|
|
|
|
path: ${{ env.ENGINE_DIST_ARCHIVE }}
|
2021-12-27 19:56:35 +03:00
|
|
|
- name: Publish the Launcher
|
|
|
|
uses: actions/upload-artifact@v2
|
|
|
|
with:
|
|
|
|
name: ${{ env.LAUNCHER_DIST_NAME }}
|
|
|
|
path: ${{ env.LAUNCHER_DIST_ROOT }}
|
|
|
|
- name: Publish the Project Manager
|
|
|
|
uses: actions/upload-artifact@v2
|
|
|
|
with:
|
|
|
|
name: ${{ env.PROJECTMANAGER_DIST_NAME }}
|
|
|
|
path: ${{ env.PROJECTMANAGER_DIST_ROOT }}
|
|
|
|
- name: Publish the FlatBuffers Schemas
|
|
|
|
if: runner.os == 'Linux'
|
|
|
|
uses: actions/upload-artifact@v2
|
|
|
|
with:
|
|
|
|
name: Engine Protocol FlatBuffers Schemas
|
|
|
|
path: ${{ env.TARGET_DIR }}/fbs-upload/fbs-schema.zip
|
|
|
|
- name: Publish the Parser JS Bundle
|
|
|
|
if: runner.os == 'Linux'
|
|
|
|
uses: actions/upload-artifact@v2
|
|
|
|
with:
|
|
|
|
name: Parser JS Bundle
|
|
|
|
path: ${{ env.TARGET_DIR }}/scala-parser.js
|
|
|
|
- name: Publish the Manifest
|
|
|
|
if: runner.os == 'Linux'
|
|
|
|
uses: actions/upload-artifact@v2
|
|
|
|
with:
|
|
|
|
name: manifest
|
|
|
|
path: ${{ env.ENGINE_DIST_DIR }}/manifest.yaml
|