Support rollback only messages, tool call changes or both in `chat/ro… #560
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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}} |