@@ -1588,6 +1588,17 @@ tasks:
1588
1588
majorLeafVersions ["mint/setup-ruby" ] = "1.0.1"
1589
1589
majorLeafVersions ["mint/setup-go" ] = "1.3.5"
1590
1590
1591
+ minorLeafVersions ["mint/setup-node" ] = map [string ]string {
1592
+ "1" : "1.2.3" ,
1593
+ }
1594
+ minorLeafVersions ["mint/setup-ruby" ] = map [string ]string {
1595
+ "0" : "0.0.2" ,
1596
+ "1" : "1.0.1" ,
1597
+ }
1598
+ minorLeafVersions ["mint/setup-go" ] = map [string ]string {
1599
+ "1" : "1.3.5" ,
1600
+ }
1601
+
1591
1602
var err error
1592
1603
1593
1604
originalFooContents = `
@@ -1611,20 +1622,21 @@ tasks:
1611
1622
Expect (err ).NotTo (HaveOccurred ())
1612
1623
})
1613
1624
1614
- It ("updates all files" , func () {
1615
- var err error
1625
+ Context ("with major version updates" , func () {
1626
+ It ("updates all files" , func () {
1627
+ var err error
1616
1628
1617
- err = service .UpdateLeaves (cli.UpdateLeavesConfig {
1618
- Files : []string {filepath .Join (tmp , "foo.yaml" ), filepath .Join (tmp , "bar.yaml" )},
1619
- ReplacementVersionPicker : cli .PickLatestMajorVersion ,
1620
- })
1621
- Expect (err ).NotTo (HaveOccurred ())
1629
+ err = service .UpdateLeaves (cli.UpdateLeavesConfig {
1630
+ Files : []string {filepath .Join (tmp , "foo.yaml" ), filepath .Join (tmp , "bar.yaml" )},
1631
+ ReplacementVersionPicker : cli .PickLatestMajorVersion ,
1632
+ })
1633
+ Expect (err ).NotTo (HaveOccurred ())
1622
1634
1623
- var contents []byte
1635
+ var contents []byte
1624
1636
1625
- contents , err = os .ReadFile (filepath .Join (tmp , "foo.yaml" ))
1626
- Expect (err ).NotTo (HaveOccurred ())
1627
- Expect (string (contents )).To (Equal (`tasks:
1637
+ contents , err = os .ReadFile (filepath .Join (tmp , "foo.yaml" ))
1638
+ Expect (err ).NotTo (HaveOccurred ())
1639
+ Expect (string (contents )).To (Equal (`tasks:
1628
1640
- key: foo
1629
1641
call: mint/setup-node 1.2.3
1630
1642
- key: bar
@@ -1633,26 +1645,73 @@ tasks:
1633
1645
call: mint/setup-go 1.3.5
1634
1646
` ))
1635
1647
1636
- contents , err = os .ReadFile (filepath .Join (tmp , "bar.yaml" ))
1637
- Expect (err ).NotTo (HaveOccurred ())
1638
- Expect (string (contents )).To (Equal (`tasks:
1648
+ contents , err = os .ReadFile (filepath .Join (tmp , "bar.yaml" ))
1649
+ Expect (err ).NotTo (HaveOccurred ())
1650
+ Expect (string (contents )).To (Equal (`tasks:
1639
1651
- key: foo
1640
1652
call: mint/setup-ruby 1.0.1
1641
1653
` ))
1654
+ })
1655
+
1656
+ It ("indicates leaves were updated" , func () {
1657
+ err := service .UpdateLeaves (cli.UpdateLeavesConfig {
1658
+ Files : []string {filepath .Join (tmp , "foo.yaml" ), filepath .Join (tmp , "bar.yaml" )},
1659
+ ReplacementVersionPicker : cli .PickLatestMajorVersion ,
1660
+ })
1661
+
1662
+ Expect (err ).NotTo (HaveOccurred ())
1663
+ Expect (mockStdout .String ()).To (ContainSubstring ("Updated the following leaves:" ))
1664
+ Expect (mockStdout .String ()).To (ContainSubstring ("mint/setup-go → 1.3.5" ))
1665
+ Expect (mockStdout .String ()).To (ContainSubstring ("mint/setup-node 1.0.1 → 1.2.3" ))
1666
+ Expect (mockStdout .String ()).To (ContainSubstring ("mint/setup-ruby 0.0.1 → 1.0.1" ))
1667
+ Expect (mockStdout .String ()).To (ContainSubstring ("mint/setup-ruby 1.0.0 → 1.0.1" ))
1668
+ })
1642
1669
})
1643
1670
1644
- It ("indicates leaves were updated" , func () {
1645
- err := service .UpdateLeaves (cli.UpdateLeavesConfig {
1646
- Files : []string {filepath .Join (tmp , "foo.yaml" ), filepath .Join (tmp , "bar.yaml" )},
1647
- ReplacementVersionPicker : cli .PickLatestMajorVersion ,
1671
+ Context ("with minor version updates only" , func () {
1672
+ It ("updates all files" , func () {
1673
+ var err error
1674
+
1675
+ err = service .UpdateLeaves (cli.UpdateLeavesConfig {
1676
+ Files : []string {filepath .Join (tmp , "foo.yaml" ), filepath .Join (tmp , "bar.yaml" )},
1677
+ ReplacementVersionPicker : cli .PickLatestMinorVersion ,
1678
+ })
1679
+ Expect (err ).NotTo (HaveOccurred ())
1680
+
1681
+ var contents []byte
1682
+
1683
+ contents , err = os .ReadFile (filepath .Join (tmp , "foo.yaml" ))
1684
+ Expect (err ).NotTo (HaveOccurred ())
1685
+ Expect (string (contents )).To (Equal (`tasks:
1686
+ - key: foo
1687
+ call: mint/setup-node 1.2.3
1688
+ - key: bar
1689
+ call: mint/setup-ruby 0.0.2
1690
+ - key: baz
1691
+ call: mint/setup-go 1.3.5
1692
+ ` ))
1693
+
1694
+ contents , err = os .ReadFile (filepath .Join (tmp , "bar.yaml" ))
1695
+ Expect (err ).NotTo (HaveOccurred ())
1696
+ Expect (string (contents )).To (Equal (`tasks:
1697
+ - key: foo
1698
+ call: mint/setup-ruby 1.0.1
1699
+ ` ))
1648
1700
})
1649
1701
1650
- Expect (err ).NotTo (HaveOccurred ())
1651
- Expect (mockStdout .String ()).To (ContainSubstring ("Updated the following leaves:" ))
1652
- Expect (mockStdout .String ()).To (ContainSubstring ("mint/setup-go → 1.3.5" ))
1653
- Expect (mockStdout .String ()).To (ContainSubstring ("mint/setup-node 1.0.1 → 1.2.3" ))
1654
- Expect (mockStdout .String ()).To (ContainSubstring ("mint/setup-ruby 0.0.1 → 1.0.1" ))
1655
- Expect (mockStdout .String ()).To (ContainSubstring ("mint/setup-ruby 1.0.0 → 1.0.1" ))
1702
+ It ("indicates leaves were updated" , func () {
1703
+ err := service .UpdateLeaves (cli.UpdateLeavesConfig {
1704
+ Files : []string {filepath .Join (tmp , "foo.yaml" ), filepath .Join (tmp , "bar.yaml" )},
1705
+ ReplacementVersionPicker : cli .PickLatestMinorVersion ,
1706
+ })
1707
+
1708
+ Expect (err ).NotTo (HaveOccurred ())
1709
+ Expect (mockStdout .String ()).To (ContainSubstring ("Updated the following leaves:" ))
1710
+ Expect (mockStdout .String ()).To (ContainSubstring ("mint/setup-go → 1.3.5" ))
1711
+ Expect (mockStdout .String ()).To (ContainSubstring ("mint/setup-node 1.0.1 → 1.2.3" ))
1712
+ Expect (mockStdout .String ()).To (ContainSubstring ("mint/setup-ruby 0.0.1 → 0.0.2" ))
1713
+ Expect (mockStdout .String ()).To (ContainSubstring ("mint/setup-ruby 1.0.0 → 1.0.1" ))
1714
+ })
1656
1715
})
1657
1716
1658
1717
Context ("when a single file is targeted" , func () {
0 commit comments