enso/.github/workflows/nightly.yml

381 lines
16 KiB
YAML

---
name: Nightly Release
"on":
schedule:
- cron: 0 5 * * 2-6
workflow_dispatch: {}
jobs:
enso-build-cli-ci-gen-draft-release-linux:
name: Create release draft
runs-on:
- self-hosted
- Linux
- engine
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: Setup the Artifact API environment
uses: actions/github-script@v6
with:
script: "core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\ncore.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\ncore.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])"
- name: Checking out the repository
uses: actions/checkout@v2
with:
clean: true
- name: Build Script Setup
run: "./run --help"
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
- id: prepare
run: "./run release create-draft"
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
outputs:
ENSO_RELEASE_ID: "${{ steps.prepare.outputs.ENSO_RELEASE_ID }}"
ENSO_VERSION: "${{ steps.prepare.outputs.ENSO_VERSION }}"
enso-build-cli-ci-gen-job-build-wasm-linux:
name: Build GUI (WASM) (linux)
runs-on:
- self-hosted
- Linux
- engine
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: Setup the Artifact API environment
uses: actions/github-script@v6
with:
script: "core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\ncore.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\ncore.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])"
- name: Checking out the repository
uses: actions/checkout@v2
with:
clean: true
- name: Build Script Setup
run: "./run --help"
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
- run: "./run --upload-artifacts ${{ runner.os == 'Linux' }} wasm build"
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
- name: List files if failed
run: ls -lR
if: failure()
enso-build-cli-ci-gen-job-upload-backend-linux:
name: Upload Backend (linux)
needs:
- enso-build-cli-ci-gen-draft-release-linux
runs-on:
- self-hosted
- Linux
- engine
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: Setup the Artifact API environment
uses: actions/github-script@v6
with:
script: "core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\ncore.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\ncore.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])"
- name: Checking out the repository
uses: actions/checkout@v2
with:
clean: true
- name: Build Script Setup
run: "./run --help"
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
- run: "./run backend upload"
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
- name: List files if failed
run: ls -lR
if: failure()
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}}"
enso-build-cli-ci-gen-job-upload-backend-macos:
name: Upload Backend (macos)
needs:
- enso-build-cli-ci-gen-draft-release-linux
runs-on:
- macos-latest
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: Setup the Artifact API environment
uses: actions/github-script@v6
with:
script: "core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\ncore.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\ncore.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])"
- name: Checking out the repository
uses: actions/checkout@v2
with:
clean: true
- name: Build Script Setup
run: "./run --help"
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
- run: "./run backend upload"
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
- name: List files if failed
run: ls -lR
if: failure()
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}}"
enso-build-cli-ci-gen-job-upload-backend-windows:
name: Upload Backend (windows)
needs:
- enso-build-cli-ci-gen-draft-release-linux
runs-on:
- self-hosted
- Windows
- engine
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: Setup the Artifact API environment
uses: actions/github-script@v6
with:
script: "core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\ncore.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\ncore.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])"
- name: Checking out the repository
uses: actions/checkout@v2
with:
clean: true
- name: Build Script Setup
run: "./run --help"
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
- run: "./run backend upload"
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
- name: List files if failed
run: ls -lR
if: failure()
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}}"
enso-build-cli-ci-gen-publish-release-linux:
name: Publish release (linux)
needs:
- enso-build-cli-ci-gen-draft-release-linux
- enso-build-cli-ci-gen-upload-ide-linux
- enso-build-cli-ci-gen-upload-ide-macos
- enso-build-cli-ci-gen-upload-ide-windows
runs-on:
- self-hosted
- Linux
- engine
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: Setup the Artifact API environment
uses: actions/github-script@v6
with:
script: "core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\ncore.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\ncore.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])"
- name: Checking out the repository
uses: actions/checkout@v2
with:
clean: true
- name: Build Script Setup
run: "./run --help"
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
- run: "./run release publish"
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
- name: List files if failed
run: ls -lR
if: failure()
env:
AWS_ACCESS_KEY_ID: "${{ secrets.ARTEFACT_S3_ACCESS_KEY_ID }}"
AWS_REGION: us-west-1
AWS_SECRET_ACCESS_KEY: "${{ secrets.ARTEFACT_S3_SECRET_ACCESS_KEY }}"
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}}"
enso-build-cli-ci-gen-upload-ide-linux:
name: Build IDE (linux)
needs:
- enso-build-cli-ci-gen-draft-release-linux
- enso-build-cli-ci-gen-job-build-wasm-linux
- enso-build-cli-ci-gen-job-upload-backend-linux
runs-on:
- self-hosted
- Linux
- engine
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: Setup the Artifact API environment
uses: actions/github-script@v6
with:
script: "core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\ncore.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\ncore.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])"
- name: Checking out the repository
uses: actions/checkout@v2
with:
clean: true
- name: Build Script Setup
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}}"
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
- name: List files if failed
run: ls -lR
if: failure()
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}}"
enso-build-cli-ci-gen-upload-ide-macos:
name: Build IDE (macos)
needs:
- enso-build-cli-ci-gen-draft-release-linux
- enso-build-cli-ci-gen-job-build-wasm-linux
- enso-build-cli-ci-gen-job-upload-backend-macos
runs-on:
- macos-latest
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: Setup the Artifact API environment
uses: actions/github-script@v6
with:
script: "core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\ncore.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\ncore.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])"
- name: Checking out the repository
uses: actions/checkout@v2
with:
clean: true
- name: Build Script Setup
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}}"
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
- name: List files if failed
run: ls -lR
if: failure()
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}}"
enso-build-cli-ci-gen-upload-ide-windows:
name: Build IDE (windows)
needs:
- enso-build-cli-ci-gen-draft-release-linux
- enso-build-cli-ci-gen-job-build-wasm-linux
- enso-build-cli-ci-gen-job-upload-backend-windows
runs-on:
- self-hosted
- Windows
- engine
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: Setup the Artifact API environment
uses: actions/github-script@v6
with:
script: "core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\ncore.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\ncore.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])"
- name: Checking out the repository
uses: actions/checkout@v2
with:
clean: true
- name: Build Script Setup
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}}"
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
- name: List files if failed
run: ls -lR
if: failure()
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}}"
env:
ENSO_BUILD_KIND: nightly
ENSO_BUILD_SKIP_VERSION_CHECK: "true"
RUST_BACKTRACE: full
concurrency: release