[英]Relay compiler throws syntax error: Unexpected “$” when running in Github Action
我正在使用 Relay(和 Hasura),因此需要使用relay-compiler
提前编译我的代码。 我可以在本地机器上很好地编译代码,但是在 Github Actions 中它总是失败。
这是我的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
这是我的package.json
中的那些脚本。
"start": "yarn run compile-css && react-scripts start",
"build": "yarn run build-compile-css && react-scripts build",
"get-schema": "yarn run get-graphql-schema -h \"x-hasura-admin-secret=$SECRET\" $ENDPOINT > schema.graphql",
"relay": "yarn run relay-compiler --schema schema.graphql --src src",
它失败并出现错误:
$ /home/runner/work/<company-name>/<app-name>/node_modules/.bin/relay-compiler --schema schema.graphql --src src
Writing js
ERROR:
Syntax Error: Unexpected "$".
我已验证模式已正确下载,并且模式和 src 文件夹的路径正确。
是否需要传递特定的配置或参数才能使其在 CI 环境中工作?
更新
经过更多测试,我发现从 get-graphql-schema 下载的文件在某种程度上不正确。 如果我提交架构并使用它而不是下载它,则问题不存在。
我知道上传graphql.schema
文件是不好的做法,是这种情况吗? 如果是这样,是否需要特殊参数或设置才能使架构文件在 Github Actions 中正常工作?
我设法发现,在运行get-graphql-schema
它 Github Actions 时,它将以下行添加为文件的第一行。 我可以通过附加脚本删除它。
模式.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
}
...
我不确定为什么在 github 操作中运行此命令会复制第一行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.