add deps/ci
This commit is contained in:
		
							parent
							
								
									54bf9da2a3
								
							
						
					
					
						commit
						29aafc26fa
					
				
					 4 changed files with 117 additions and 3 deletions
				
			
		
							
								
								
									
										23
									
								
								.forgejo/workflows/ci.yaml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								.forgejo/workflows/ci.yaml
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,23 @@ | |||
| on: | ||||
|   pull_request: | ||||
|     types: | ||||
|       - opened | ||||
|       - synchronize | ||||
|       - reopened | ||||
|   push: | ||||
|     branches: | ||||
|       - main | ||||
| 
 | ||||
| jobs: | ||||
|   check-pre-commit: | ||||
|     runs-on: native | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|       - run: nix build .#checks.x86_64-linux.pre-commit -L | ||||
| 
 | ||||
|   check-website: | ||||
|     runs-on: native | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|       - run: nix-build -A tests | ||||
|       - run: nix-build -A build | ||||
|  | @ -1,5 +1,5 @@ | |||
| { | ||||
|   sources ? import ../npins, | ||||
|   sources ? import ./npins, | ||||
|   system ? builtins.currentSystem, | ||||
|   pkgs ? import sources.nixpkgs { | ||||
|     inherit system; | ||||
|  | @ -75,12 +75,12 @@ rec { | |||
|     with lib; | ||||
|     let | ||||
|       source = fileset.toSource { | ||||
|         root = ../.; | ||||
|         root = ./.; | ||||
|         fileset = fileset.unions [ | ||||
|           ./default.nix | ||||
|           ./tests.nix | ||||
|           ./lib.nix | ||||
|           ../npins | ||||
|           ./npins | ||||
|         ]; | ||||
|       }; | ||||
|     in | ||||
|  |  | |||
							
								
								
									
										80
									
								
								npins/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										80
									
								
								npins/default.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,80 @@ | |||
| # Generated by npins. Do not modify; will be overwritten regularly | ||||
| let | ||||
|   data = builtins.fromJSON (builtins.readFile ./sources.json); | ||||
|   version = data.version; | ||||
| 
 | ||||
|   mkSource = | ||||
|     spec: | ||||
|     assert spec ? type; | ||||
|     let | ||||
|       path = | ||||
|         if spec.type == "Git" then | ||||
|           mkGitSource spec | ||||
|         else if spec.type == "GitRelease" then | ||||
|           mkGitSource spec | ||||
|         else if spec.type == "PyPi" then | ||||
|           mkPyPiSource spec | ||||
|         else if spec.type == "Channel" then | ||||
|           mkChannelSource spec | ||||
|         else | ||||
|           builtins.throw "Unknown source type ${spec.type}"; | ||||
|     in | ||||
|     spec // { outPath = path; }; | ||||
| 
 | ||||
|   mkGitSource = | ||||
|     { | ||||
|       repository, | ||||
|       revision, | ||||
|       url ? null, | ||||
|       hash, | ||||
|       branch ? null, | ||||
|       ... | ||||
|     }: | ||||
|     assert repository ? type; | ||||
|     # At the moment, either it is a plain git repository (which has an url), or it is a GitHub/GitLab repository | ||||
|     # In the latter case, there we will always be an url to the tarball | ||||
|     if url != null then | ||||
|       (builtins.fetchTarball { | ||||
|         inherit url; | ||||
|         sha256 = hash; # FIXME: check nix version & use SRI hashes | ||||
|       }) | ||||
|     else | ||||
|       assert repository.type == "Git"; | ||||
|       let | ||||
|         urlToName = | ||||
|           url: rev: | ||||
|           let | ||||
|             matched = builtins.match "^.*/([^/]*)(\\.git)?$" repository.url; | ||||
| 
 | ||||
|             short = builtins.substring 0 7 rev; | ||||
| 
 | ||||
|             appendShort = if (builtins.match "[a-f0-9]*" rev) != null then "-${short}" else ""; | ||||
|           in | ||||
|           "${if matched == null then "source" else builtins.head matched}${appendShort}"; | ||||
|         name = urlToName repository.url revision; | ||||
|       in | ||||
|       builtins.fetchGit { | ||||
|         url = repository.url; | ||||
|         rev = revision; | ||||
|         inherit name; | ||||
|         # hash = hash; | ||||
|       }; | ||||
| 
 | ||||
|   mkPyPiSource = | ||||
|     { url, hash, ... }: | ||||
|     builtins.fetchurl { | ||||
|       inherit url; | ||||
|       sha256 = hash; | ||||
|     }; | ||||
| 
 | ||||
|   mkChannelSource = | ||||
|     { url, hash, ... }: | ||||
|     builtins.fetchTarball { | ||||
|       inherit url; | ||||
|       sha256 = hash; | ||||
|     }; | ||||
| in | ||||
| if version == 3 then | ||||
|   builtins.mapAttrs (_: mkSource) data.pins | ||||
| else | ||||
|   throw "Unsupported format version ${toString version} in sources.json. Try running `npins upgrade`" | ||||
							
								
								
									
										11
									
								
								npins/sources.json
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								npins/sources.json
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,11 @@ | |||
| { | ||||
|   "pins": { | ||||
|     "nixpkgs": { | ||||
|       "type": "Channel", | ||||
|       "name": "nixpkgs-unstable", | ||||
|       "url": "https://releases.nixos.org/nixpkgs/nixpkgs-25.05pre777917.b7ba7f9f45c5/nixexprs.tar.xz", | ||||
|       "hash": "0jb6b7sv66bn06pchj2l88z0i5dlz0c2vb3z6pjjlq2p8q11zigg" | ||||
|     } | ||||
|   }, | ||||
|   "version": 3 | ||||
| } | ||||
		Reference in a new issue
	
	 Kiara Grouwstra
						Kiara Grouwstra