enso/.github/workflows/scala-new.yml

76 lines
2.3 KiB
YAML
Raw Normal View History

# This is the new, in progress, Build Workflow for the Enso Engine.
name: Engine CI (new)
on:
push:
branches: [develop, "release/*"]
pull_request:
branches: ["*"]
workflow_dispatch:
jobs:
test_and_publish:
name: Engine
runs-on:
- ${{ matrix.os }}
- self-hosted
- engine
timeout-minutes: 90
strategy:
matrix:
# The macOS support is not yet done. For now, the GitHub-hosted runner
# in the old workflow should be relied upon.
os: [Windows, Linux]
fail-fast: false
steps:
- uses: actions/checkout@v2
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
working-directory: ${{ github.workspace }}/ci-build
#####################
# PUBLISH ARTIFACTS #
#####################
- name: Publish the Engine Distribution Artifact
uses: actions/upload-artifact@v2
with:
name: ${{ env.ENGINE_DIST_NAME }}
# Irregular, engine is pre-zipped to avoid long paths issues of nodejs.
path: ${{ env.ENGINE_DIST_ARCHIVE }}
- 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