AMIGA的持续集成

2020-06-01 05:37:49

Amiga-Smalltalk现在有了持续的整合,我不知道这是不是第一个有CI的Amiga项目,但肯定是我知道的第一个。让我告诉你这件事吧。

长期以来,我一直在使用AROS,即AROS Research操作系统(以前的A代表Amiga),将其作为(手动)测试Amiga-Smalltalk的方便场所。AROS将在PC上本地引导,但也可以在Linux、Windows或MacOS上作为用户空间进程“托管”。因此,在aros源代码树中构建一个类似amiga-Smalltalk的程序很方便,然后启动aros并检查我的程序是否工作正常。因为AROS与Amiga OS的源代码兼容(并且在m68k上也兼容二进制),所以我可以确信它可以在真正的Amigas上工作。

我对Amiga-Smalltalk的最初计划是构建一个包含aro的Docker映像,将我的测试程序添加到S:user-start(Amiga上的脚本,该脚本在操作系统引导序列的末尾运行),然后查看它的运行情况。但当我在aros-exec论坛上讨论这个问题时,aros开发人员Deadwood有了一个更好的主意。

他创建了AxRuntime,这是一个允许Linux进程直接访问AROSAPI的库,而不必作为子操作系统托管在AROS中。这就是我要用的。您可以查看我的Github工作流以了解它是如何工作的,但简而言之:

安装libaxrt。我已经签入了./Vendor中的包(以及一个补丁程序库,它修复了Amiga进程的干净终止),以避免在我的配置项中进行网络调用。上游来源是死木的回购。

构建并运行ast_test,这是我的测试运行程序。Makefile显示了它是如何编译的。