From f75823ce6c4a8b59daa7d4ccde1177b4c3f26d57 Mon Sep 17 00:00:00 2001 From: Martijn Bastiaan Date: Fri, 11 Feb 2022 08:18:38 +0100 Subject: [PATCH 1/4] Add `multiple_hidden` check to CI We disable `multiple_hidden` on releases. Or rather, we've agreed to do that, but yours truly forgot to when releasing v1.6.0. This check ensures that doesn't happen again. --- .ci/setup.sh | 29 +++++++++++++++++++++-------- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/.ci/setup.sh b/.ci/setup.sh index 415fb1feb0..9ef5489702 100755 --- a/.ci/setup.sh +++ b/.ci/setup.sh @@ -30,16 +30,29 @@ CI_COMMIT_TAG=${CI_COMMIT_TAG:-} version=$(echo $versions | tr ' ' '\n' | head -n 1) tag_version=${CI_COMMIT_TAG:1:${#CI_COMMIT_TAG}-1} # Strip first character (v0.99 -> 0.99) -if [[ ${tag_version} != "" && ${version} != ${tag_version} ]]; then - if [[ "${CI_COMMIT_TAG:0:1}" == "v" ]]; then - echo "Tag name and distribution's release number should match:" - echo " Tag version: ${CI_COMMIT_TAG}" - echo " Distribution version: v${version}" - exit 1; - else - echo "\$CI_COMMIT_TAG should start with a 'v'. Found: ${CI_COMMIT_TAG}" +# `tag_version` is set when a tag has been created on GitHub. We use this to +# trigger a release pipeline (release to Snap / Hackage). +if [[ ${tag_version} != "" ]]; then + + if [[ ${version} != ${tag_version} ]]; then + if [[ "${CI_COMMIT_TAG:0:1}" == "v" ]]; then + echo "Tag name and distribution's release number should match:" + echo " Tag version: ${CI_COMMIT_TAG}" + echo " Distribution version: v${version}" + exit 1; + else + echo "\$CI_COMMIT_TAG should start with a 'v'. Found: ${CI_COMMIT_TAG}" + exit 1; + fi + fi + + set +e + grep "flag multiple-hidden" -A 7 clash-prelude/clash-prelude.cabal | grep -q "default: False" + if [[ $? != 0 ]]; then + echo "multiple_hidden flag should be disabled by default on releases!" exit 1; fi + set -e fi # Print out versions for debugging purposes From db4a1d991a082cdb9d2ebf8d3968f44904a6f86c Mon Sep 17 00:00:00 2001 From: Martijn Bastiaan Date: Fri, 11 Feb 2022 08:22:45 +0100 Subject: [PATCH 2/4] Add v1.6.1 to CHANGELOG.md --- CHANGELOG.md | 7 +++++++ changelog/2022-02-10T18_32_06+01_00_TryDomain_sized_types | 1 - 2 files changed, 7 insertions(+), 1 deletion(-) delete mode 100644 changelog/2022-02-10T18_32_06+01_00_TryDomain_sized_types diff --git a/CHANGELOG.md b/CHANGELOG.md index 4eabc305d4..3a8a0630ee 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,11 @@ # Changelog for the Clash project +## 1.6.1 *Feb 11th 2022* +Changed: + * We accidentally released `v1.6.0` with the Cabal flag `multiple-hidden` enabled. This is an experimental feature, supposed to be disabled by default for releases. `v1.6.1` disables it again. + +Added: + * `Clash.Class.HasDomain.TryDomain` instances for Clash sized types + ## 1.6.0 *Feb 10th 2022* Added: * `Clash.Class.Counter`: a class that defines a odometer-style supercounter. [#1763](https://github.com/clash-lang/clash-compiler/pull/1763) diff --git a/changelog/2022-02-10T18_32_06+01_00_TryDomain_sized_types b/changelog/2022-02-10T18_32_06+01_00_TryDomain_sized_types deleted file mode 100644 index 3a2cc1e271..0000000000 --- a/changelog/2022-02-10T18_32_06+01_00_TryDomain_sized_types +++ /dev/null @@ -1 +0,0 @@ -ADDED: Added `Clash.Class.HasDomain.TryDomain` instances to Clash sized types From 945c3e73287114b34e0c8093ff745c5d0b644e1f Mon Sep 17 00:00:00 2001 From: Martijn Bastiaan Date: Fri, 11 Feb 2022 08:24:29 +0100 Subject: [PATCH 3/4] Bump to v1.6.1 --- .ci/bindist/linux/snap/snap/snapcraft.yaml | 2 +- clash-cores/clash-cores.cabal | 2 +- clash-ghc/clash-ghc.cabal | 6 +++--- clash-lib-hedgehog/clash-lib-hedgehog.cabal | 4 ++-- clash-lib/clash-lib.cabal | 4 ++-- clash-prelude-hedgehog/clash-prelude-hedgehog.cabal | 4 ++-- clash-prelude/clash-prelude.cabal | 2 +- docs/conf.py | 2 +- 8 files changed, 13 insertions(+), 13 deletions(-) diff --git a/.ci/bindist/linux/snap/snap/snapcraft.yaml b/.ci/bindist/linux/snap/snap/snapcraft.yaml index aa986c04ef..4604a0ef07 100644 --- a/.ci/bindist/linux/snap/snap/snapcraft.yaml +++ b/.ci/bindist/linux/snap/snap/snapcraft.yaml @@ -1,5 +1,5 @@ name: clash -version: '1.6.0' +version: '1.6.1' summary: 'Clash: from Haskell to hardware' description: | Clash is a functional hardware description language that borrows both its diff --git a/clash-cores/clash-cores.cabal b/clash-cores/clash-cores.cabal index 64762573e6..7f8c38e6b6 100644 --- a/clash-cores/clash-cores.cabal +++ b/clash-cores/clash-cores.cabal @@ -1,7 +1,7 @@ cabal-version: 2.2 name: clash-cores -version: 1.6.0 +version: 1.6.1 synopsis: A collection of IP cores for Clash description: A collection of IP cores for Clash bug-reports: https://github.com/clash-lang/clash-cores/issues diff --git a/clash-ghc/clash-ghc.cabal b/clash-ghc/clash-ghc.cabal index 9af364b497..e294b1fdbb 100644 --- a/clash-ghc/clash-ghc.cabal +++ b/clash-ghc/clash-ghc.cabal @@ -1,6 +1,6 @@ Cabal-version: 2.2 Name: clash-ghc -Version: 1.6.0 +Version: 1.6.1 Synopsis: Clash: a functional hardware description language - GHC frontend Description: Clash is a functional hardware description language that borrows both its @@ -152,8 +152,8 @@ library transformers >= 0.5.2.0 && < 0.7, unordered-containers >= 0.2.1.0 && < 0.3, - clash-lib == 1.6.0, - clash-prelude == 1.6.0, + clash-lib == 1.6.1, + clash-prelude == 1.6.1, concurrent-supply >= 0.1.7 && < 0.2, ghc-typelits-extra >= 0.3.2 && < 0.5, ghc-typelits-knownnat >= 0.6 && < 0.8, diff --git a/clash-lib-hedgehog/clash-lib-hedgehog.cabal b/clash-lib-hedgehog/clash-lib-hedgehog.cabal index 568f99c4bc..eacbb41a0d 100644 --- a/clash-lib-hedgehog/clash-lib-hedgehog.cabal +++ b/clash-lib-hedgehog/clash-lib-hedgehog.cabal @@ -1,7 +1,7 @@ cabal-version: 2.2 name: clash-lib-hedgehog -version: 1.6.0 +version: 1.6.1 synopsis: Hedgehog Generators for clash-lib description: Hedgehog Generators for clash-lib bug-reports: https://github.com/clash-lang/clash-compiler/issues @@ -65,4 +65,4 @@ library text >= 1.2.2 && < 1.4, transformers >= 0.5.2.0 && < 0.7, - clash-lib == 1.6.0, + clash-lib == 1.6.1, diff --git a/clash-lib/clash-lib.cabal b/clash-lib/clash-lib.cabal index a2b29d8bae..ab415e100f 100644 --- a/clash-lib/clash-lib.cabal +++ b/clash-lib/clash-lib.cabal @@ -1,6 +1,6 @@ Cabal-version: 2.2 Name: clash-lib -Version: 1.6.0 +Version: 1.6.1 Synopsis: Clash: a functional hardware description language - As a library Description: Clash is a functional hardware description language that borrows both its @@ -136,7 +136,7 @@ Library base16-bytestring >= 0.1.1 && < 1.1, binary >= 0.8.5 && < 0.11, bytestring >= 0.10.0.2 && < 0.12, - clash-prelude == 1.6.0, + clash-prelude == 1.6.1, concurrent-supply >= 0.1.7 && < 0.2, containers >= 0.5.0.0 && < 0.7, cryptohash-sha256 >= 0.11 && < 0.12, diff --git a/clash-prelude-hedgehog/clash-prelude-hedgehog.cabal b/clash-prelude-hedgehog/clash-prelude-hedgehog.cabal index ad2a9a6669..39622db363 100644 --- a/clash-prelude-hedgehog/clash-prelude-hedgehog.cabal +++ b/clash-prelude-hedgehog/clash-prelude-hedgehog.cabal @@ -1,7 +1,7 @@ cabal-version: 2.2 name: clash-prelude-hedgehog -version: 1.6.0 +version: 1.6.1 synopsis: Hedgehog Generators for clash-prelude description: Hedgehog Generators for clash-prelude bug-reports: https://github.com/clash-lang/clash-compiler/issues @@ -53,4 +53,4 @@ library ghc-typelits-natnormalise >= 0.7.2 && < 0.8, text >= 1.2.2 && < 1.4, - clash-prelude == 1.6.0, + clash-prelude == 1.6.1, diff --git a/clash-prelude/clash-prelude.cabal b/clash-prelude/clash-prelude.cabal index 39ccb24558..4e0e3f8451 100644 --- a/clash-prelude/clash-prelude.cabal +++ b/clash-prelude/clash-prelude.cabal @@ -1,6 +1,6 @@ Cabal-version: 2.2 Name: clash-prelude -Version: 1.6.0 +Version: 1.6.1 Synopsis: Clash: a functional hardware description language - Prelude library Description: Clash is a functional hardware description language that borrows both its diff --git a/docs/conf.py b/docs/conf.py index 4d5f0b0840..339a28c944 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -28,7 +28,7 @@ project = 'Clash' copyright = '2017-2019, The Clash Developers' author = 'The Clash Developers' -version = '1.6.0' +version = '1.6.1' release = version # Syntax highlighting From 7d11a2b39117d534e90765061dbdeb3f2956ddb2 Mon Sep 17 00:00:00 2001 From: Martijn Bastiaan Date: Fri, 11 Feb 2022 08:34:23 +0100 Subject: [PATCH 4/4] Disable multiple_hidden for 1.6.1 --- clash-prelude/clash-prelude.cabal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/clash-prelude/clash-prelude.cabal b/clash-prelude/clash-prelude.cabal index 4e0e3f8451..5e4ef79056 100644 --- a/clash-prelude/clash-prelude.cabal +++ b/clash-prelude/clash-prelude.cabal @@ -96,7 +96,7 @@ flag multiple-hidden experimental feature, possibly triggering confusing error messages. By default, it is enabled on development versions of Clash and disabled on releases. - default: True + default: False manual: True flag doctests