diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -1,11 +1,10 @@
-hpc-codecov
-===========
+# hpc-codecov [![Hackage](https://img.shields.io/hackage/v/hpc-codecov)](https://hackage.haskell.org/package/hpc-codecov) [![Stackage](https://www.stackage.org/package/hpc-codecov/badge/lts)](https://www.stackage.org/lts/package/hpc-codecov)
 
 [![codecov](https://codecov.io/gh/8c6794b6/hpc-codecov/branch/master/graph/badge.svg)](https://codecov.io/gh/8c6794b6/hpc-codecov)
-[![Build
-Status](http://img.shields.io/travis/8c6794b6/codecov-haskell/master.svg?logo=travis)](https://travis-ci.org/8c6794b6/hpc-codecov)
+[![Travis](http://img.shields.io/travis/8c6794b6/codecov-haskell/master.svg?logo=travis)](https://travis-ci.com/8c6794b6/hpc-codecov)
 [![CircleCI](https://img.shields.io/circleci/build/gh/8c6794b6/hpc-codecov/master?logo=circleci)](https://circleci.com/gh/8c6794b6/hpc-codecov)
 [![AppVeyor](https://ci.appveyor.com/api/projects/status/dijqtsoqgc26oghj?svg=true)](https://ci.appveyor.com/project/8c6794b6/hpc-codecov)
+[![GitHub](https://img.shields.io/github/workflow/status/8c6794b6/hpc-codecov/build?logo=github)](https://github.com/8c6794b6/hpc-codecov/actions?query=workflow%3Abuild)
 
 The ``hpc-codecov`` package contains an executable and library codes
 for generating [Codecov](https://codecov.io) JSON coverage report from
diff --git a/hpc-codecov.cabal b/hpc-codecov.cabal
--- a/hpc-codecov.cabal
+++ b/hpc-codecov.cabal
@@ -1,6 +1,6 @@
 cabal-version:       2.0
 name:                hpc-codecov
-version:             0.1.0.0
+version:             0.2.0.0
 synopsis:            Generate codecov report from hpc data
 license:             BSD3
 license-file:        LICENSE
@@ -15,9 +15,8 @@
   The hpc-codecov package contains an executable and library codes for
   generating <https://codecov.io Codeocv> JSON coverage report from
   @.tix@ and @.mix@ files made with
-  <https://hackage.haskell.org/package/hpc hpc>
-  .
-  See <https://github.com/8c6794b6/hpc-codecov#readme README> for
+  <https://hackage.haskell.org/package/hpc hpc>.  See the
+  <https://github.com/8c6794b6/hpc-codecov#readme README> for
   more info.
 
 extra-source-files:
@@ -26,6 +25,12 @@
   test/data/self.tar
   test/data/reciprocal.tar
 
+tested-with:           GHC == 8.2.2
+                     , GHC == 8.4.4
+                     , GHC == 8.6.5
+                     , GHC == 8.8.3
+                     , GHC == 8.10.1
+
 library
   hs-source-dirs:      src
   exposed-modules:     Trace.Hpc.Codecov.Error
@@ -62,7 +67,7 @@
                      , hpc-codecov
                        --
                      , tar         >= 0.5   && < 0.6
-                     , tasty       >= 1.0   && < 1.3
+                     , tasty       >= 1.0   && < 1.4
                      , tasty-hunit >= 0.8   && < 1.0
   default-language:    Haskell2010
   ghc-options:         -Wall -threaded -rtsopts
diff --git a/src/Trace/Hpc/Codecov/Report.hs b/src/Trace/Hpc/Codecov/Report.hs
--- a/src/Trace/Hpc/Codecov/Report.hs
+++ b/src/Trace/Hpc/Codecov/Report.hs
@@ -70,9 +70,9 @@
  { reportTix      :: FilePath
    -- ^ Input tix file.
  , reportMixDirs  :: [FilePath]
-   -- ^ Directory containing mix files referred by the tix file.
+   -- ^ Directories containing mix files referred by the tix file.
  , reportSrcDirs  :: [FilePath]
-   -- ^ Directory containing source codes referred by the mix files.
+   -- ^ Directories containing source codes referred by the mix files.
  , reportExcludes :: [String]
    -- ^ Module name strings to exclude from coverage report.
  , reportOutFile  :: Maybe FilePath
@@ -127,6 +127,13 @@
     wrap = maybe ($ stdout) (`withFile` WriteMode) mb_outfile
     emit = flip hPutBuilder (buildJSON entries)
 
+
+-- ------------------------------------------------------------------------
+--
+-- Internal
+--
+-- ------------------------------------------------------------------------
+
 -- | Build simple JSON report from coverage entries.
 buildJSON :: [CoverageEntry] -> Builder
 buildJSON entries = contents
@@ -166,13 +173,6 @@
      return (CoverageEntry { ce_filename = path'
                            , ce_hits = lineHits })
 
-
--- ------------------------------------------------------------------------
---
--- Internal
---
--- ------------------------------------------------------------------------
-
 -- | Exclude modules specified in given 'Report'.
 excludeModules :: Report -> [TixModule] -> [TixModule]
 excludeModules rpt = filter exclude
@@ -225,9 +225,9 @@
 
 -- | Internal type used for accumulating mix entries.
 data Info =
-  Info {-# UNPACK  #-} !Int -- ^ Index count
-       {-# UNPACK  #-} !Int -- ^ Min line number
-       {-# UNPACK  #-} !Int -- ^ Max line number
+  Info {-# UNPACK #-} !Int -- ^ Index count
+       {-# UNPACK #-} !Int -- ^ Min line number
+       {-# UNPACK #-} !Int -- ^ Max line number
        ![(HpcPos, Tick)] -- ^ Pair of position and hit
 
 -- | Make line hits from intermediate info.
diff --git a/test/data/self.tar b/test/data/self.tar
Binary files a/test/data/self.tar and b/test/data/self.tar differ
