Commit Graph

247 Commits

Author SHA1 Message Date
KtorZ 76ff09ba0e Ensure that version resolution works offline
And so, even for unpinned package. In this case, we can't do a HEAD request. So we fallback by looking at what's available in the cache and using the most recently downloaded version from the cache. This is only a best effort as the most recently downloaded one may not be the actual latest. But common, this is a case where (a) someone didn't pin any version, (b) is trying to build on in an offline setup. We could possibly make that edge-case better but, let's see if anyone ever complains about it first.
2023-09-13 17:17:32 -04:00
KtorZ 87087a1811 Always check package status when version is not pinned
When the version isn't a git sha or a tag, we always check that we got
  the last version of a particular dependency before building. This is
  to avoid those awkward moments where someone try to use something from
  the stdlib that is brand new, and despite using 'main' they get a
  strange build failure regarding how it's not available.

  An important note is that we don't actually re-download the package
  when the case occurs; we merely check an HTTP ETag from a (cheap) 'HEAD'
  request on the package registry. If the tag hasn't changed then that
  means the local version is correct.

  The behavior is completely bypassed if the version is specified using
  a git sha or a tag, as here, we can assume that fetching it once it
  enough (and that it can change). If a package maintainer force-pushed
  a tag however, there may be discrepency and the only way around that
  is to `rm -r ./build`.
2023-09-13 17:17:32 -04:00
KtorZ 3c3a7f2423 Define 'is_git_sha_or_version' to assert whether a version is 'immutable'
Best-effort to assert whether a version refers is a git sha digest or a tag. When it is, we
avoid re-downloading it if it's already fetched. But when it isn't, and thus refer to a branch,
we always re-download it. Note however that the download might be short-circuited by the
system-wide package cache, so a download doesn't actually mean a network request.

The package cache is however smart-enough to assert whether a package in the cache must be
re-downloaded (using HTTP ETag). So this is mostly about delegating the re-downloading logic to
the global packages cache.
2023-09-13 17:17:32 -04:00
KtorZ 65fb3a640a Remove dead-code. 2023-09-13 17:17:32 -04:00
KtorZ a72628a4dc Auto-derive 'Debug' trait instance for types in deps
Actually useful to debug / troubleshoot things.
2023-09-13 17:17:32 -04:00
rvcas 437a95bfe8
fix: behave like rust with hyphens closes #722 closes #690 2023-08-31 18:00:21 -04:00
microproofs baa6917af5 Fix: Change type map length assert to check for greater than equals instead of equals to argument length 2023-08-29 21:59:15 -04:00
rvcas b075d85b40
chore: Release 2023-08-24 15:05:12 -06:00
rvcas a7062ccb88
chore: fix versions 2023-08-24 15:04:19 -06:00
rvcas 747e057d05
fix: tags 2023-08-24 15:00:09 -06:00
KtorZ 2f0211a7b1
Bump all version manually because cargo workspaces didn't work. 2023-08-22 13:27:10 +02:00
microproofs 89c55a23fa chore: Release 2023-08-19 20:17:00 -04:00
microproofs 084b900b2a change: traverse_with_tree now has a boolean to determine when with is called
fix: Opaque types are now properly handled in code gen (i.e. code gen functions, in datums/redeemers, in from data casts)
chore: add specific nested opaque type tests to code gen
2023-08-19 20:07:37 -04:00
KtorZ c1b8040ae2 Add helper for splitting a long line into multiple lines. 2023-08-19 13:39:39 -04:00
KtorZ 961e323c36 Enable iterating over validator's parameters with a callback
This is how we'll construct parameters interactively. We need to lookup the definition, and provide a data representation for it.
2023-08-19 13:39:39 -04:00
rvcas 690e41261e
chore: Release 2023-08-16 23:30:21 -04:00
Ariady Putra 8cf92ce8ed `aiken new`: Try to get the latest tag of stdlib 2023-08-16 22:30:15 -04:00
microproofs c95f43ae07 add one more test 2023-08-16 21:59:25 -04:00
microproofs 20aa54b5ca fix: last test fixed 2023-08-16 21:59:25 -04:00
microproofs 2456801b17 fix list clauses with guards and add more tests 2023-08-16 21:59:25 -04:00
rvcas 6ecb3f08b0
chore: default stdlib on new is 1.5.0 2023-08-16 13:24:10 -04:00
microproofs eda388fb29 test(aiken-lang): add a new test for list edge case in when clause patterns 2023-08-08 20:47:35 -04:00
microproofs 367dabafb5 fix: update last 2 tests for new recursion optimization 2023-08-07 19:06:00 -04:00
Pi Lanningham f464eb3702 Cargo fmt + clippy, with latest rust 2023-08-07 19:00:39 -04:00
microproofs 90c7753201 update tests for new recursion optmization 2023-08-07 19:00:39 -04:00
microproofs 1d9878c5ee fix: code gen tests now up to date using trace
fix: Formatter should take ErrorTerm and return "fail"
fix: fail with no reason should just return ErrorTerm
2023-08-07 12:02:44 -04:00
microproofs 624fdee9ea keep traces in tests 2023-08-07 12:02:44 -04:00
microproofs 36c80f36c1 fix tests 2023-08-07 12:02:44 -04:00
microproofs 49a0a91103 fix tests again 2023-08-07 12:02:44 -04:00
microproofs 5aecb96668 constants are back. I had broke them when switching how data casting works 2023-08-07 12:02:44 -04:00
microproofs 4e3ced5b75 fix and clean up tests and handle
one edge case on rearrange clauses
2023-08-07 12:02:44 -04:00
microproofs 018453f6b1 fix expect on tuple type using the wrong internal type 2023-08-07 12:02:44 -04:00
microproofs f03ed41e03 fix some unnecessary lambdas in assign 2023-08-07 12:02:44 -04:00
microproofs 03dd13dc7d fixing list condition edge cases and clean up rearrange list clauses 2023-08-07 12:02:44 -04:00
microproofs 58b327e5b3 fixing bugs and edge cases 2023-08-07 12:02:44 -04:00
microproofs 55dd1a1a56 out with the old code and in with the air tree 2023-08-07 12:02:44 -04:00
microproofs 5bcc425f0f feat: changed air expressions clause guard
and list clause guard to air statements
2023-08-07 12:02:44 -04:00
rvcas be7a441205
fix(uplc): pair type formatting closes #680 2023-07-19 13:49:05 -04:00
rvcas 97acd6d7bd
chore: Release 2023-07-15 21:37:10 -04:00
rvcas 621017bd93
chore: Release 2023-07-14 10:55:13 -04:00
rvcas e7c1b28b52
feat: add ability to reference validators in tests closes #632 2023-07-12 18:29:03 -04:00
rvcas 1ab1ff9a1f feat: rename error to fail 2023-07-12 09:16:37 -04:00
rvcas 01be548752
chore: update stdlib version in new command relates to #672 2023-07-10 07:36:31 -04:00
rvcas 8a7df7f66b
test: add empty list test 2023-07-04 17:19:29 -04:00
KtorZ 49098d5a45 Bump miette to 5.9.0
No particular reason, but it's good to be up-to-date with our dependencies.
2023-07-04 16:51:59 -04:00
Pi Lanningham c10f0e53df cargo fmt 2023-07-01 16:17:10 -04:00
Pi Lanningham 4a8cb72708 Add a blueprint policy command
Computes the policy ID of a minting policy; added guards for blueprint address to check that it's not a minting policy; Wasn't 100% sure where the errors should live, so I'm happy to move them if there's objections
2023-07-01 16:17:10 -04:00
rvcas 90ff211205
chore: Release 2023-06-23 19:41:14 -04:00
rvcas 619b73d03e
feat: enhance new command 2023-06-23 19:40:11 -04:00
microproofs db369da96e feat: Make traces produced by expect dependent on
the value of the tracing flag.
2023-06-23 14:03:23 -04:00