chore: misc cleanups for flake and ci (#12)

This commit is contained in:
seth 2023-11-08 14:21:46 +00:00 committed by GitHub
parent 40fa276ac0
commit 7f0e30fedd
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 30 additions and 26 deletions

View file

@ -4,12 +4,13 @@ on:
release: release:
types: [published, edited] types: [published, edited]
permissions:
contents: write
jobs: jobs:
release: release:
runs-on: ubuntu-latest runs-on: ubuntu-latest
permissions:
contents: write
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v4

View file

@ -38,4 +38,4 @@ jobs:
token: ${{ secrets.ATTIC_TOKEN }} token: ${{ secrets.ATTIC_TOKEN }}
- name: Build Nix Package - name: Build Nix Package
run: nix build --impure --show-trace -L .#test run: nix-build test.nix

View file

@ -6,36 +6,25 @@
}; };
outputs = {nixpkgs, ...}: let outputs = {nixpkgs, ...}: let
mkSystems = sys: builtins.map (arch: "${arch}-${sys}") ["x86_64" "aarch64"]; systems = [
systems = "x86_64-linux"
mkSystems "linux" "aarch64-linux"
++ mkSystems "darwin"; "x86_64-darwin"
"aarch64-darwin"
];
forAllSystems = nixpkgs.lib.genAttrs systems; forAllSystems = fn: nixpkgs.lib.genAttrs systems (system: fn nixpkgs.legacyPackages.${system});
nixpkgsFor = forAllSystems (system: import nixpkgs {inherit system;});
forEachSystem = fn:
forAllSystems (s: fn nixpkgsFor.${s});
in { in {
devShells = forEachSystem (pkgs: { devShells = forAllSystems (pkgs: {
default = pkgs.mkShell { default = pkgs.mkShell {
packages = with pkgs; [ packages = with pkgs; [
actionlint actionlint
nodePackages.pnpm nodejs_20
(nodePackages_latest.pnpm.override {nodejs = nodejs_20;})
]; ];
}; };
}); });
formatter = forEachSystem (p: p.alejandra); formatter = forAllSystems (p: p.alejandra);
packages = forEachSystem (p: let
time = toString builtins.currentTime;
test = p.runCommand "test-${time}" {} ''
echo ${time} > $out
'';
in {
inherit test;
default = test;
});
}; };
} }

14
test.nix Normal file
View file

@ -0,0 +1,14 @@
let
lock = builtins.fromJSON (builtins.readFile ./flake.lock);
pkgs = import (
fetchTarball {
url =
lock.nodes.nixpkgs.locked.url
or "https://github.com/NixOS/nixpkgs/archive/${lock.nodes.nixpkgs.locked.rev}.tar.gz";
sha256 = lock.nodes.nixpkgs.locked.narHash;
}
) {};
in
pkgs.runCommand "non-reproducible-test" {} ''
echo ${toString builtins.currentTime} > $out
''