Skip to content

Commit b471533

Browse files
authored
Merge branch 'main' into update/snakeyaml-engine-2.6
2 parents 41d793c + 0d9467f commit b471533

File tree

7 files changed

+41
-36
lines changed

7 files changed

+41
-36
lines changed

.github/workflows/ci.yml

+26-26
Original file line numberDiff line numberDiff line change
@@ -40,21 +40,21 @@ jobs:
4040
runs-on: ${{ matrix.os }}
4141
steps:
4242
- name: Checkout current branch (full)
43-
uses: actions/checkout@v2
43+
uses: actions/checkout@v3
4444
with:
4545
fetch-depth: 0
4646

4747
- name: Download Java (temurin@11)
4848
id: download-java-temurin-11
4949
if: matrix.java == 'temurin@11'
50-
uses: typelevel/download-java@v1
50+
uses: typelevel/download-java@v2
5151
with:
5252
distribution: temurin
5353
java-version: 11
5454

5555
- name: Setup Java (temurin@11)
5656
if: matrix.java == 'temurin@11'
57-
uses: actions/setup-java@v2
57+
uses: actions/setup-java@v3
5858
with:
5959
distribution: jdkfile
6060
java-version: 11
@@ -63,21 +63,21 @@ jobs:
6363
- name: Download Java (temurin@17)
6464
id: download-java-temurin-17
6565
if: matrix.java == 'temurin@17'
66-
uses: typelevel/download-java@v1
66+
uses: typelevel/download-java@v2
6767
with:
6868
distribution: temurin
6969
java-version: 17
7070

7171
- name: Setup Java (temurin@17)
7272
if: matrix.java == 'temurin@17'
73-
uses: actions/setup-java@v2
73+
uses: actions/setup-java@v3
7474
with:
7575
distribution: jdkfile
7676
java-version: 17
7777
jdkFile: ${{ steps.download-java-temurin-17.outputs.jdkFile }}
7878

7979
- name: Cache sbt
80-
uses: actions/cache@v2
80+
uses: actions/cache@v3
8181
with:
8282
path: |
8383
~/.sbt
@@ -92,23 +92,23 @@ jobs:
9292
run: sbt githubWorkflowCheck
9393

9494
- name: Check headers and formatting
95-
if: matrix.java == 'temurin@11'
96-
run: sbt 'project ${{ matrix.project }}' '++${{ matrix.scala }}' headerCheckAll scalafmtCheckAll 'project /' scalafmtSbtCheck
95+
if: matrix.java == 'temurin@11' && matrix.os == 'ubuntu-latest'
96+
run: sbt 'project ${{ matrix.project }}' '++ ${{ matrix.scala }}' headerCheckAll scalafmtCheckAll 'project /' scalafmtSbtCheck
9797

9898
- name: Test
99-
run: sbt 'project ${{ matrix.project }}' '++${{ matrix.scala }}' test
99+
run: sbt 'project ${{ matrix.project }}' '++ ${{ matrix.scala }}' test
100100

101101
- name: Check scalafix lints
102-
if: matrix.java == 'temurin@11'
103-
run: sbt 'project ${{ matrix.project }}' '++${{ matrix.scala }}' 'scalafixAll --check'
102+
if: matrix.java == 'temurin@11' && matrix.os == 'ubuntu-latest'
103+
run: sbt 'project ${{ matrix.project }}' '++ ${{ matrix.scala }}' 'scalafixAll --check'
104104

105105
- name: Check binary compatibility
106-
if: matrix.java == 'temurin@11'
107-
run: sbt 'project ${{ matrix.project }}' '++${{ matrix.scala }}' mimaReportBinaryIssues
106+
if: matrix.java == 'temurin@11' && matrix.os == 'ubuntu-latest'
107+
run: sbt 'project ${{ matrix.project }}' '++ ${{ matrix.scala }}' mimaReportBinaryIssues
108108

109109
- name: Generate API documentation
110-
if: matrix.java == 'temurin@11'
111-
run: sbt 'project ${{ matrix.project }}' '++${{ matrix.scala }}' doc
110+
if: matrix.java == 'temurin@11' && matrix.os == 'ubuntu-latest'
111+
run: sbt 'project ${{ matrix.project }}' '++ ${{ matrix.scala }}' doc
112112

113113
- name: Make target directories
114114
if: github.event_name != 'pull_request' && (startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/main')
@@ -120,7 +120,7 @@ jobs:
120120

121121
- name: Upload target directories
122122
if: github.event_name != 'pull_request' && (startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/main')
123-
uses: actions/upload-artifact@v2
123+
uses: actions/upload-artifact@v3
124124
with:
125125
name: target-${{ matrix.os }}-${{ matrix.java }}-${{ matrix.scala }}-${{ matrix.project }}
126126
path: targets.tar
@@ -137,21 +137,21 @@ jobs:
137137
runs-on: ${{ matrix.os }}
138138
steps:
139139
- name: Checkout current branch (full)
140-
uses: actions/checkout@v2
140+
uses: actions/checkout@v3
141141
with:
142142
fetch-depth: 0
143143

144144
- name: Download Java (temurin@11)
145145
id: download-java-temurin-11
146146
if: matrix.java == 'temurin@11'
147-
uses: typelevel/download-java@v1
147+
uses: typelevel/download-java@v2
148148
with:
149149
distribution: temurin
150150
java-version: 11
151151

152152
- name: Setup Java (temurin@11)
153153
if: matrix.java == 'temurin@11'
154-
uses: actions/setup-java@v2
154+
uses: actions/setup-java@v3
155155
with:
156156
distribution: jdkfile
157157
java-version: 11
@@ -160,21 +160,21 @@ jobs:
160160
- name: Download Java (temurin@17)
161161
id: download-java-temurin-17
162162
if: matrix.java == 'temurin@17'
163-
uses: typelevel/download-java@v1
163+
uses: typelevel/download-java@v2
164164
with:
165165
distribution: temurin
166166
java-version: 17
167167

168168
- name: Setup Java (temurin@17)
169169
if: matrix.java == 'temurin@17'
170-
uses: actions/setup-java@v2
170+
uses: actions/setup-java@v3
171171
with:
172172
distribution: jdkfile
173173
java-version: 17
174174
jdkFile: ${{ steps.download-java-temurin-17.outputs.jdkFile }}
175175

176176
- name: Cache sbt
177-
uses: actions/cache@v2
177+
uses: actions/cache@v3
178178
with:
179179
path: |
180180
~/.sbt
@@ -186,7 +186,7 @@ jobs:
186186
key: ${{ runner.os }}-sbt-cache-v2-${{ hashFiles('**/*.sbt') }}-${{ hashFiles('project/build.properties') }}
187187

188188
- name: Download target directories (2.12.17, rootJVM)
189-
uses: actions/download-artifact@v2
189+
uses: actions/download-artifact@v3
190190
with:
191191
name: target-${{ matrix.os }}-${{ matrix.java }}-2.12.17-rootJVM
192192

@@ -196,7 +196,7 @@ jobs:
196196
rm targets.tar
197197
198198
- name: Download target directories (2.13.10, rootJVM)
199-
uses: actions/download-artifact@v2
199+
uses: actions/download-artifact@v3
200200
with:
201201
name: target-${{ matrix.os }}-${{ matrix.java }}-2.13.10-rootJVM
202202

@@ -206,7 +206,7 @@ jobs:
206206
rm targets.tar
207207
208208
- name: Download target directories (3.2.1, rootJVM)
209-
uses: actions/download-artifact@v2
209+
uses: actions/download-artifact@v3
210210
with:
211211
name: target-${{ matrix.os }}-${{ matrix.java }}-3.2.1-rootJVM
212212

@@ -227,4 +227,4 @@ jobs:
227227
(echo "$PGP_PASSPHRASE"; echo; echo) | gpg --command-fd 0 --pinentry-mode loopback --change-passphrase $(gpg --list-secret-keys --with-colons 2> /dev/null | grep '^sec:' | cut --delimiter ':' --fields 5 | tail -n 1)
228228
229229
- name: Publish
230-
run: sbt '++${{ matrix.scala }}' tlRelease
230+
run: sbt '++ ${{ matrix.scala }}' tlRelease

.scalafmt.conf

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
version = 3.6.1
1+
version = 3.7.2
22
runner.dialect = scala213
33
continuationIndent.defnSite = 2
44
docstrings.style = Asterisk

build.sbt

+3-3
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@ ThisBuild / tlFatalWarningsInCi := false //TODO: ... fix this someday
66
ThisBuild / githubWorkflowBuildMatrixFailFast := Some(false)
77

88
val Versions = new {
9-
val circe = "0.14.3"
9+
val circe = "0.14.4"
1010
val discipline = "1.5.1"
1111
val scalaCheck = "1.17.0"
12-
val scalaTest = "3.2.14"
12+
val scalaTest = "3.2.15"
1313
val scalaTestPlus = "3.2.11.0"
14-
val snakeYaml = "1.33"
14+
val snakeYaml = "2.0"
1515
val snakeYamlEngine = "2.6"
1616
val previousCirceYamls = Set("0.14.0", "0.14.1", "0.14.2")
1717

circe-yaml/src/main/scala/io/circe/yaml/Parser.scala

+4-2
Original file line numberDiff line numberDiff line change
@@ -66,11 +66,13 @@ final case class Parser(
6666
def parseDocuments(yaml: String): Stream[Either[ParsingFailure, Json]] = parseDocuments(new StringReader(yaml))
6767

6868
private[this] def parseSingle(reader: Reader): Either[ParsingFailure, Node] =
69-
Either.catchNonFatal(new Yaml(loaderOptions).compose(reader)).leftMap(err => ParsingFailure(err.getMessage, err))
69+
Either
70+
.catchNonFatal(new Yaml(new SafeConstructor(loaderOptions)).compose(reader))
71+
.leftMap(err => ParsingFailure(err.getMessage, err))
7072

7173
private[this] def parseStream(reader: Reader): Either[ParsingFailure, Stream[Node]] =
7274
Either
73-
.catchNonFatal(new Yaml(loaderOptions).composeAll(reader).asScala.toStream)
75+
.catchNonFatal(new Yaml(new SafeConstructor(loaderOptions)).composeAll(reader).asScala.toStream)
7476
.leftMap(err => ParsingFailure(err.getMessage, err))
7577

7678
def copy(

circe-yaml/src/main/scala/io/circe/yaml/parser/package.scala

+5-2
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import cats.syntax.either._
2121
import io.circe._
2222
import org.yaml.snakeyaml.LoaderOptions
2323
import org.yaml.snakeyaml.Yaml
24+
import org.yaml.snakeyaml.constructor.SafeConstructor
2425
import org.yaml.snakeyaml.nodes._
2526

2627
import java.io._
@@ -56,11 +57,13 @@ package object parser extends io.circe.yaml.common.Parser {
5657

5758
@deprecated("moved to Parser.CustomTag", since = "0.14.2")
5859
private[this] def parseSingle(reader: Reader): Either[ParsingFailure, Node] =
59-
Either.catchNonFatal(new Yaml(loaderOptions).compose(reader)).leftMap(err => ParsingFailure(err.getMessage, err))
60+
Either
61+
.catchNonFatal(new Yaml(new SafeConstructor(loaderOptions)).compose(reader))
62+
.leftMap(err => ParsingFailure(err.getMessage, err))
6063

6164
@deprecated("moved to Parser.CustomTag", since = "0.14.2")
6265
private[this] def parseStream(reader: Reader): Stream[Node] =
63-
new Yaml(loaderOptions).composeAll(reader).asScala.toStream
66+
new Yaml(new SafeConstructor(loaderOptions)).composeAll(reader).asScala.toStream
6467

6568
@deprecated("moved to Parser.CustomTag", since = "0.14.2")
6669
private[this] object CustomTag {

project/build.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
sbt.version = 1.8.0
1+
sbt.version = 1.8.2

project/plugins.sbt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
addSbtPlugin("io.circe" % "sbt-circe-org" % "0.1.1")
1+
addSbtPlugin("io.circe" % "sbt-circe-org" % "0.1.2")

0 commit comments

Comments
 (0)