Skip to content

Commit

Permalink
Move aarch64-linux to separate file
Browse files Browse the repository at this point in the history
  • Loading branch information
locallycompact committed May 10, 2024
1 parent ac0ebfb commit 89561bb
Show file tree
Hide file tree
Showing 4 changed files with 90 additions and 44 deletions.
46 changes: 46 additions & 0 deletions .github/workflows/ci-nix-aarch64-linux.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: "CI (aarch64-linux)"

# Limit concurrent runs of this workflow within a single PR
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

on:
push:
branches:
- master
- release
pull_request:
schedule:
# Everyday at 4:00 AM
- cron: "0 4 * * *"

jobs:
build-test:
name: "Build & test"
runs-on: ubuntu-latest
strategy:
matrix:
package:
- hydra-node

steps:
- name: 📥 Checkout repository
uses: actions/checkout@v4

- name: ❄ Prepare nix
uses: cachix/install-nix-action@v26
with:
extra_nix_config: |
accept-flake-config = true
log-lines = 1000
- name: ❄ Cachix cache of nix derivations
uses: cachix/cachix-action@v14
with:
name: cardano-scaling
authToken: '${{ secrets.CACHIX_CARDANO_SCALING_AUTH_TOKEN }}'

- name: ❓Build
run: |
nix build .#legacyPackages.x86_64-linux.aarch64.hydra-node.components.exes.hydra-node
6 changes: 0 additions & 6 deletions .github/workflows/ci-nix.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@ jobs:
- package: hydra-tui
- package: hydra-node
- package: hydra-cluster
- package: aarch64
steps:
- name: 📥 Checkout repository
uses: actions/checkout@v4
Expand All @@ -46,11 +45,6 @@ jobs:
name: cardano-scaling
authToken: '${{ secrets.CACHIX_CARDANO_SCALING_AUTH_TOKEN }}'

- name: ❓ Aarch64
if: ${{ matrix.package == 'aarch64' }}
run: |
nix build .#legacyPackages.x86_64-linux.aarch64.hydra-node.components.exes.hydra-node
- name: ❓ Test (Pure)
if: ${{ matrix.package == 'hydra-plutus'
|| matrix.package == 'plutus-cbor'
Expand Down
6 changes: 5 additions & 1 deletion flake.nix
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,11 @@

in
rec {
legacyPackages = hsPkgs // { aarch64 = hsPkgsArm; };
legacyPackages = hsPkgs // {
aarch64 =
hsPkgsArm //
(if pkgs.stdenv.isLinux then (prefixAttrs "docker-" hydraImagesArm) else { });
};

packages =
hydraPackages //
Expand Down
76 changes: 39 additions & 37 deletions nix/hydra/project.nix
Original file line number Diff line number Diff line change
Expand Up @@ -59,31 +59,33 @@ pkgs.haskell-nix.project {
# have a better fix for this eventually. For now this will have to do.
packages.double-conversion.ghcOptions = [
# stop putting U __gxx_personality_v0 into the library!
"-optcxx-fno-rtti" "-optcxx-fno-exceptions"
"-optcxx-fno-rtti"
"-optcxx-fno-exceptions"
# stop putting U __cxa_guard_release into the library!
"-optcxx-std=gnu++98" "-optcxx-fno-threadsafe-statics"
"-optcxx-std=gnu++98"
"-optcxx-fno-threadsafe-statics"
];
# This is needed to stop failing when `git` can't be found. When
# cross compiling, git does not exist in the target context, and thus can
# not be executed. Template Hsakell does not distinguish between native
# and target.
packages.gitrev.patches = [
(builtins.toFile "gitrev.patch" ''
diff --git a/src/Development/GitRev.hs b/src/Development/GitRev.hs
index b664692..603ad1b 100644
--- a/src/Development/GitRev.hs
+++ b/src/Development/GitRev.hs
@@ -62,7 +62,9 @@ runGit :: [String] -> String -> IndexUsed -> Q String
runGit args def useIdx = do
let oops :: SomeException -> IO (ExitCode, String, String)
oops _e = return (ExitFailure 1, def, "")
+ none :: SomeException -> IO (Maybe FilePath)
+ none _e = return Nothing
- gitFound <- runIO $ isJust <$> findExecutable "git"
+ gitFound <- runIO $ isJust <$> findExecutable "git" `catch` none
if gitFound
then do
-- a lot of bookkeeping to record the right dependencies
diff --git a/src/Development/GitRev.hs b/src/Development/GitRev.hs
index b664692..603ad1b 100644
--- a/src/Development/GitRev.hs
+++ b/src/Development/GitRev.hs
@@ -62,7 +62,9 @@ runGit :: [String] -> String -> IndexUsed -> Q String
runGit args def useIdx = do
let oops :: SomeException -> IO (ExitCode, String, String)
oops _e = return (ExitFailure 1, def, "")
+ none :: SomeException -> IO (Maybe FilePath)
+ none _e = return Nothing
- gitFound <- runIO $ isJust <$> findExecutable "git"
+ gitFound <- runIO $ isJust <$> findExecutable "git" `catch` none
if gitFound
then do
-- a lot of bookkeeping to record the right dependencies
'')
];
}
Expand All @@ -98,28 +100,28 @@ pkgs.haskell-nix.project {
(pkgs.lib.mkIf (pkgs.hostPlatform.isMusl && pkgs.hostPlatform.isAarch64) {
packages.plutus-tx.patches = [
(builtins.toFile "plutus-tx.patch" ''
From 895a8a4af848ec29f9165fbff585f391d2c3358b Mon Sep 17 00:00:00 2001
From: Moritz Angermann <[email protected]>
Date: Sun, 10 Dec 2023 16:23:24 +0800
Subject: [PATCH] Update TH.hs
From 895a8a4af848ec29f9165fbff585f391d2c3358b Mon Sep 17 00:00:00 2001
From: Moritz Angermann <[email protected]>
Date: Sun, 10 Dec 2023 16:23:24 +0800
Subject: [PATCH] Update TH.hs
Just don't force load it.
---
src/PlutusTx/TH.hs | 1 -
1 file changed, 1 deletion(-)
Just don't force load it.
---
src/PlutusTx/TH.hs | 1 -
1 file changed, 1 deletion(-)
diff --git a/src/PlutusTx/TH.hs b/src/PlutusTx/TH.hs
index 49f26f6585e..02a0f927dd5 100644
--- a/src/PlutusTx/TH.hs
+++ b/src/PlutusTx/TH.hs
@@ -46,7 +46,6 @@ going to typecheck, and the result is always a 'CompiledCode', so that's also fi
-- | Compile a quoted Haskell expression into a corresponding Plutus Core program.
compileUntyped :: TH.Q TH.Exp -> TH.Q TH.Exp
compileUntyped e = do
- TH.addCorePlugin "PlutusTx.Plugin"
loc <- TH.location
let locStr = TH.pprint loc
-- See note [Typed TH]
diff --git a/src/PlutusTx/TH.hs b/src/PlutusTx/TH.hs
index 49f26f6585e..02a0f927dd5 100644
--- a/src/PlutusTx/TH.hs
+++ b/src/PlutusTx/TH.hs
@@ -46,7 +46,6 @@ going to typecheck, and the result is always a 'CompiledCode', so that's also fi
-- | Compile a quoted Haskell expression into a corresponding Plutus Core program.
compileUntyped :: TH.Q TH.Exp -> TH.Q TH.Exp
compileUntyped e = do
- TH.addCorePlugin "PlutusTx.Plugin"
loc <- TH.location
let locStr = TH.pprint loc
-- See note [Typed TH]
'')
];
})
Expand Down

0 comments on commit 89561bb

Please sign in to comment.