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: - if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent') name: Setup conda (GH runners only) uses: s-weigand/setup-conda@v1.0.5 with: update-conda: false conda-channels: anaconda, conda-forge - if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent') name: Installing wasm-pack uses: jetli/wasm-pack-action@v0.3.0 with: version: v0.10.2 - name: Expose Artifact API and context information. uses: actions/github-script@v6 with: script: "\n core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\n core.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\n core.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])\n console.log(context)\n " - if: runner.os == 'Windows' name: Workaround for https://github.com/actions/checkout/issues/590 (Windows) run: '"c:\Program Files\Git\bin\bash.exe" -c "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :"' shell: cmd - if: runner.os != 'Windows' name: Workaround for https://github.com/actions/checkout/issues/590 (non-Windows) run: "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :" shell: bash - name: Checking out the repository uses: actions/checkout@v2 with: clean: false submodules: recursive - name: Build Script Setup run: ./run --help env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} timeout-minutes: 360 - id: prepare run: ./run release create-draft env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} timeout-minutes: 360 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: - if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent') name: Setup conda (GH runners only) uses: s-weigand/setup-conda@v1.0.5 with: update-conda: false conda-channels: anaconda, conda-forge - if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent') name: Installing wasm-pack uses: jetli/wasm-pack-action@v0.3.0 with: version: v0.10.2 - name: Expose Artifact API and context information. uses: actions/github-script@v6 with: script: "\n core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\n core.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\n core.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])\n console.log(context)\n " - if: runner.os == 'Windows' name: Workaround for https://github.com/actions/checkout/issues/590 (Windows) run: '"c:\Program Files\Git\bin\bash.exe" -c "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :"' shell: cmd - if: runner.os != 'Windows' name: Workaround for https://github.com/actions/checkout/issues/590 (non-Windows) run: "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :" shell: bash - name: Checking out the repository uses: actions/checkout@v2 with: clean: false submodules: recursive - name: Build Script Setup run: ./run --help env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} timeout-minutes: 360 - if: "contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')" name: Clean before run: ./run git-clean env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} timeout-minutes: 360 - run: ./run --upload-artifacts ${{ runner.os == 'Linux' }} wasm build env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} timeout-minutes: 360 - if: failure() && runner.os == 'Windows' name: List files if failed (Windows) run: Get-ChildItem -Force -Recurse - if: failure() && runner.os != 'Windows' name: List files if failed (non-Windows) run: ls -lAR - if: "always() && always() && contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')" name: Clean after run: ./run git-clean env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} timeout-minutes: 360 enso-build-cli-ci-gen-job-deploy-gui-linux: name: Upload GUI to S3 (linux) needs: - enso-build-cli-ci-gen-upload-ide-linux runs-on: - self-hosted - Linux - engine steps: - if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent') name: Setup conda (GH runners only) uses: s-weigand/setup-conda@v1.0.5 with: update-conda: false conda-channels: anaconda, conda-forge - if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent') name: Installing wasm-pack uses: jetli/wasm-pack-action@v0.3.0 with: version: v0.10.2 - name: Expose Artifact API and context information. uses: actions/github-script@v6 with: script: "\n core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\n core.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\n core.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])\n console.log(context)\n " - if: runner.os == 'Windows' name: Workaround for https://github.com/actions/checkout/issues/590 (Windows) run: '"c:\Program Files\Git\bin\bash.exe" -c "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :"' shell: cmd - if: runner.os != 'Windows' name: Workaround for https://github.com/actions/checkout/issues/590 (non-Windows) run: "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :" shell: bash - name: Checking out the repository uses: actions/checkout@v2 with: clean: false submodules: recursive - name: Build Script Setup run: ./run --help env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} timeout-minutes: 360 - if: "contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')" name: Clean before run: ./run git-clean env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} timeout-minutes: 360 - run: ./run release deploy-gui env: AWS_ACCESS_KEY_ID: ${{ secrets.ARTEFACT_S3_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.ARTEFACT_S3_SECRET_ACCESS_KEY }} GITHUB_TOKEN: ${{ secrets.CI_PRIVATE_TOKEN }} timeout-minutes: 360 - if: failure() && runner.os == 'Windows' name: List files if failed (Windows) run: Get-ChildItem -Force -Recurse - if: failure() && runner.os != 'Windows' name: List files if failed (non-Windows) run: ls -lAR - if: "always() && always() && contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')" name: Clean after run: ./run git-clean env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} timeout-minutes: 360 enso-build-cli-ci-gen-job-deploy-runtime-linux: name: Upload Runtime to ECR (linux) needs: - enso-build-cli-ci-gen-draft-release-linux - enso-build-cli-ci-gen-job-upload-backend-linux runs-on: - self-hosted - Linux - engine steps: - if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent') name: Setup conda (GH runners only) uses: s-weigand/setup-conda@v1.0.5 with: update-conda: false conda-channels: anaconda, conda-forge - if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent') name: Installing wasm-pack uses: jetli/wasm-pack-action@v0.3.0 with: version: v0.10.2 - name: Expose Artifact API and context information. uses: actions/github-script@v6 with: script: "\n core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\n core.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\n core.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])\n console.log(context)\n " - if: runner.os == 'Windows' name: Workaround for https://github.com/actions/checkout/issues/590 (Windows) run: '"c:\Program Files\Git\bin\bash.exe" -c "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :"' shell: cmd - if: runner.os != 'Windows' name: Workaround for https://github.com/actions/checkout/issues/590 (non-Windows) run: "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :" shell: bash - name: Checking out the repository uses: actions/checkout@v2 with: clean: false submodules: recursive - name: Build Script Setup run: ./run --help env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} timeout-minutes: 360 - if: "contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')" name: Clean before run: ./run git-clean env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} timeout-minutes: 360 - run: ./run release deploy-runtime env: AWS_ACCESS_KEY_ID: ${{ secrets.ECR_PUSH_RUNTIME_ACCESS_KEY_ID }} AWS_DEFAULT_REGION: eu-west-1 AWS_SECRET_ACCESS_KEY: ${{ secrets.ECR_PUSH_RUNTIME_SECRET_ACCESS_KEY }} ENSO_BUILD_ECR_REPOSITORY: runtime GITHUB_TOKEN: ${{ secrets.CI_PRIVATE_TOKEN }} timeout-minutes: 360 - if: failure() && runner.os == 'Windows' name: List files if failed (Windows) run: Get-ChildItem -Force -Recurse - if: failure() && runner.os != 'Windows' name: List files if failed (non-Windows) run: ls -lAR - if: "always() && always() && contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')" name: Clean after run: ./run git-clean env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} timeout-minutes: 360 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-linux: name: Upload Backend (linux) needs: - enso-build-cli-ci-gen-draft-release-linux runs-on: - self-hosted - Linux - engine steps: - if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent') name: Setup conda (GH runners only) uses: s-weigand/setup-conda@v1.0.5 with: update-conda: false conda-channels: anaconda, conda-forge - if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent') name: Installing wasm-pack uses: jetli/wasm-pack-action@v0.3.0 with: version: v0.10.2 - name: Expose Artifact API and context information. uses: actions/github-script@v6 with: script: "\n core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\n core.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\n core.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])\n console.log(context)\n " - if: runner.os == 'Windows' name: Workaround for https://github.com/actions/checkout/issues/590 (Windows) run: '"c:\Program Files\Git\bin\bash.exe" -c "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :"' shell: cmd - if: runner.os != 'Windows' name: Workaround for https://github.com/actions/checkout/issues/590 (non-Windows) run: "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :" shell: bash - name: Checking out the repository uses: actions/checkout@v2 with: clean: false submodules: recursive - name: Build Script Setup run: ./run --help env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} timeout-minutes: 360 - if: "contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')" name: Clean before run: ./run git-clean env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} timeout-minutes: 360 - run: ./run backend upload env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} timeout-minutes: 360 - if: failure() && runner.os == 'Windows' name: List files if failed (Windows) run: Get-ChildItem -Force -Recurse - if: failure() && runner.os != 'Windows' name: List files if failed (non-Windows) run: ls -lAR - if: "always() && always() && contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')" name: Clean after run: ./run git-clean env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} timeout-minutes: 360 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: - if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent') name: Setup conda (GH runners only) uses: s-weigand/setup-conda@v1.0.5 with: update-conda: false conda-channels: anaconda, conda-forge - if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent') name: Installing wasm-pack uses: jetli/wasm-pack-action@v0.3.0 with: version: v0.10.2 - name: Expose Artifact API and context information. uses: actions/github-script@v6 with: script: "\n core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\n core.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\n core.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])\n console.log(context)\n " - if: runner.os == 'Windows' name: Workaround for https://github.com/actions/checkout/issues/590 (Windows) run: '"c:\Program Files\Git\bin\bash.exe" -c "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :"' shell: cmd - if: runner.os != 'Windows' name: Workaround for https://github.com/actions/checkout/issues/590 (non-Windows) run: "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :" shell: bash - name: Checking out the repository uses: actions/checkout@v2 with: clean: false submodules: recursive - name: Build Script Setup run: ./run --help env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} timeout-minutes: 360 - if: "contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')" name: Clean before run: ./run git-clean env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} timeout-minutes: 360 - run: ./run backend upload env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} timeout-minutes: 360 - if: failure() && runner.os == 'Windows' name: List files if failed (Windows) run: Get-ChildItem -Force -Recurse - if: failure() && runner.os != 'Windows' name: List files if failed (non-Windows) run: ls -lAR - if: "always() && always() && contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')" name: Clean after run: ./run git-clean env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} timeout-minutes: 360 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: - if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent') name: Setup conda (GH runners only) uses: s-weigand/setup-conda@v1.0.5 with: update-conda: false conda-channels: anaconda, conda-forge - if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent') name: Installing wasm-pack uses: jetli/wasm-pack-action@v0.3.0 with: version: v0.10.2 - name: Expose Artifact API and context information. uses: actions/github-script@v6 with: script: "\n core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\n core.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\n core.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])\n console.log(context)\n " - if: runner.os == 'Windows' name: Workaround for https://github.com/actions/checkout/issues/590 (Windows) run: '"c:\Program Files\Git\bin\bash.exe" -c "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :"' shell: cmd - if: runner.os != 'Windows' name: Workaround for https://github.com/actions/checkout/issues/590 (non-Windows) run: "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :" shell: bash - name: Checking out the repository uses: actions/checkout@v2 with: clean: false submodules: recursive - name: Build Script Setup run: ./run --help env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} timeout-minutes: 360 - if: "contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')" name: Clean before run: ./run git-clean env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} timeout-minutes: 360 - run: ./run backend upload env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} timeout-minutes: 360 - if: failure() && runner.os == 'Windows' name: List files if failed (Windows) run: Get-ChildItem -Force -Recurse - if: failure() && runner.os != 'Windows' name: List files if failed (non-Windows) run: ls -lAR - if: "always() && always() && contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')" name: Clean after run: ./run git-clean env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} timeout-minutes: 360 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-job-deploy-gui-linux - enso-build-cli-ci-gen-job-deploy-runtime-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: - if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent') name: Setup conda (GH runners only) uses: s-weigand/setup-conda@v1.0.5 with: update-conda: false conda-channels: anaconda, conda-forge - if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent') name: Installing wasm-pack uses: jetli/wasm-pack-action@v0.3.0 with: version: v0.10.2 - name: Expose Artifact API and context information. uses: actions/github-script@v6 with: script: "\n core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\n core.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\n core.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])\n console.log(context)\n " - if: runner.os == 'Windows' name: Workaround for https://github.com/actions/checkout/issues/590 (Windows) run: '"c:\Program Files\Git\bin\bash.exe" -c "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :"' shell: cmd - if: runner.os != 'Windows' name: Workaround for https://github.com/actions/checkout/issues/590 (non-Windows) run: "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :" shell: bash - name: Checking out the repository uses: actions/checkout@v2 with: clean: false submodules: recursive - name: Build Script Setup run: ./run --help env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} timeout-minutes: 360 - if: "contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')" name: Clean before run: ./run git-clean env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} timeout-minutes: 360 - run: ./run release publish env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} timeout-minutes: 360 - if: failure() && runner.os == 'Windows' name: List files if failed (Windows) run: Get-ChildItem -Force -Recurse - if: failure() && runner.os != 'Windows' name: List files if failed (non-Windows) run: ls -lAR - if: "always() && always() && contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')" name: Clean after run: ./run git-clean env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} timeout-minutes: 360 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: - if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent') name: Setup conda (GH runners only) uses: s-weigand/setup-conda@v1.0.5 with: update-conda: false conda-channels: anaconda, conda-forge - if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent') name: Installing wasm-pack uses: jetli/wasm-pack-action@v0.3.0 with: version: v0.10.2 - name: Expose Artifact API and context information. uses: actions/github-script@v6 with: script: "\n core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\n core.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\n core.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])\n console.log(context)\n " - if: runner.os == 'Windows' name: Workaround for https://github.com/actions/checkout/issues/590 (Windows) run: '"c:\Program Files\Git\bin\bash.exe" -c "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :"' shell: cmd - if: runner.os != 'Windows' name: Workaround for https://github.com/actions/checkout/issues/590 (non-Windows) run: "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :" shell: bash - name: Checking out the repository uses: actions/checkout@v2 with: clean: false submodules: recursive - name: Build Script Setup run: ./run --help env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} timeout-minutes: 360 - if: "contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')" name: Clean before run: ./run git-clean env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} timeout-minutes: 360 - run: ./run ide upload --wasm-source current-ci-run --backend-source release --backend-release ${{env.ENSO_RELEASE_ID}} env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} timeout-minutes: 360 - if: failure() && runner.os == 'Windows' name: List files if failed (Windows) run: Get-ChildItem -Force -Recurse - if: failure() && runner.os != 'Windows' name: List files if failed (non-Windows) run: ls -lAR - if: "always() && always() && contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')" name: Clean after run: ./run git-clean env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} timeout-minutes: 360 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: - if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent') name: Setup conda (GH runners only) uses: s-weigand/setup-conda@v1.0.5 with: update-conda: false conda-channels: anaconda, conda-forge - if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent') name: Installing wasm-pack uses: jetli/wasm-pack-action@v0.3.0 with: version: v0.10.2 - name: Expose Artifact API and context information. uses: actions/github-script@v6 with: script: "\n core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\n core.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\n core.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])\n console.log(context)\n " - if: runner.os == 'Windows' name: Workaround for https://github.com/actions/checkout/issues/590 (Windows) run: '"c:\Program Files\Git\bin\bash.exe" -c "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :"' shell: cmd - if: runner.os != 'Windows' name: Workaround for https://github.com/actions/checkout/issues/590 (non-Windows) run: "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :" shell: bash - name: Checking out the repository uses: actions/checkout@v2 with: clean: false submodules: recursive - name: Build Script Setup run: ./run --help env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} timeout-minutes: 360 - if: "contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')" name: Clean before run: ./run git-clean env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} timeout-minutes: 360 - run: ./run ide upload --wasm-source current-ci-run --backend-source release --backend-release ${{env.ENSO_RELEASE_ID}} env: APPLEID: ${{ secrets.APPLE_NOTARIZATION_USERNAME }} APPLEIDPASS: ${{ secrets.APPLE_NOTARIZATION_PASSWORD }} CSC_IDENTITY_AUTO_DISCOVERY: "true" CSC_KEY_PASSWORD: ${{ secrets.APPLE_CODE_SIGNING_CERT_PASSWORD }} CSC_LINK: ${{ secrets.APPLE_CODE_SIGNING_CERT }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} timeout-minutes: 360 - if: failure() && runner.os == 'Windows' name: List files if failed (Windows) run: Get-ChildItem -Force -Recurse - if: failure() && runner.os != 'Windows' name: List files if failed (non-Windows) run: ls -lAR - if: "always() && always() && contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')" name: Clean after run: ./run git-clean env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} timeout-minutes: 360 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: - if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent') name: Setup conda (GH runners only) uses: s-weigand/setup-conda@v1.0.5 with: update-conda: false conda-channels: anaconda, conda-forge - if: startsWith(runner.name, 'GitHub Actions') || startsWith(runner.name, 'Hosted Agent') name: Installing wasm-pack uses: jetli/wasm-pack-action@v0.3.0 with: version: v0.10.2 - name: Expose Artifact API and context information. uses: actions/github-script@v6 with: script: "\n core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\n core.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\n core.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])\n console.log(context)\n " - if: runner.os == 'Windows' name: Workaround for https://github.com/actions/checkout/issues/590 (Windows) run: '"c:\Program Files\Git\bin\bash.exe" -c "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :"' shell: cmd - if: runner.os != 'Windows' name: Workaround for https://github.com/actions/checkout/issues/590 (non-Windows) run: "git checkout -f $(git -c user.name=x -c user.email=x@x commit-tree $(git hash-object -t tree /dev/null) < /dev/null) || :" shell: bash - name: Checking out the repository uses: actions/checkout@v2 with: clean: false submodules: recursive - name: Build Script Setup run: ./run --help env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} timeout-minutes: 360 - if: "contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')" name: Clean before run: ./run git-clean env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} timeout-minutes: 360 - run: ./run ide upload --wasm-source current-ci-run --backend-source release --backend-release ${{env.ENSO_RELEASE_ID}} env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} WIN_CSC_KEY_PASSWORD: ${{ secrets.MICROSOFT_CODE_SIGNING_CERT_PASSWORD }} WIN_CSC_LINK: ${{ secrets.MICROSOFT_CODE_SIGNING_CERT }} timeout-minutes: 360 - if: failure() && runner.os == 'Windows' name: List files if failed (Windows) run: Get-ChildItem -Force -Recurse - if: failure() && runner.os != 'Windows' name: List files if failed (non-Windows) run: ls -lAR - if: "always() && always() && contains(github.event.pull_request.labels.*.name, 'CI: Clean build required')" name: Clean after run: ./run git-clean env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} timeout-minutes: 360 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