GitHub 操作:每个步骤都必须定义一个 `uses` 或 `运行` 键
GitHub Actions: every step must define a `uses` or `run` key
我想设置github操作
- 调用 nuget 并缓存它
- 构建解决方案
- 运行单元测试
我设法使第二步和第三步正常工作,但现在结合第一步后出现问题。
- name: Cache Nuget
- uses: actions/cache@v1
with:
path: ~/.nuget/packages
key: ${{ runner.os }}-nuget-${{ hashFiles('**/*.csproj') }}
restore-keys: |
${{ runner.os }}-nuget-
我试着把它放在 - uses: actions/checkout@v2
之后,但它抛出以下错误。
every step must define a `uses` or `run` key
...
steps:
- uses: actions/checkout@v2
- name: Cache Nuget
- uses: actions/cache@v1
with:
path: ~/.nuget/packages
key: ${{ runner.os }}-nuget-${{ hashFiles('**/*.csproj') }}
restore-keys: |
${{ runner.os }}-nuget-
- name: Setup .NET
uses: actions/setup-dotnet@v1
...
我做错了什么?
感谢您的帮助。
这是完整配置。
name: Build and Tests
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Cache Nuget
- uses: actions/cache@v1
with:
path: ~/.nuget/packages
key: ${{ runner.os }}-nuget-${{ hashFiles('**/*.csproj') }}
restore-keys: |
${{ runner.os }}-nuget-
- name: Setup .NET
uses: actions/setup-dotnet@v1
with:
dotnet-version: 5.0.x
- name: Restore dependencies
run: dotnet restore
- name: Build
run: dotnet build --configuration Release --no-restore
- name: Run Tests
run: dotnet test --configuration Release --no-build --verbosity minimal /p:CollectCoverage=true /p:CoverletOutput=TestResults/ /p:CoverletOutputFormat=lcov
- name: Publish coverage report to coveralls.io
uses: coverallsapp/github-action@master
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
path-to-lcov: Tests/App.Tests/TestResults/coverage.info
您的格式已关闭。仅在第一行使用破折号,如下所示:
- uses: actions/checkout@v2
- name: Cache Nuget
uses: actions/cache@v1
如果您还在最后一行前面加上破折号 (-
),则 GitHub 认为 name
是一个单独的步骤,它不知道如何处理它。但是,不使用破折号意味着 uses
与 name
.
属于同一步骤
我想设置github操作
- 调用 nuget 并缓存它
- 构建解决方案
- 运行单元测试
我设法使第二步和第三步正常工作,但现在结合第一步后出现问题。
- name: Cache Nuget
- uses: actions/cache@v1
with:
path: ~/.nuget/packages
key: ${{ runner.os }}-nuget-${{ hashFiles('**/*.csproj') }}
restore-keys: |
${{ runner.os }}-nuget-
我试着把它放在 - uses: actions/checkout@v2
之后,但它抛出以下错误。
every step must define a `uses` or `run` key
...
steps:
- uses: actions/checkout@v2
- name: Cache Nuget
- uses: actions/cache@v1
with:
path: ~/.nuget/packages
key: ${{ runner.os }}-nuget-${{ hashFiles('**/*.csproj') }}
restore-keys: |
${{ runner.os }}-nuget-
- name: Setup .NET
uses: actions/setup-dotnet@v1
...
我做错了什么?
感谢您的帮助。
这是完整配置。
name: Build and Tests
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Cache Nuget
- uses: actions/cache@v1
with:
path: ~/.nuget/packages
key: ${{ runner.os }}-nuget-${{ hashFiles('**/*.csproj') }}
restore-keys: |
${{ runner.os }}-nuget-
- name: Setup .NET
uses: actions/setup-dotnet@v1
with:
dotnet-version: 5.0.x
- name: Restore dependencies
run: dotnet restore
- name: Build
run: dotnet build --configuration Release --no-restore
- name: Run Tests
run: dotnet test --configuration Release --no-build --verbosity minimal /p:CollectCoverage=true /p:CoverletOutput=TestResults/ /p:CoverletOutputFormat=lcov
- name: Publish coverage report to coveralls.io
uses: coverallsapp/github-action@master
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
path-to-lcov: Tests/App.Tests/TestResults/coverage.info
您的格式已关闭。仅在第一行使用破折号,如下所示:
- uses: actions/checkout@v2
- name: Cache Nuget
uses: actions/cache@v1
如果您还在最后一行前面加上破折号 (-
),则 GitHub 认为 name
是一个单独的步骤,它不知道如何处理它。但是,不使用破折号意味着 uses
与 name
.