Skip to content

goose-mcp bins

goose-mcp bins #39

# https://github.com/termux/termux-docker
# https://github.com/termux/termux-docker/issues/62
# https://github.com/robertkirkman/termux-on-gha/blob/master/.github/workflows/build-and-test.yml
on:
push:
branches:
- "build-termux-*"
- "main"
workflow_dispatch: # run manually
name: "Termux build"
jobs:
build-cli-termux:
name: Build Termux CLI
strategy:
matrix:
include:
# - runner: ubuntu-24.04
# architecture: i686
# - runner: ubuntu-24.04
# architecture: x86_64
# - runner: ubuntu-24.04-arm
# architecture: arm
- runner: ubuntu-24.04-arm
architecture: aarch64
runs-on: ${{ matrix.runner }}
container:
image: termux/termux-docker:${{ matrix.architecture }}
volumes:
- /tmp/node20:/__e/node20
env:
TERMUX_MAIN_PACKAGE_FORMAT: debian
ANDROID_ROOT: /system
ANDROID_DATA: /data
PREFIX: /data/data/com.termux/files/usr
HOME: /data/data/com.termux/files/home
PATH: /data/data/com.termux/files/usr/bin
TMPDIR: /data/data/com.termux/files/usr/tmp
LANG: en_US.UTF-8
TZ: UTC
steps:
- name: set pkg command to use the packages-cf.termux.dev mirror
run: ln -sf ${PREFIX}/etc/termux/mirrors/default ${PREFIX}/etc/termux/chosen_mirrors
- name: upgrade all packages to prepare for installing nodejs
run: /entrypoint.sh bash -c "yes | pkg upgrade -y"
- name: fix executable bit for all binaries in $PREFIX/bin for all users
run: chmod -R o+x ${PREFIX}/bin
- name: install bionic-libc nodejs to force compatibility with actions/checkout and actions/upload-artifact
run: |
/entrypoint.sh pkg install -y nodejs-lts
ln -sf ${PREFIX}/bin /__e/node20/bin
- uses: actions/checkout@v4.2.2
- name: fix permissions of repository after actions/checkout, which ran as root user, while entrypoint.sh activates system user (1000)
run: chown -R 1000:1000 .
- name: setup
run: |
/entrypoint.sh pkg install -y rust
/entrypoint.sh pkg install -y cmake protobuf clang build-essential
/entrypoint.sh pkg install -y tar gzip zip bzip2
- name: build
run: |
/entrypoint.sh cargo build --release
# Create a directory for the package contents
/entrypoint.sh mkdir -p "target/release/goose-package"
/entrypoint.sh cp "target/release/goose" "target/release/goose-package/"
/entrypoint.sh tar -cjf "goose-termux-${{ matrix.architecture }}.tar.bz2" -C target/release/goose-package .
- name: Upload CLI artifact
uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # pin@v4
with:
name: goose-termux-${{ matrix.architecture }}
path: goose-termux-${{ matrix.architecture }}.tar.bz2
release:
name: Release
runs-on: ubuntu-latest
needs: [build-cli-termux]
permissions:
contents: write
steps:
- name: Download all artifacts
uses: actions/download-artifact@cc203385981b70ca67e1cc392babf9cc229d5806 # pin@v4
with:
merge-multiple: true
# Create/update the versioned release
- name: Release versioned
uses: ncipollo/release-action@440c8c1cb0ed28b9f43e4d1d670870f059653174 # pin@v1
with:
tag: termux
name: Termux
token: ${{ secrets.GITHUB_TOKEN }}
artifacts: |
goose-*.tar.bz2
goose-*.zip
Goose*.zip
*.deb
*.rpm
download_cli.sh
allowUpdates: true
omitBody: true
omitPrereleaseDuringUpdate: true