@@ -2,8 +2,10 @@ module Main where
2
2
3
3
import Prelude
4
4
5
+ import Affjax (printError )
6
+ import Affjax as AX
7
+ import Affjax.ResponseFormat as RF
5
8
import Control.Monad.Except.Trans (ExceptT (..), mapExceptT , runExceptT )
6
- import Data.Argonaut.Parser as Json
7
9
import Data.Bifunctor (lmap )
8
10
import Data.Either (Either (..))
9
11
import Data.Foldable (traverse_ )
@@ -12,22 +14,20 @@ import Effect.Aff (error, launchAff_, runAff_)
12
14
import Effect.Class (liftEffect )
13
15
import Effect.Exception (message )
14
16
import GitHub.Actions.Core as Core
15
- import Node.Buffer as Buffer
16
- import Node.Encoding (Encoding (..))
17
- import Node.FS.Sync (readFile )
18
17
import Setup.BuildPlan (constructBuildPlan )
19
18
import Setup.GetTool (getTool )
20
19
import Setup.UpdateVersions (updateVersions )
21
20
22
21
main :: Effect Unit
23
22
main = runAff_ go $ runExceptT do
24
- versionsString <- liftEffect $ Buffer .toString UTF8 =<< readFile " ./dist/versions.json"
25
- versionsJson <- ExceptT $ pure $ lmap error $ Json .jsonParser versionsString
26
- tools <- mapExceptT liftEffect $ constructBuildPlan versionsJson
23
+ versionsJson <- ExceptT $ map (lmap (error <<< printError)) $ AX .get RF .json versionsFile
24
+ tools <- mapExceptT liftEffect $ constructBuildPlan versionsJson.body
27
25
liftEffect $ Core .info " Constructed build plan."
28
26
traverse_ getTool tools
29
27
liftEffect $ Core .info " Fetched tools."
30
28
where
29
+ versionsFile = " https://raw.githubusercontent.com/purescript-contrib/setup-purescript/main/dist/versions.json"
30
+
31
31
go res = case join res of
32
32
Left err -> Core .setFailed (message err)
33
33
Right a -> pure unit
0 commit comments