mirror of
https://github.com/digital-asset/daml.git
synced 2024-09-19 08:48:21 +03:00
run-full-compat: true
This commit is contained in:
parent
7a8fc1298d
commit
c09ba1b95f
@ -141,6 +141,7 @@ jobs:
|
||||
var_name: bash-lib
|
||||
- bash: |
|
||||
set -euo pipefail
|
||||
cd sdk
|
||||
eval "$(./dev-env/bin/dade-assist)"
|
||||
source $(bash-lib)
|
||||
COMMIT=$(git rev-parse HEAD^2)
|
||||
|
@ -147,7 +147,7 @@ module Main where
|
||||
""" > Main.daml
|
||||
}
|
||||
|
||||
init_daml_package_with_script () {
|
||||
init_daml_package_with_deps () {
|
||||
echo """
|
||||
sdk-version: $1
|
||||
name: test-daml-yaml-install
|
||||
@ -161,6 +161,7 @@ dependencies:
|
||||
- daml-prim
|
||||
- daml-stdlib
|
||||
- daml-script
|
||||
- ./dep.dar
|
||||
""" > daml.yaml
|
||||
|
||||
echo """
|
||||
@ -171,6 +172,28 @@ import Daml.Script
|
||||
main : Script ()
|
||||
main = pure ()
|
||||
""" > Main.daml
|
||||
|
||||
mkdir ./dep
|
||||
|
||||
echo """
|
||||
sdk-version: $1
|
||||
name: test-daml-yaml-install-dep
|
||||
version: 1.0.0
|
||||
source: Dep.daml
|
||||
scenario: Dep:main
|
||||
parties:
|
||||
- Alice
|
||||
- Bob
|
||||
dependencies:
|
||||
- daml-prim
|
||||
- daml-stdlib
|
||||
build-options:
|
||||
- --output=../dep.dar
|
||||
""" > ./dep/daml.yaml
|
||||
|
||||
echo """
|
||||
module Dep where
|
||||
""" > ./dep/Dep.daml
|
||||
}
|
||||
|
||||
do_post_failed_tarball_install_behaviour () {
|
||||
@ -329,7 +352,10 @@ case "$command_to_run" in
|
||||
install_with_custom_version_and_build)
|
||||
custom_version=2.99.0
|
||||
"$(rlocation "head_sdk/$head_sdk_exe")" install --install-assistant yes --install-with-custom-version $custom_version "$(rlocation head_sdk/sdk-release-tarball-ce.tar.gz)"
|
||||
init_daml_package_with_script $custom_version
|
||||
init_daml_package_with_deps $custom_version
|
||||
cd ./dep
|
||||
$daml_exe build
|
||||
cd ..
|
||||
$daml_exe build
|
||||
;;
|
||||
install_and_build_from_tarball)
|
||||
|
@ -206,6 +206,7 @@ da_haskell_library(
|
||||
"regex-tdfa",
|
||||
"safe",
|
||||
"safe-exceptions",
|
||||
"semver",
|
||||
"shake",
|
||||
"some",
|
||||
"split",
|
||||
|
@ -16,7 +16,7 @@ import Control.Lens (toListOf)
|
||||
import Control.Monad.Extra
|
||||
import DA.Daml.Compiler.Dar
|
||||
import DA.Daml.Compiler.ExtractDar (ExtractedDar(..), extractDar)
|
||||
import DA.Daml.Project.Types (ReleaseVersion, sdkVersionToText, sdkVersionFromReleaseVersion)
|
||||
import DA.Daml.Project.Types (ReleaseVersion, sdkVersionToText, sdkVersionFromReleaseVersion, releaseVersionFromReleaseVersion)
|
||||
import DA.Daml.Helper.Ledger
|
||||
import qualified DA.Daml.LF.Ast as LF
|
||||
import qualified DA.Daml.LF.Ast.Optics as LF
|
||||
@ -31,6 +31,7 @@ import qualified Data.ByteString.Lazy as BSL
|
||||
import Data.Char
|
||||
import Data.List.Extra
|
||||
import qualified Data.Map.Strict as M
|
||||
import qualified Data.SemVer as V
|
||||
import qualified Data.Set as Set
|
||||
import qualified Data.Text as T
|
||||
import qualified Data.Yaml as Yaml
|
||||
@ -196,13 +197,16 @@ installDependencies projRoot opts releaseVersion pDeps pDataDeps = do
|
||||
packageRefs pkg = Set.fromList [pid | LF.PRImport pid <- toListOf LF.packageRefs pkg]
|
||||
depsDir = dependenciesDir opts projRoot
|
||||
|
||||
-- | Check that only one sdk version is present in dependencies and it equals this sdk version.
|
||||
-- | Check that all dependencies match the main packages release (or sdk) version
|
||||
-- We check for both, as packages usually use the release version, but internal packages (like daml-script) use the sdk-version, as the
|
||||
-- release version cannot be known at compilation time
|
||||
checkSdkVersions :: ReleaseVersion -> [ExtractedDar] -> IO ()
|
||||
checkSdkVersions releaseVersion depsExtracted = do
|
||||
let thisReleaseVer = T.unpack (V.toText (releaseVersionFromReleaseVersion releaseVersion))
|
||||
let thisSdkVer = T.unpack (sdkVersionToText (sdkVersionFromReleaseVersion releaseVersion))
|
||||
let uniqSdkVersions = nubSort $ thisSdkVer : map edSdkVersions depsExtracted
|
||||
let uniqSdkVersions = nubSort $ thisReleaseVer : map edSdkVersions depsExtracted
|
||||
let depsSdkVersions = map edSdkVersions depsExtracted
|
||||
unless (all (== thisSdkVer) depsSdkVersions) $
|
||||
unless (all (\ver -> ver == thisSdkVer || ver == thisReleaseVer) depsSdkVersions) $
|
||||
fail $
|
||||
"Package dependencies from different SDK versions: " ++ intercalate ", " uniqSdkVersions
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user