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