Skip to content

Commit 7d33cc9

Browse files
author
Kasper Peeters
committed
Create homebrew package cadabra2-devel and run an automated test, on every commit.
1 parent 9a5a332 commit 7d33cc9

File tree

3 files changed

+94
-1
lines changed

3 files changed

+94
-1
lines changed
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
# This is a build which gets triggered on every release, to
2+
# update the homebrew-repo.
3+
4+
name: Homebrew-devel
5+
6+
# on:
7+
# release:
8+
# types: [released]
9+
10+
on: [push]
11+
12+
jobs:
13+
build:
14+
15+
runs-on: ubuntu-latest
16+
17+
steps:
18+
- name: Checkout Cadabra
19+
uses: actions/checkout@v4
20+
21+
- name: Checkout Homebrew repo
22+
uses: actions/checkout@v4
23+
with:
24+
repository: kpeeters/homebrew-repo
25+
path: homebrew-repo
26+
token: ${{ secrets.ACTIONS_HOMEBREW_REPO_TOKEN }}
27+
28+
- name: Set up GitHub CLI
29+
run: |
30+
sudo apt-get update
31+
sudo apt-get install -y gh
32+
33+
- name: Authenticate GitHub CLI
34+
run: gh auth setup-git
35+
env:
36+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
37+
38+
- name: Get dependencies
39+
run: sudo apt-get update && sudo DEBIAN_FRONTEND=noninteractive apt-get install git cmake jq 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
40+
41+
- name: configure
42+
run: git checkout devel && mkdir build && cd build && cmake -DPACKAGING_MODE=ON -DENABLE_MATHEMATICA=OFF -DCMAKE_INSTALL_PREFIX=/usr ..
43+
44+
- name: Set variables
45+
run: |
46+
export VERSION=$(cat build/VERSION)
47+
export COMMIT=$(curl -s https://api.github.com/repos/kpeeters/cadabra2/commits/devel | jq .sha)
48+
wget https://github.com/kpeeters/cadabra2/archive/${COMMIT}.tar.gz
49+
export SHA=`cat ${COMMIT}.tar.gz | sha256sum -b | cut -d " " -f 1`
50+
echo "SHA=${SHA}" >> $GITHUB_ENV
51+
echo "VERSION=$VERSION" >> $GITHUB_ENV
52+
echo "COMMIT=$COMMIT" >> $GITHUB_ENV
53+
54+
- name: Update Homebrew repo
55+
run: |
56+
cd homebrew-repo
57+
cat cadabra2-devel.rb | sed -e 's/^ url .*/ url "https://github.com/kpeeters/cadabra2/archive/${COMMIT}.tar.gz"/' | sed -e 's/^ sha256.*/ sha256 "${{ env.SHA }}"/' > out.rb
58+
mv out.rb cadabra2-devel.rb
59+
cat cadabra2-devel.rb
60+
git config user.name "Kasper Peeters"
61+
git config user.email "[email protected]"
62+
git add cadabra2-devel.rb
63+
git commit -a -m "Update to release ${{ env.VERSION }} commit ${{ env.COMMIT }}."
64+
git push
65+
66+
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# This is a build which gets triggered on every commit push,
2+
# to test whether the homebrew package works.
3+
4+
name: testbrew
5+
6+
on:
7+
workflow_run:
8+
workflows: ["Homebrew-devel"]
9+
types:
10+
- completed
11+
12+
jobs:
13+
build:
14+
15+
runs-on: macos-latest
16+
17+
steps:
18+
- uses: actions/checkout@v4
19+
20+
- name: get dependencies
21+
run: brew tap kpeeters/repo && brew install cadabra2-devel
22+
23+
- name: show
24+
run: cat `which cadabra2`
25+
26+
- name: test
27+
run: echo "A+B;\nquit()\n" > tst.cdb && cadabra2 tst.cdb

.github/workflows/testbrew.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ name: testbrew
55

66
on:
77
workflow_run:
8-
workflows: ["homebrew"]
8+
workflows: ["Homebrew"]
99
types:
1010
- completed
1111

0 commit comments

Comments
 (0)