Initial CI #6

Merged
pkulev merged 4 commits from feature/initial-ci into main 2025-10-01 14:54:17 +02:00
3 changed files with 58 additions and 2 deletions

55
.github/workflows/build.yaml vendored Normal file
View File

@@ -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

View File

@@ -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`~
alex-eg commented 2025-10-01 14:26:33 +02:00 (Migrated from github.com)
Review

Or $(cat dependencies.txt)?
Or chicken-install < dependencies.txt?

Or `$(cat dependencies.txt)`? Or `chicken-install < dependencies.txt`?
** Compilation
~make~
@@ -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

1
dependencies.txt Normal file
View File

@@ -0,0 +1 @@
fmt getopt-long brev-separate test tree srfi-1 srfi-13 srfi-69 matchable