Commit Graph

81 Commits

Author SHA1 Message Date
DavHau
01b5d43524 chore: use projects.toml in docs and examples 2022-12-13 12:42:03 +07:00
Yusuf Bera Ertan
f44016a2d4
refactor: move dream2nix interface to modules 2022-11-20 09:03:09 +03:00
Yusuf Bera Ertan
fe424dc2b6
fix: correct tests 2022-11-19 04:02:51 +03:00
DavHau
919b8f6891 feat: rewrite contributors.md and integration test it 2022-11-16 17:38:00 +01:00
DavHau
b8fe6d74e9 fix: my-flake.nix for docs and integration test 2022-11-16 17:37:00 +01:00
Yusuf Bera Ertan
59870d0878
refactor: separate utils into own modules 2022-11-16 17:06:53 +03:00
Yusuf Bera Ertan
ad94dca3c7
fix: run unit tests in TMPDIR 2022-11-16 04:47:44 +03:00
Yusuf Bera Ertan
0c9d0c0dda
fix: copy tests to unit test directory instead of symlinking 2022-11-16 04:35:40 +03:00
Yusuf Bera Ertan
5ed47ba89d
fix: fix nix_ffi usage in aggregate-hashes.py 2022-11-16 04:32:55 +03:00
Yusuf Bera Ertan
a09926f4f2
fix: get utils from framework in contribute test 2022-11-16 04:18:05 +03:00
Yusuf Bera Ertan
08543bba94
fix: use correct specifications path 2022-11-16 04:17:31 +03:00
Yusuf Bera Ertan
afb6f17eff
fix: correct utils attrpath in unit tests, fix utils attrpath in lib.nix 2022-11-16 04:17:30 +03:00
Yusuf Bera Ertan
b22b97fc37
fix: tests should use framework 2022-11-16 04:17:30 +03:00
Yusuf Bera Ertan
15cb50c271
feat: make utils use modules 2022-11-16 04:17:30 +03:00
DavHau
070f24d316 feat: add integration test for contribution workflow 2022-11-15 23:07:40 +01:00
DavHau
4427f736aa chore: verify dream-lock examples 2022-11-14 18:24:31 +01:00
DavHau
fbba21b525 chore: rename directory of flake based integration tests 2022-11-14 15:42:35 +01:00
DavHau
04b386a72a fix broken symlink nix_ffi.py 2022-11-08 21:38:08 +01:00
Brian Leung
318586a750
Add git to unit-test environment 2022-10-17 04:29:07 -07:00
DavHau
45c26065ea
tests/unit/default.nix: work around undetected root directory 2022-10-17 04:29:06 -07:00
Yusuf Bera Ertan
33b93b20e9
refactor: translateFinal -> finalTranslate to make it more consistent with naming from nixpkgs and home-manager 2022-10-07 16:32:07 +03:00
Yusuf Bera Ertan
9ae157fd18
refactor: rename *Instanced to *Final 2022-10-07 16:24:41 +03:00
Yusuf Bera Ertan
c90129fa5c
tests: fix unit test 2022-10-06 22:21:27 +03:00
Yusuf Bera Ertan
55db7931ce
tests: fix unit tests, fix extended examples 2022-10-06 20:53:59 +03:00
DavHau
9977e5f015
Merge pull request #261 from nix-community/indexers-no-source
WIP: indexers: make use of source-less translators
2022-08-31 14:20:31 +02:00
DavHau
bc454bfe9d fix example test for indexer 2022-08-31 12:10:33 +02:00
DavHau
70478745ab fix formatting 2022-08-31 11:35:18 +02:00
tgunnoe
36b640d6de Add integration test for #275 2022-08-30 10:43:10 -04:00
DavHau
aeaf598afd chore: CI performance improvements
- run more jobs in parallel for `example` and `integration` tests
- use cachitx for unit tests
2022-08-24 13:14:07 +02:00
DavHau
027083be7d chore: print execution times for integration tests 2022-08-20 18:32:48 +02:00
DavHau
6d4f103b84
Merge pull request #248 from tinybeachthor/integration-tests
test: add integration tests
2022-08-18 11:37:25 +02:00
Martin Toman
dd889bc4f7 test: add descriptions for integration tests 2022-08-17 12:44:59 -07:00
DavHau
e654ffaa10 feat: module system improvements
- add documentation to the subsystem-loading interface
- expose evaled modules publicly via `framework`
- add option config.modules to allow users to include their own modules
- update examples for extending dream2nix
2022-08-15 15:34:24 +02:00
DavHau
9331fb1376 fix: examples: don't ignore feiled resolveImpure 2022-08-12 18:45:11 +02:00
Martin Toman
fd0fa4da86 Run build & check default for .#tests-integration 2022-08-11 14:11:54 -07:00
Martin Toman
c8faa3e7d2 test: add integration test for #221 2022-08-11 13:02:52 -07:00
Martin Toman
4dca0944ab test: add integration test for #235 2022-08-11 12:28:47 -07:00
Yusuf Bera Ertan
0f4d0a9847
tests: dont run read-only check no certain examples 2022-07-24 19:53:38 +03:00
Yusuf Bera Ertan
0cf34d9162
tests: run nix eval test after resolving impurities 2022-07-24 19:29:18 +03:00
Yusuf Bera Ertan
07d0e71a13
tests: run nix eval with read-only and no-ifd flags on examples to ensure they work with those flags 2022-07-24 19:26:46 +03:00
DavHau
b83394e5f2
haskell: init cabal-plan translator (#192)
* haskell: init cabal-plan translator

* simplify cabal2json: take from new nixpkgs

* delete accidental copy of file

* fix example haskell-plan-json

* rename haskell examples
2022-07-12 21:45:29 +02:00
Yusuf Bera Ertan
05167f7e6f
feat: indexers (#184)
* feat: add translate and shell commands

* feat: add indexer modules

* feat(nodejs): add a basic npm indexer

* feat: add an index app for indexing using an indexer

* feat(rust): add crates-io indexer

* refactor: use configFile in more places

* feat: implement translate-index app

* refactor: move indexers out of subsystems since they aren't subsystem specific

* fix: discard string context for config text

* docs: add a preliminary document for indexers

* docs: add examples for crates-io and npm indexer inputs

* feat: add support for setting sourceRoot in dream-lock, fix translate source patching

* fix: don't discard context from config passed as text

* fix: remove duplicate resolves

* fix: shell command

* refactor: remove useless nix calls, improve the apps

* feat: improve cli apps UX, implement runNixCmdInSrc, remove shell

* docs: more comments

* feat: add generatePackagesFromLocksTree util

* fix: pass args to generatePackagesFromDreamLocks correctly

* Update indexers.md

* chore: remove license from crates-io indexer

* fix: pass config loaded from env vars to loadConfig

* refactor: don't expose dream2nix internally

* feat: add makeOutputsForIndexes utility

* refactor: make make(Flake)OutputsForIndexes interface consistent with make(Flake)Outputs

* fix: allow passing pkgs to makeFlakeOutputsForIndexes

* fix: remove unused code

* fix: rename var to expected name

* refactor(utils/index): improve and fix overrideOutputs arg

* fix(utils/index): actually pass prev outputs to overrideOutputs

* refactor: patch all sources instead of using a seperate field in dream lock

* fix(utils/index): use .program to access the program

* fix: correct jq command in translate app

* refactor: improve translate app performance

* feat: add crates-io-simple indexer

* fix(apps/translate): only set dir if relPath is set

* fix(apps/callNixWithD2N): pin nixpkgs

* fix: unloaded config passed to dlib

* refactor: rewrite root source patching in nix

* tests: add a unit test for replace root sources

Co-authored-by: DavHau <hsngrmpf+github@gmail.com>
2022-07-12 12:33:04 +02:00
DavHau
b45c224383 simpleTranslate2: improve unit tests. Be more lazy 2022-06-16 18:10:04 +02:00
DavHau
e37041d443 remove extraDependencies from simpleTranslate2
- this field is unneccessary and `extraObjects` should be sufficient
2022-06-05 16:47:48 +02:00
Yusuf Bera Ertan
9b6638a1a7
feat: implement makeOutputs that outputs systemless structure (#161)
* feat: return underlying d2n instance if pkgs was passed to init, document init pkgs

* feat: implement makeOutputs

* tests: dont fail if resolveImpure fails

* feat: make init return a dream2nix instance, rework makeFlakeOutputs code

* feat: default to source if config.projectRoot is not specified, update examples and readme

* fix: update the simple template

* docs: clarify init in readme

* docs: change readme numbering to back to 1

* refactor: dont default projectRoot to source

* docs: make extensive example use makeFlakeOutputs, link per-pkgs d2n example in readme

* fix: call loadConfig correctly
2022-06-01 22:53:46 +02:00
Yusuf Bera Ertan
645c6fd98e
refactor: implement a validation system for builders / translators, reorganize files (#155)
* refactor: implement a validation system for builders / translators etc, organize files

* refactor: use seq instead of complicated validation function for validator

* feat: allow adding discoverers, translators and builders via config

* refactor: rework discoverers to use makeSubsystemModules as well

* fix: validate extra modules properly

* feat: support inline modules

* feat: use extra attribute for extending

* feat: make fetchers extensible properly

* fix: add name to extra fetchers

* feat: support list for extra

* docs: add some comment to lib/modules.nix

* fix: get extra module args from extraArgs

* fix: collect all modules instead of only collecting modules for built-in subsystems

* refactor: minor improvements

* refactor: improve how default subsystem modules are declared

* fix: translators and builders are directly under subsystem now

* fix: correct attribute path, remove unused argument

* fix: correct translators attribute paths

* fix: correct file paths and translators attribute paths

* fix: use correct translator attr path in wrapPureTranslator

* fix: update unit tests code

* fix: remove extra paranthesis in unit tests code

* tests: add an extended dream2nix example

* refactor: replace recursiveUpdate usage with normal update op

* tests: fix and extend d2n-extended example

* fix: pass config to d2n instance in wrap pure translator script

* fix: correct toFile usage

* fix: pass config to dlib in more places

* fix: pass config to d2n instance in aggregated hashes cli and gomod2nix translator

* refactor: remove unused extra modules validation, add warning for function modules

* fix: remove non-existent inherited variable

* docs: update translator attr path in contributors guide

* docs: add docs for extending dream2nix

* refactor: comment more code, warn for function modules only if extra is an attrset decl

* docs: fix some typos

* docs: explain some stuff in extending d2n better

* fix: print function modules warning when it is a function

* tests: add a new example that tests adding new subsystem and config.extra as nix file

* tests: use cargo-toml as translator on d2n-extended to potentially catch more bugs

* feat: add ifd warning for builders

* tests: use build-rust-package builder instead of crane builder in d2n-extended to also test it instead of only testing crane builder

* fix(rust/builders): always write the generated Cargo.lock so it doesnt get out of sync with our dream-lock

* fix(rust/builders): delete cargo lock before writing it?

* refactor: also print ifd warnings for translators

* docs: link extending d2n doc in readme, link examples in extending d2n

* docs: example naming (translators.new -> translators.example-translator)

* feat: allow setting nix files for modules declarations (eg. subsystems, subsystems.translators)

* refactor: move IFD warnings to src/lib/builders.nix / translators.nix respectively

* refactor: throw instead of warning if function declarations for modules are used

* refactor: fix throw usage

* refactor: improve modules code

* chore(deps): update nixpkgs

* fix: correct some map usages

* fix: use correct attr path for extra modules

* chore: update examples flake inputs

* style: minor formatting changes
2022-05-29 21:42:47 +02:00
DavHau
523b19fa0e fix escaping problem in tests-examples 2022-05-18 20:45:26 +02:00
DavHau
b5d473e2e8 tests-examples: allow passing arguments 2022-05-18 20:42:05 +02:00
DavHau
ed9f030be9 example tests: run all tests despite error 2022-05-17 20:12:26 +02:00
DavHau
4f1b483239 improve testing examples: fail on error 2022-05-17 13:56:08 +02:00