Graphql 中继编译器抛出语法错误:意外的“$&引用;在Github操作中运行时

Graphql 中继编译器抛出语法错误:意外的“$&引用;在Github操作中运行时,graphql,github-actions,relay,Graphql,Github Actions,Relay,我使用的是Relay(和Hasura),因此需要提前使用Relay编译器编译代码。我可以在本地机器上很好地编译代码,但是在Github操作中它总是失败 这是我的yml文件中的一部分,其中断开了: runs-on: ubuntu-latest # other steps - name: Download GraphQL Schema run: SECRET=$SECRET ENDPOINT=$ENDPOINT yarn run get-schema env: SECRET: ${{

我使用的是Relay(和Hasura),因此需要提前使用
Relay编译器编译代码。我可以在本地机器上很好地编译代码,但是在Github操作中它总是失败

这是我的
yml
文件中的一部分,其中断开了:

runs-on: ubuntu-latest
# other steps
- name: Download GraphQL Schema
  run: SECRET=$SECRET ENDPOINT=$ENDPOINT yarn run get-schema
  env:
    SECRET: ${{ secrets.hasura_admin_secret }}
    ENDPOINT: ${{ secrets.graphql_endpoint }}
- name: Test Compile Relay
  run: yarn run relay <<< this fails
- name: Test build
  run: yarn run build
它失败并出现以下错误:

$ /home/runner/work/<company-name>/<app-name>/node_modules/.bin/relay-compiler --schema schema.graphql --src src
Writing js
ERROR:
Syntax Error: Unexpected "$".
$/home/runner/work///node\u modules/.bin/relay编译器--schema.graphql--src-src
写js
错误:
语法错误:意外的“$”。
我已经验证了模式下载是否正确,以及模式和src文件夹的路径是否正确

我是否需要传递特定的配置或参数才能在CI环境中工作


更新

经过更多的测试,我发现从get-graphql模式下载的文件在某种程度上是不正确的。如果我提交模式并使用它而不是下载它,那么问题就不存在了


我知道上传
graphql.schema
文件是不好的做法,是这样吗?如果是这样,是否需要特殊参数或设置才能使架构文件在Github操作中正常工作?

我发现,在运行
get-graphql架构时,Github操作会添加以下行作为文件的第一行。我可以通过一个额外的脚本来删除它

schema.graphql

$ /home/runner/work/<company-name>/<app-name>/node_modules/.bin/relay-compiler --schema schema.graphql --src src
schema {
  query: query_root
  mutation: mutation_root
  subscription: subscription_root
}
...
$/home/runner/work///node\u modules/.bin/relay编译器--schema.graphql--src-src
模式{
query:query\u root
突变:根的突变
订阅:订阅根目录
}
...

我不确定为什么在github操作中运行此命令会复制第一行。

我发现,在运行
get graphql schema
it github操作时,会将以下行添加为文件的第一行。我可以通过一个额外的脚本来删除它

schema.graphql

$ /home/runner/work/<company-name>/<app-name>/node_modules/.bin/relay-compiler --schema schema.graphql --src src
schema {
  query: query_root
  mutation: mutation_root
  subscription: subscription_root
}
...
$/home/runner/work///node\u modules/.bin/relay编译器--schema.graphql--src-src
模式{
query:query\u root
突变:根的突变
订阅:订阅根目录
}
...
我不确定为什么在github操作中运行此命令会复制第一行