我有以下 github 操作,我收到以下警告:
build-android
The `set-output` command is deprecated and will be disabled soon.
Please upgrade to using Environment Files. For more information see:
https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
但我没有使用
set-output
.
on: workflow_dispatch
name: Build
jobs:
build-android:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v3
- name: Install npm dependencies
run: npm install
- name: Build Android Release
run: cd android && ./gradlew assembleRelease
- name: Read package.json
uses: tyankatsu0105/read-package-version-actions@v1
id: package-version
- name: Upload Artifact
uses: actions/upload-artifact@v3
with:
name: app-release.apk
path: android/app/build/outputs/apk/release/
- name: Create Github Release
uses: ncipollo/release-action@v1
with:
artifacts: "android/app/build/outputs/apk/release/app-release.apk"
tag: "v${{ steps.package-version.outputs.version }}"
replacesArtifacts: false
token: ${{ secrets.GITHUB_TOKEN }}
allowUpdates: true
但我没有使用
.set-output
幸运的是,我们不会为了那个声明而争吵,但是如果你从后面一步一步地删除并在每次删除时执行,你会确定哪一步删除删除了警告。
然后找到删除的
uses
语句并检查更新。如果尚未报告,也请报告该问题。恢复、更新并重试。
TLDR:
uses
也有其他用途。检查所有正在使用的操作以获取更新。如果是罪魁祸首且没有更新,请准备更换。
由于您的工作流没有使用
set-output
,那么您需要查看您的外部操作依赖项。其中之一或两者都使用过时的语法。
对于基于 JS 的操作,
@actions/core
在 1.10.0 中添加了对输出 env 文件的支持
tyankatsu0105/read-package-version-actions@v1
v1 这个动作是在 2019 年发布的,所以这无疑是你问题的根源之一。它确实使用了set-output,但是从旧版本的
@actions/core
.
您也可能会收到有关 node 12 弃用的警告。
ncipollo/release-action@v1
.此操作的最新更新是在 2022 年 12 月,在节点 16 上运行,正在使用 set-output,但具有 @actions/core
的
正确版本。
基于此,#1 是您的问题操作。现在您有几个选择,添加请求更新的问题,提交具有必要更改的 PR,或者找到支持您的需求的不同操作,这是最新的。