From 0f18f7654fa0403fe3e276c2482962d3eae63c23 Mon Sep 17 00:00:00 2001 From: Antonio Nuno Monteiro Date: Sun, 19 Jan 2025 02:25:44 -0800 Subject: [PATCH 1/6] test on arm linux runners --- .github/workflows/pipeline.yml | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/.github/workflows/pipeline.yml b/.github/workflows/pipeline.yml index fa188a13..fcf332b1 100644 --- a/.github/workflows/pipeline.yml +++ b/.github/workflows/pipeline.yml @@ -30,12 +30,14 @@ jobs: fail-fast: false matrix: setup: - - { ocaml-version: 4_14, continue-on-error: false } - - { ocaml-version: 5_1, continue-on-error: false } - - { ocaml-version: 5_2, continue-on-error: false } - - { ocaml-version: 5_3, continue-on-error: true } - name: Native packages (Linux, OCaml ${{ matrix.setup.ocaml-version }}) - runs-on: ubuntu-latest + - { ocaml-version: 4_14, continue-on-error: false, os: ubuntu-latest } + - { ocaml-version: 5_1, continue-on-error: false, os: ubuntu-latest } + - { ocaml-version: 5_2, continue-on-error: false, os: ubuntu-latest } + - { ocaml-version: 5_3, continue-on-error: true, os: ubuntu-latest } + - { ocaml-version: 5_2, continue-on-error: false, os: ubuntu-24.04-arm } + - { ocaml-version: 5_3, continue-on-error: true, os: ubuntu-24.04-arm } + name: Native packages (OCaml ${{ matrix.setup.ocaml-version }}, ${{ matrix.setup.os }}) + runs-on: ${{ matrix.setup.os }} env: NIXPKGS_ALLOW_UNFREE: 1 steps: @@ -129,15 +131,17 @@ jobs: fail-fast: false matrix: setup: - - { ocaml-version: 4_14, continue-on-error: false } - - { ocaml-version: 5_1, continue-on-error: false } - - { ocaml-version: 5_2, continue-on-error: false } - - { ocaml-version: 5_3, continue-on-error: false } + - { ocaml-version: 4_14, continue-on-error: false, os: ubuntu-latest } + - { ocaml-version: 5_1, continue-on-error: false, os: ubuntu-latest } + - { ocaml-version: 5_2, continue-on-error: false, os: ubuntu-latest } + - { ocaml-version: 5_3, continue-on-error: false, os: ubuntu-latest } + - { ocaml-version: 5_2, continue-on-error: false, os: ubuntu-latest } + - { ocaml-version: 5_3, continue-on-error: false, os: ubuntu-24.04-arm } target: - arm64 - musl - name: ${{matrix.target}} packages (OCaml ${{ matrix.setup.ocaml-version }}) - runs-on: ubuntu-latest + name: ${{matrix.target}} packages (OCaml ${{ matrix.setup.ocaml-version }}, ${{ matrix.setup.os }}) + runs-on: ${{ matrix.setup.os }} env: NIXPKGS_ALLOW_UNFREE: 1 steps: From ece208ed3599b467383349052bce63c6eee62d84 Mon Sep 17 00:00:00 2001 From: Antonio Nuno Monteiro Date: Sun, 19 Jan 2025 02:44:24 -0800 Subject: [PATCH 2/6] platform --- .github/workflows/pipeline.yml | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/.github/workflows/pipeline.yml b/.github/workflows/pipeline.yml index fcf332b1..2a075892 100644 --- a/.github/workflows/pipeline.yml +++ b/.github/workflows/pipeline.yml @@ -30,12 +30,12 @@ jobs: fail-fast: false matrix: setup: - - { ocaml-version: 4_14, continue-on-error: false, os: ubuntu-latest } - - { ocaml-version: 5_1, continue-on-error: false, os: ubuntu-latest } - - { ocaml-version: 5_2, continue-on-error: false, os: ubuntu-latest } - - { ocaml-version: 5_3, continue-on-error: true, os: ubuntu-latest } - - { ocaml-version: 5_2, continue-on-error: false, os: ubuntu-24.04-arm } - - { ocaml-version: 5_3, continue-on-error: true, os: ubuntu-24.04-arm } + - { ocaml-version: 4_14, continue-on-error: false, os: ubuntu-latest, platform: x86_64-linux } + - { ocaml-version: 5_1, continue-on-error: false, os: ubuntu-latest, platform: x86_64-linux } + - { ocaml-version: 5_2, continue-on-error: false, os: ubuntu-latest, platform: x86_64-linux } + - { ocaml-version: 5_3, continue-on-error: true, os: ubuntu-latest, platform: x86_64-linux } + - { ocaml-version: 5_2, continue-on-error: false, os: ubuntu-24.04-arm, platform: aarch64-linux } + - { ocaml-version: 5_3, continue-on-error: true, os: ubuntu-24.04-arm, platform: aarch64-linux } name: Native packages (OCaml ${{ matrix.setup.ocaml-version }}, ${{ matrix.setup.os }}) runs-on: ${{ matrix.setup.os }} env: @@ -56,7 +56,7 @@ jobs: awsAccessKeyId: ${{ secrets.R2_ACCESS_KEY_ID }} awsSecretAccessKey: ${{ secrets.R2_SECRET_ACESS_KEY }} - name: Build nix packages - run: ./ci.sh x86_64-linux build_${{ matrix.setup.ocaml-version }} + run: ./ci.sh ${{ matrix.setup.system }} build_${{ matrix.setup.ocaml-version }} continue-on-error: ${{ matrix.setup.continue-on-error }} top-level-packages: @@ -131,12 +131,12 @@ jobs: fail-fast: false matrix: setup: - - { ocaml-version: 4_14, continue-on-error: false, os: ubuntu-latest } - - { ocaml-version: 5_1, continue-on-error: false, os: ubuntu-latest } - - { ocaml-version: 5_2, continue-on-error: false, os: ubuntu-latest } - - { ocaml-version: 5_3, continue-on-error: false, os: ubuntu-latest } - - { ocaml-version: 5_2, continue-on-error: false, os: ubuntu-latest } - - { ocaml-version: 5_3, continue-on-error: false, os: ubuntu-24.04-arm } + - { ocaml-version: 4_14, continue-on-error: false, os: ubuntu-latest, platform: x86_64-linux } + - { ocaml-version: 5_1, continue-on-error: false, os: ubuntu-latest, platform: x86_64-linux } + - { ocaml-version: 5_2, continue-on-error: false, os: ubuntu-latest, platform: x86_64-linux } + - { ocaml-version: 5_3, continue-on-error: false, os: ubuntu-latest, platform: x86_64-linux } + - { ocaml-version: 5_2, continue-on-error: false, os: ubuntu-24.04-arm, platform: aarch64-linux } + - { ocaml-version: 5_3, continue-on-error: false, os: ubuntu-24.04-arm, platform: aarch64-linux } target: - arm64 - musl @@ -160,5 +160,5 @@ jobs: awsAccessKeyId: ${{ secrets.R2_ACCESS_KEY_ID }} awsSecretAccessKey: ${{ secrets.R2_SECRET_ACESS_KEY }} - name: Build nix packages - run : ./ci.sh x86_64-linux ${{matrix.target}}_${{matrix.setup.ocaml-version}} + run : ./ci.sh ${{ matrix.setup.platform }} ${{matrix.target}}_${{matrix.setup.ocaml-version}} continue-on-error: ${{ matrix.setup.continue-on-error }} From a19617b8f302f37245d9270fc8bce9108dedac1e Mon Sep 17 00:00:00 2001 From: Antonio Nuno Monteiro Date: Sun, 19 Jan 2025 02:45:42 -0800 Subject: [PATCH 3/6] platform --- .github/workflows/pipeline.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pipeline.yml b/.github/workflows/pipeline.yml index 2a075892..0e271ad5 100644 --- a/.github/workflows/pipeline.yml +++ b/.github/workflows/pipeline.yml @@ -56,7 +56,7 @@ jobs: awsAccessKeyId: ${{ secrets.R2_ACCESS_KEY_ID }} awsSecretAccessKey: ${{ secrets.R2_SECRET_ACESS_KEY }} - name: Build nix packages - run: ./ci.sh ${{ matrix.setup.system }} build_${{ matrix.setup.ocaml-version }} + run: ./ci.sh ${{ matrix.setup.platform }} build_${{ matrix.setup.ocaml-version }} continue-on-error: ${{ matrix.setup.continue-on-error }} top-level-packages: From 50e62e84a412f1ac522e76e0b7e99d455d4d5443 Mon Sep 17 00:00:00 2001 From: Antonio Nuno Monteiro Date: Sun, 19 Jan 2025 02:57:57 -0800 Subject: [PATCH 4/6] hydra --- flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index 8b14f438..4b7b2f77 100644 --- a/flake.nix +++ b/flake.nix @@ -18,7 +18,7 @@ lib = nixpkgs.lib; hydraJobs = nixpkgs.lib.genAttrs - [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" ] + [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin", "aarch64-linux" ] (system: import ./ci/hydra.nix { inherit system; pkgs = self.legacyPackages.${system}; From 36aa34e73d9a45b21e8c732854c9c270603e9e9b Mon Sep 17 00:00:00 2001 From: Antonio Nuno Monteiro Date: Sun, 19 Jan 2025 03:00:12 -0800 Subject: [PATCH 5/6] rm comma --- flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index 4b7b2f77..eb7b7a19 100644 --- a/flake.nix +++ b/flake.nix @@ -18,7 +18,7 @@ lib = nixpkgs.lib; hydraJobs = nixpkgs.lib.genAttrs - [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin", "aarch64-linux" ] + [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" "aarch64-linux" ] (system: import ./ci/hydra.nix { inherit system; pkgs = self.legacyPackages.${system}; From 6ad8b8e32e173214e893e751ed7177323c84e8c9 Mon Sep 17 00:00:00 2001 From: Antonio Nuno Monteiro Date: Sun, 19 Jan 2025 14:41:31 -0800 Subject: [PATCH 6/6] fix `nix flake check` --- ci/filter.nix | 6 +++++- ci/hydra.nix | 7 ++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/ci/filter.nix b/ci/filter.nix index c9c4426e..fd3969b5 100644 --- a/ci/filter.nix +++ b/ci/filter.nix @@ -180,10 +180,14 @@ let "owl" "owl-base" ]; + + aarch64LinuxIgnores = [ + "elina" + ]; in rec { - inherit ocaml5Ignores darwinIgnores; + inherit ocaml5Ignores darwinIgnores aarch64LinuxIgnores; ocamlCandidates = { pkgs , ocamlVersion diff --git a/ci/hydra.nix b/ci/hydra.nix index b5c1f559..d0548cd5 100644 --- a/ci/hydra.nix +++ b/ci/hydra.nix @@ -3,7 +3,11 @@ let inherit (pkgs) lib stdenv; filter = pkgs.callPackage ./filter.nix { }; isDarwin = system == "aarch64-darwin" || system == "x86_64-darwin"; - extraIgnores = if isDarwin then filter.darwinIgnores else [ ]; + extraIgnores = + if isDarwin + then filter.darwinIgnores + else if system == "aarch64-linux" then filter.aarch64LinuxIgnores + else [ ]; in with filter; @@ -11,6 +15,7 @@ with filter; build_4_14 = ocamlCandidates { inherit pkgs; ocamlVersion = "4_14"; + extraIgnores = extraIgnores; }; build_5_1 = ocamlCandidates { inherit pkgs;