From b738ff8e16d72a8c1898b177fadd5363cf2090a9 Mon Sep 17 00:00:00 2001 From: Pavel Kulyov Date: Wed, 1 Oct 2025 14:35:06 +0300 Subject: [PATCH 1/4] Add dependencies file --- dependencies.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 dependencies.txt diff --git a/dependencies.txt b/dependencies.txt new file mode 100644 index 0000000..e341eb9 --- /dev/null +++ b/dependencies.txt @@ -0,0 +1 @@ +fmt getopt-long brev-separate test tree srfi-1 srfi-13 srfi-69 matchable -- 2.52.0 From fade46e0cb4569be413388168b480d7891b13a7f Mon Sep 17 00:00:00 2001 From: Pavel Kulyov Date: Thu, 14 Aug 2025 23:41:42 +0300 Subject: [PATCH 2/4] 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 -- 2.52.0 From 22e95828dd7c9a453df1960f1ff6ae21152aca86 Mon Sep 17 00:00:00 2001 From: Pavel Kulyov Date: Wed, 1 Oct 2025 14:32:37 +0300 Subject: [PATCH 3/4] readme: remove extra closing bracket --- Readme.org | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Readme.org b/Readme.org index ef990a5..06e9c1e 100644 --- a/Readme.org +++ b/Readme.org @@ -119,7 +119,7 @@ return Sex code. `(if (< 0 ,call) (begin (puts ,message) - (return ,ret-code))))) + (return ,ret-code)))) (pub fn int init () (check-sdl-return -- 2.52.0 From b675fd0d7b9a805af7455b05f5cc2061659b8c81 Mon Sep 17 00:00:00 2001 From: Pavel Kulyov Date: Wed, 1 Oct 2025 14:43:18 +0300 Subject: [PATCH 4/4] Update readme --- Readme.org | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Readme.org b/Readme.org index 06e9c1e..cba3fa3 100644 --- a/Readme.org +++ b/Readme.org @@ -13,7 +13,7 @@ to export ~CHICKEN_INSTALL_REPOSITORY~ and ~CHICKEN_REPOSITORY_PATH~ environment variables. Refer to the documentation for more info: https://wiki.call-cc.org/man/5/Extension%20tools#changing-the-repository-location -~chicken-install fmt getopt-long brev-separate test tree srfi-1 srfi-13 srfi-69 matchable~ +~chicken-install `cat dependencies.txt`~ ** Compilation ~make~ -- 2.52.0