Skip to content

Support rollback only messages, tool call changes or both in `chat/ro… #560

Support rollback only messages, tool call changes or both in `chat/ro…

Support rollback only messages, tool call changes or both in `chat/ro… #560

Workflow file for this run

name: Nightly builds
on:
push:
branches:
- master
paths-ignore:
- '**/README.md'
- '**/CHANGELOG.md'
- 'resources/ECA_VERSION'
- 'docs/**'
- 'images/**'
- 'mkdocs.yml'
- 'deps-lock.json'
- '.github/workflows/ci.yml'
- '.github/workflows/release.yml'
- 'test/**'
jobs:
release-dev-build:
name: Release dev build
if: github.repository == 'editor-code-assistant/eca'
runs-on: ubuntu-22.04
outputs:
tag: ${{ steps.dev-tag.outputs.tag}}
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Generate dev tag name
id: dev-tag
run: |
RELEASE_VERSION=$(cat resources/ECA_VERSION)
VERSION=$RELEASE_VERSION-$(date -u +"%Y.%m.%d-%H.%M.%S")
echo "::set-output name=tag::$VERSION-nightly"
- id: commit-hash
uses: pr-mpt/actions-commit-hash@v1
- name: Create dev release
id: create_dev_release
uses: softprops/action-gh-release@v1
with:
token: ${{ secrets.ECA_TOKEN }}
tag_name: ${{ steps.dev-tag.outputs.tag}}
prerelease: false
repository: editor-code-assistant/eca-dev-builds
body: https://github.com/editor-code-assistant/eca/commit/${{ steps.commit-hash.outputs.hash }}
build-jar:
needs: release-dev-build
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Prepare java
uses: actions/setup-java@v1
with:
java-version: 24
- name: Install Clojure
uses: DeLaGuardo/setup-clojure@master
with:
cli: '1.12.0.1495'
bb: '1.12.200'
- name: Update nightly version
run: |
echo ${{ needs.release-dev-build.outputs.tag}} > resources/ECA_VERSION
- name: Generate jar for native
run: bb prod-jar
- name: Upload jar
uses: actions/upload-artifact@v4
with:
path: eca.jar
name: eca.jar
- name: Upload to dev release
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.ECA_TOKEN }}
prerelease: false
repo_name: editor-code-assistant/eca-dev-builds
file: eca.jar
asset_name: eca.jar
tag: ${{ needs.release-dev-build.outputs.tag}}
- name: Generate sha256
run: sha256sum eca.jar | awk '{print $1}' > eca.jar.sha256
- name: Upload sha256 to dev release
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.ECA_TOKEN }}
prerelease: false
repo_name: editor-code-assistant/eca-dev-builds
file: eca.jar.sha256
asset_name: eca.jar.sha256
tag: ${{ needs.release-dev-build.outputs.tag}}
linux-amd64:
needs: [build-jar, release-dev-build]
continue-on-error: true
runs-on: ubuntu-22.04
strategy:
fail-fast: false
steps:
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
with:
name: eca.jar
- name: Install Clojure
uses: DeLaGuardo/setup-clojure@master
with:
cli: '1.12.0.1495'
bb: '1.12.200'
- uses: graalvm/setup-graalvm@v1
with:
java-version: '24'
distribution: 'graalvm'
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Build Linux native image
env:
ECA_JAR: "eca.jar"
ECA_XMX: "-J-Xmx6g"
run: |
bb native-cli
- name: Compress binary
uses: svenstaro/upx-action@v2
with:
file: eca
- name: Zip binary
run: zip eca-native-linux-amd64.zip eca
- name: Upload to dev release
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.ECA_TOKEN }}
prerelease: false
repo_name: editor-code-assistant/eca-dev-builds
file: eca-native-linux-amd64.zip
asset_name: eca-native-linux-amd64.zip
tag: ${{ needs.release-dev-build.outputs.tag}}
- name: Generate sha256
run: sha256sum eca-native-linux-amd64.zip | awk '{print $1}' > eca-native-linux-amd64.zip.sha256
- name: Upload sha256 to dev release
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.ECA_TOKEN }}
prerelease: false
repo_name: editor-code-assistant/eca-dev-builds
file: eca-native-linux-amd64.zip.sha256
asset_name: eca-native-linux-amd64.zip.sha256
tag: ${{ needs.release-dev-build.outputs.tag}}
linux-amd64-static:
needs: [build-jar, release-dev-build]
continue-on-error: true
runs-on: ubuntu-22.04
strategy:
fail-fast: false
steps:
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
with:
name: eca.jar
- name: Install Clojure
uses: DeLaGuardo/setup-clojure@master
with:
cli: '1.12.0.1495'
bb: '1.12.200'
- uses: graalvm/setup-graalvm@v1
with:
java-version: '24'
distribution: 'graalvm'
native-image-musl: 'true'
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Build static Linux native image
env:
ECA_JAR: "eca.jar"
ECA_XMX: "-J-Xmx6g"
ECA_STATIC: true
ECA_MUSL: true
run: |
bb native-cli
- name: Compress binary
uses: svenstaro/upx-action@v2
with:
file: eca
- name: Zip binary
run: zip eca-native-static-linux-amd64.zip eca
- name: Upload to dev release
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.ECA_TOKEN }}
prerelease: false
repo_name: editor-code-assistant/eca-dev-builds
file: eca-native-static-linux-amd64.zip
asset_name: eca-native-static-linux-amd64.zip
tag: ${{ needs.release-dev-build.outputs.tag}}
- name: Generate sha256
run: sha256sum eca-native-static-linux-amd64.zip | awk '{print $1}' > eca-native-static-linux-amd64.zip.sha256
- name: Upload sha256 to dev release
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.ECA_TOKEN }}
prerelease: false
repo_name: editor-code-assistant/eca-dev-builds
file: eca-native-static-linux-amd64.zip.sha256
asset_name: eca-native-static-linux-amd64.zip.sha256
tag: ${{ needs.release-dev-build.outputs.tag}}
macos-amd64:
needs: [build-jar, release-dev-build]
continue-on-error: true
runs-on: macos-15-intel
strategy:
fail-fast: false
steps:
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
with:
name: eca.jar
- name: Install Clojure
uses: DeLaGuardo/setup-clojure@master
with:
cli: '1.12.0.1495'
bb: '1.12.200'
- uses: graalvm/setup-graalvm@v1
with:
java-version: '24'
distribution: 'graalvm'
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Build MacOS native image
env:
ECA_JAR: "eca.jar"
ECA_XMX: "-J-Xmx6g"
run: |
bb native-cli
- name: Zip binary
run: zip eca-native-macos-amd64.zip eca
- name: Upload to dev release
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.ECA_TOKEN }}
prerelease: false
repo_name: editor-code-assistant/eca-dev-builds
file: eca-native-macos-amd64.zip
asset_name: eca-native-macos-amd64.zip
tag: ${{ needs.release-dev-build.outputs.tag}}
- name: Generate sha256
run: sha256sum eca-native-macos-amd64.zip | awk '{print $1}' > eca-native-macos-amd64.zip.sha256
- name: Upload sha256 to dev release
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.ECA_TOKEN }}
prerelease: false
repo_name: editor-code-assistant/eca-dev-builds
file: eca-native-macos-amd64.zip.sha256
asset_name: eca-native-macos-amd64.zip.sha256
tag: ${{ needs.release-dev-build.outputs.tag}}
macos-aarch64:
needs: [build-jar, release-dev-build]
continue-on-error: true
runs-on: macos-14
strategy:
fail-fast: false
steps:
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
with:
name: eca.jar
- name: Install Clojure
uses: DeLaGuardo/setup-clojure@master
with:
cli: '1.12.0.1495'
bb: '1.12.200'
- uses: graalvm/setup-graalvm@v1
with:
java-version: '24'
distribution: 'graalvm'
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Build MacOS native image
env:
ECA_JAR: "eca.jar"
ECA_XMX: "-J-Xmx6g"
run: |
bb native-cli
- name: Zip binary
run: zip eca-native-macos-aarch64.zip eca
- name: Upload to dev release
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.ECA_TOKEN }}
prerelease: false
repo_name: editor-code-assistant/eca-dev-builds
file: eca-native-macos-aarch64.zip
asset_name: eca-native-macos-aarch64.zip
tag: ${{ needs.release-dev-build.outputs.tag}}
- name: Generate sha256
run: sha256sum eca-native-macos-aarch64.zip | awk '{print $1}' > eca-native-macos-aarch64.zip.sha256
- name: Upload sha256 to dev release
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.ECA_TOKEN }}
prerelease: false
repo_name: editor-code-assistant/eca-dev-builds
file: eca-native-macos-aarch64.zip.sha256
asset_name: eca-native-macos-aarch64.zip.sha256
tag: ${{ needs.release-dev-build.outputs.tag}}
windows:
needs: [build-jar, release-dev-build]
continue-on-error: true
runs-on: windows-latest
strategy:
fail-fast: false
steps:
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
with:
name: eca.jar
- name: configure Pagefile
uses: al-cheb/[email protected]
with:
minimum-size: 8GB
maximum-size: 16GB
- name: Prepare java
uses: actions/setup-java@v1
with:
java-version: 24
- name: Install Clojure
uses: DeLaGuardo/setup-clojure@master
with:
cli: '1.12.0.1495'
bb: '1.12.200'
- name: Install MSVC
uses: ilammy/msvc-dev-cmd@v1
- uses: graalvm/setup-graalvm@v1
with:
java-version: '24'
distribution: 'graalvm'
native-image-musl: true
github-token: ${{ secrets.GITHUB_TOKEN }}
# see https://github.com/oracle/graal/issues/4340
- name: GraalVM workaround to support UPX compression
run: |
7z d "$env:JAVA_HOME\lib\svm\builder\svm.jar" com/oracle/svm/core/windows/WindowsImageHeapProviderFeature.class
- name: Build Windows native image
env:
ECA_JAR: eca.jar
ECA_XMX: "-J-Xmx7g"
run: |
bb native-cli
- name: Compress binary
uses: svenstaro/upx-action@v2
with:
file: eca.exe
- name: Zip binary
run: |
jar -cMf eca-native-windows-amd64.zip eca.exe
- name: Upload to dev release
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.ECA_TOKEN }}
prerelease: false
repo_name: editor-code-assistant/eca-dev-builds
file: eca-native-windows-amd64.zip
asset_name: eca-native-windows-amd64.zip
tag: ${{ needs.release-dev-build.outputs.tag}}
- name: Generate sha256
run: sha256sum eca-native-windows-amd64.zip | awk '{print $1}' > eca-native-windows-amd64.zip.sha256
- name: Upload sha256 to dev release
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.ECA_TOKEN }}
prerelease: false
repo_name: editor-code-assistant/eca-dev-builds
file: eca-native-windows-amd64.zip.sha256
asset_name: eca-native-windows-amd64.zip.sha256
tag: ${{ needs.release-dev-build.outputs.tag}}