Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
48 lines
1019 B
Nix
48 lines
1019 B
Nix
{ pkgs, ... }:
|
||
|
||
let
|
||
hello-world = pkgs.writeText "hello-world" ''
|
||
{-# OPTIONS --guardedness #-}
|
||
open import IO
|
||
open import Level
|
||
|
||
main = run {0ℓ} (putStrLn "Hello World!")
|
||
'';
|
||
in
|
||
{
|
||
name = "agda";
|
||
meta = with pkgs.lib.maintainers; {
|
||
maintainers = [
|
||
alexarice
|
||
turion
|
||
];
|
||
};
|
||
|
||
nodes.machine =
|
||
{ pkgs, ... }:
|
||
{
|
||
environment.systemPackages = [
|
||
(pkgs.agda.withPackages {
|
||
pkgs = p: [ p.standard-library ];
|
||
})
|
||
];
|
||
virtualisation.memorySize = 2000; # Agda uses a lot of memory
|
||
};
|
||
|
||
testScript = ''
|
||
# Minimal script that typechecks
|
||
machine.succeed("touch TestEmpty.agda")
|
||
machine.succeed("agda TestEmpty.agda")
|
||
|
||
# Hello world
|
||
machine.succeed(
|
||
"cp ${hello-world} HelloWorld.agda"
|
||
)
|
||
machine.succeed("agda -l standard-library -i . -c HelloWorld.agda")
|
||
# Check execution
|
||
assert "Hello World!" in machine.succeed(
|
||
"./HelloWorld"
|
||
), "HelloWorld does not run properly"
|
||
'';
|
||
}
|