Skip to content

Only run docker build on release. #18

Only run docker build on release.

Only run docker build on release. #18

Workflow file for this run

# This is a build which gets triggered on every release, to
# update the homebrew-repo.
name: Homebrew
# on:
# release:
# types: [released]
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout Cadabra
uses: actions/checkout@v4
- name: Checkout Homebrew repo
uses: actions/checkout@v4
with:
repository: kpeeters/homebrew-repo
path: homebrew-repo
token: ${{ secrets.ACTIONS_HOMEBREW_REPO_TOKEN }}
- name: Set up GitHub CLI
run: |
sudo apt-get update
sudo apt-get install -y gh
- name: Authenticate GitHub CLI
run: gh auth setup-git
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Get dependencies
run: sudo apt-get update && sudo DEBIAN_FRONTEND=noninteractive apt-get install git cmake python3-dev g++ libpcre3 libpcre3-dev libgmp3-dev libgtkmm-3.0-dev libboost-all-dev libgmp-dev libsqlite3-dev uuid-dev libmpfr-dev libmpc-dev && python3 --version && which python3 && python3 -m pip install --upgrade pip && python3 -m pip install wheel && python3 -m pip install sympy gmpy2 numpy
- name: configure
run: mkdir build && cd build && cmake -DPACKAGING_MODE=ON -DENABLE_MATHEMATICA=OFF -DCMAKE_INSTALL_PREFIX=/usr ..
- name: Set variables
run: |
export VERSION=$(cat build/VERSION)
echo "VERSION=$VERSION" >> $GITHUB_ENV
wget https://github.com/kpeeters/cadabra2/archive/refs/tags/${VERSION}.tar.gz
export SHA=`cat ${VERSION}.tar.gz | sha256sum -b | cut -d " " -f 1`
echo "SHA=${SHA}" >> $GITHUB_ENV
- name: Update Homebrew repo
run: |
cd homebrew-repo
cat cadabra2.rb | sed -e 's/^ url .*/ url "https:\/\/github.com\/kpeeters\/cadabra2\/archive\/refs\/tags\/${{ env.VERSION }}.tar.gz"/' | sed -e 's/^ sha256.*/ sha256 "${{ env.SHA }}"/' | sed -e 's/^ version.*/ version "${{ env.VERSION }}"/' > out.rb
mv out.rb cadabra2.rb
cat cadabra2.rb
git config user.name "Kasper Peeters"
git config user.email "[email protected]"
git add cadabra2.rb
git diff-index --quiet HEAD || (git commit -a -m "Update to release ${{ env.VERSION }}." && git push)
test:
needs: build
runs-on: macos-latest
steps:
- name: get dependencies
run: brew update && brew upgrade && brew tap kpeeters/repo && brew install cadabra2
- name: show where cadabra is located
run: cat `which cadabra2`
- name: test simple cli run
run: printf "ex:=(A+B) (C+D);\ndistribute(ex);\nquit()\n" > tst.cdb && cadabra2 tst.cdb
- name: test gtk app launch
run: |
cadabra2-gtk &
APP_PID=$!
sleep 10
if kill -0 $APP_PID 2>/dev/null; then
echo "Application started successfully"
kill $APP_PID
exit 0
else
echo "Application failed to start"
exit 1
fi