From 07f0039a219269a395d562ecbf5138af8ce75403 Mon Sep 17 00:00:00 2001 From: Pavel Kulyov Date: Thu, 14 Aug 2025 23:41:42 +0300 Subject: [PATCH] ci: add initial GHA with building sexc and running tests --- .github/workflows/build.yaml | 55 ++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 .github/workflows/build.yaml diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml new file mode 100644 index 0000000..90b3486 --- /dev/null +++ b/.github/workflows/build.yaml @@ -0,0 +1,55 @@ +name: Sex CI + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + +jobs: + build-linux: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + - name: Install chicken + run: | + wget -N https://code.call-cc.org/releases/5.4.0/chicken-5.4.0.tar.gz + tar zxf chicken-5.4.0.tar.gz + sudo apt install -y make + make -C chicken-5.4.0 PLATFORM=linux + sudo make -C chicken-5.4.0 PLATFORM=linux install + - name: Install dependencies + # FIXME: [project-local deps]: use venv or something + # run: make deps + run: sudo chicken-install $(cat dependencies.txt) + - name: Make sure that sexc builds + # FIXME: sexc being built with local .eggs/ libs needs the path at runtime. + # Without it there will be `Error: cannot load extension: fmt`. + run: make sexc && ./sexc --help + - name: Run tests + # FIXME: [project-local deps]: use local deps or build with -static + # run: make run-tests + run: make sex-tests && ./sex-tests + + build-macos: + + runs-on: macos-15 + + steps: + - uses: actions/checkout@v3 + - name: Install chicken + run: brew install chicken make + - name: Install dependencies + # FIXME: [project-local deps]: use venv or something + # run: make deps + run: chicken-install $(cat dependencies.txt) + - name: Make sure that sexc builds + # FIXME: sexc being built with local .eggs/ libs needs the path at runtime. + # Without it there will be `Error: cannot load extension: fmt`. + run: make sexc && ./sexc --help + - name: Run tests + # FIXME: [project-local deps]: use local deps or build with -static + # run: make run-tests + run: make sex-tests && ./sex-tests