diff --git a/.github/actions/setup-tests/action.yml b/.github/actions/setup-tests/action.yml index c474abaa..5a8621d3 100644 --- a/.github/actions/setup-tests/action.yml +++ b/.github/actions/setup-tests/action.yml @@ -9,14 +9,14 @@ runs: git config --global user.name "GitHub Actions Bot" git config --global user.email "<>" - name: Install Nix - uses: DeterminateSystems/nix-installer-action@07b8bcba1b22d847db7ee507180c33e115499665 # v8 - - uses: DeterminateSystems/magic-nix-cache-action@8a218f9e264e9c3803c9a1ee1c30d8e4ab55be63 # v2 + uses: DeterminateSystems/nix-installer-action@90bb610b90bf290cad97484ba341453bd1cbefea # v19 + - uses: DeterminateSystems/magic-nix-cache-action@565684385bcd71bad329742eefe8d12f2e765b39 # v13 - name: Check Nixpkgs inputs - uses: DeterminateSystems/flake-checker-action@4b90f9fc724969ff153fe1803460917c84fe00a3 # v5 + uses: DeterminateSystems/flake-checker-action@3164002371bc90729c68af0e24d5aacf20d7c9f6 # v12 with: fail-mode: true - name: Use Maven dependency cache - uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 + uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4 with: path: ~/.m2/repository # We use a unique key and restore from the base one, to ensure that diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index af23b091..06d9b465 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -15,7 +15,7 @@ jobs: name: Tests with Java ${{ matrix.java }} on ${{ matrix.os }} strategy: matrix: - java: [11, 17, 20, 21-ea] + java: [11, 17, 21, 24] os: [ubuntu-latest] steps: - name: Checkout diff --git a/flake.lock b/flake.lock index f8efa105..dae4810f 100644 --- a/flake.lock +++ b/flake.lock @@ -2,11 +2,11 @@ "nodes": { "nixpkgs": { "locked": { - "lastModified": 1711703276, - "narHash": "sha256-iMUFArF0WCatKK6RzfUJknjem0H9m4KgorO/p3Dopkk=", + "lastModified": 1756542300, + "narHash": "sha256-tlOn88coG5fzdyqz6R93SQL5Gpq+m/DsWpekNFhqPQk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d8fe5e6c92d0d190646fb9f1056741a229980089", + "rev": "d7600c775f877cd87b4f5a831c28aa94137377aa", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 124b7325..5a15662f 100644 --- a/flake.nix +++ b/flake.nix @@ -18,58 +18,26 @@ (final: prev: let base = rec { - jdk = if javaVersion < 21 then prev."jdk${toString javaVersion}" else jdk21-ea; - maven = prev.maven.override { inherit jdk; }; + jdk = prev."jdk${toString javaVersion}"; + maven = prev.maven.override { jdk_headless = jdk; }; }; in base) ]; }; - jdk21-ea = pkgs.stdenv.mkDerivation rec { - name = "jdk21-oracle"; - version = "21+35"; - src = builtins.fetchTarball { - url = "https://download.java.net/java/GA/jdk21/fd2272bbf8e04c3dbaee13770090416c/35/GPL/openjdk-21_linux-x64_bin.tar.gz"; - sha256 = "sha256:0g3vf0kcpciixfv1kvgbk685h6cfn1s0cx2di4rhl3r7xlal217w"; - }; - installPhase = '' - cd .. - mv $sourceRoot $out - ''; - }; semver = pkgs.buildGoModule rec { name = "semver"; - version = "2.1.0"; + version = "2.11.0"; - vendorHash = "sha256-HKqZbgP7vqDJMaHUbSqfSOnBYwzOtIr9o2v/T9S+uNg="; + vendorHash = "sha256-7xs+6gqy4WeP1L2VthZJ3IOYRKMWbpKdAQn6lu4Z5g0="; subPackages = [ "cmd/semver" ]; src = pkgs.fetchFromGitHub { owner = "ffurrer2"; repo = "semver"; rev = "v${version}"; - sha256 = "sha256-i/XPA2Hr2puJFKupIeBUE/yFPJxSeVsDWcz1OepxIcU="; - }; - }; - jreleaser = pkgs.stdenv.mkDerivation rec { - pname = "jreleaser-cli"; - version = "1.7.0"; - - src = pkgs.fetchurl { - url = "https://github.com/jreleaser/jreleaser/releases/download/v${version}/jreleaser-tool-provider-${version}.jar"; - sha256 = "sha256-gr1IWisuep00xyoZWKXtHymWkQjbDhlk6+UC16bKXu0="; + sha256 = "sha256-BAONscuPUqfzEwDuyIqZroArEMnE6HmCfT9NTZ1LuXo="; }; - - nativeBuildInputs = with pkgs; [ makeWrapper ]; - - dontUnpack = true; - - installPhase = '' - mkdir -p $out/share/java/ $out/bin/ - cp $src $out/share/java/${pname}.jar - makeWrapper ${pkgs.jdk}/bin/java $out/bin/${pname} \ - --add-flags "-jar $out/share/java/${pname}.jar" - ''; }; in pkgs.mkShell rec { @@ -82,25 +50,19 @@ ''; packages = with pkgs; [ jdk maven test ] - ++ (if release then [ semver jreleaser ] else [ ]); + ++ (if release then [ semver pkgs.jreleaser-cli ] else [ ]); }; in { - devShells = - let - # We have additional options (currently EA jdks) on 64 bit linux systems - blessedSystem = "x86_64-linux"; - blessed = { jdk21-ea = mkShell blessedSystem { javaVersion = 21; }; }; - common = forAllSystems - (system: - rec { - default = jdk20; - jdk20 = mkShell system { javaVersion = 20; }; - jdk17 = mkShell system { javaVersion = 17; }; - jdk11 = mkShell system { javaVersion = 11; }; - jReleaser = mkShell system { release = true; javaVersion = 11; }; - }); - in - common // { "${blessedSystem}" = common."${blessedSystem}" // blessed; }; + devShells = forAllSystems (system: + rec { + default = jdk21; + jdk24 = mkShell system { javaVersion = 24; }; + jdk21 = mkShell system { javaVersion = 21; }; + jdk17 = mkShell system { javaVersion = 17; }; + jdk11 = mkShell system { javaVersion = 11; }; + jReleaser = mkShell system { release = true; javaVersion = 21; }; + } + ); }; }