mirror of
https://github.com/enso-org/enso.git
synced 2024-12-24 15:51:54 +03:00
60 lines
1.8 KiB
YAML
60 lines
1.8 KiB
YAML
name: Nightly Release CI
|
|
|
|
env:
|
|
# Specifies how many nightly releases should be kept. Any older releases are removed.
|
|
NIGHTLIES_TO_KEEP: 20
|
|
GITHUB_TOKEN: ${{ github.token }}
|
|
|
|
# To prevent race conditions, we allow only a single release workflow at the same time.
|
|
concurrency: "releases"
|
|
|
|
on:
|
|
schedule:
|
|
- cron: "0 4 * * 2-6" # 4am (UTC) from Tuesday to Saturday (i.e. after every workday)
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
prepare:
|
|
runs-on: [self-hosted]
|
|
outputs:
|
|
ENSO_VERSION: ${{ steps.prepare-step.outputs.ENSO_VERSION }}
|
|
ENSO_RELEASE_ID: ${{ steps.prepare-step.outputs.ENSO_RELEASE_ID }}
|
|
steps:
|
|
- uses: enso-org/ci-build/actions/install@deployed
|
|
- run: enso-build enso --kind nightly create-release
|
|
id: prepare-step
|
|
|
|
build:
|
|
needs: prepare
|
|
env:
|
|
ENSO_VERSION: ${{needs.prepare.outputs.ENSO_VERSION}}
|
|
ENSO_RELEASE_ID: ${{needs.prepare.outputs.ENSO_RELEASE_ID}}
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
matrix:
|
|
os:
|
|
- [macos-latest]
|
|
- [self-hosted, Windows, engine]
|
|
- [self-hosted, Linux, engine]
|
|
fail-fast: false
|
|
|
|
steps:
|
|
- uses: enso-org/ci-build/actions/install@deployed
|
|
- run: enso-build enso --kind nightly upload-asset
|
|
|
|
finish:
|
|
runs-on: [self-hosted]
|
|
needs: [prepare, build]
|
|
env:
|
|
ENSO_VERSION: ${{needs.prepare.outputs.ENSO_VERSION}}
|
|
ENSO_RELEASE_ID: ${{needs.prepare.outputs.ENSO_RELEASE_ID}}
|
|
steps:
|
|
- uses: enso-org/ci-build/actions/install@deployed
|
|
- name: Prepare release
|
|
run: enso-build enso --kind nightly publish-release
|
|
env:
|
|
GITHUB_TOKEN: ${{ github.token }}
|
|
AWS_ACCESS_KEY_ID: ${{ secrets.ARTEFACT_S3_ACCESS_KEY_ID }}
|
|
AWS_SECRET_ACCESS_KEY: ${{ secrets.ARTEFACT_S3_SECRET_ACCESS_KEY }}
|
|
AWS_REGION: us-west-1
|