GitHub 操作:必需 属性 缺失:shell
GitHub Actions: Required property is missing: shell
简介
我目前正在创建一个复合 GitHub 动作,它从 Java 项目构建一个 JavaDoc,并自动将其发布到带有 GitHub 页面的静态页面。
有问题
但是当我尝试 运行 时出现了这个错误:
Current runner version: '2.287.1'
Operating System
Virtual Environment
Virtual Environment Provisioner
GITHUB_TOKEN Permissions
Secret source: Actions
Prepare workflow directory
Prepare all required actions
Getting action download info
Download action repository 'MathieuSoysal/Javadoc-publisher.yml@v2.0.2' (SHA:878c07f835dd9bcbb8800090d109c91b0f0d4581)
Error: MathieuSoysal/Javadoc-publisher.yml/v2.0.2/action.yml (Line: 29, Col: 5): Required property is missing: shell
Error: MathieuSoysal/Javadoc-publisher.yml/v2.0.2/action.yml (Line: 29, Col: 5): Required property is missing: shell
Error: GitHub.DistributedTask.ObjectTemplating.TemplateValidationException: The template is not valid. MathieuSoysal/Javadoc-publisher.yml/v2.0.2/action.yml (Line: 29, Col: 5): Required property is missing: shell
at GitHub.DistributedTask.ObjectTemplating.TemplateValidationErrors.Check()
at GitHub.Runner.Worker.ActionManifestManager.ConvertRuns(IExecutionContext executionContext, TemplateContext templateContext, TemplateToken inputsToken, String fileRelativePath, MappingToken outputs)
at GitHub.Runner.Worker.ActionManifestManager.Load(IExecutionContext executionContext, String manifestFile)
Error: Fail to load MathieuSoysal/Javadoc-publisher.yml/v2.0.2/action.yml
受影响的代码:
name: Deploy Javadoc
description: 'Automatically generate your Javadoc from your maven project and deploy it with GitHub Page on javadoc branch.'
branding:
icon: 'book-open'
color: 'white'
inputs:
java-version: # version of java
description: 'Java version inside your project'
required: true
default: '17'
GITHUB_TOKEN: # GitHub Token
description: 'The GitHub token the GitHub repository'
required: true
javadoc-branch: # branch where the javadoc is hosted
description: 'Branch where the javadoc is hosted'
required: true
default: javadoc
runs:
using: "composite"
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- uses: actions/setup-java@v2
with:
java-version: ${{ inputs.java-version }}
distribution: 'adopt'
- name: Generate Javadoc
run: mvn org.apache.maven.plugins:maven-javadoc-plugin:3.3.1:aggregate
- name: Deploy
uses: JamesIves/github-pages-deploy-action@4.1.8
with:
GITHUB_TOKEN: ${{ inputs.GITHUB_TOKEN }}
BRANCH: ${{ inputs.javadoc-branch }}
CLEAN: true
FOLDER: target/site/apidocs
TARGET_FOLDER: javadoc
执行相关 GitHub 操作的代码:
name: Deploy Javadoc
on:
push:
branches:
- master
jobs:
publish:
runs-on: ubuntu-latest
steps:
- name: Deploy JavaDoc
uses: MathieuSoysal/Javadoc-publisher.yml@v2.0.3
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
javadoc-branch: javadoc
java-version: 17
问题
有人有解决这个问题的想法吗?
使用复合动作时,必须指定shell。
你的情况问题出在这一步,你需要在此处添加shell: bash
:
- name: Generate Javadoc
shell: bash
run: mvn org.apache.maven.plugins:maven-javadoc-plugin:3.3.1:aggregate
简介
我目前正在创建一个复合 GitHub 动作,它从 Java 项目构建一个 JavaDoc,并自动将其发布到带有 GitHub 页面的静态页面。
有问题
但是当我尝试 运行 时出现了这个错误:
Current runner version: '2.287.1'
Operating System
Virtual Environment
Virtual Environment Provisioner
GITHUB_TOKEN Permissions
Secret source: Actions
Prepare workflow directory
Prepare all required actions
Getting action download info
Download action repository 'MathieuSoysal/Javadoc-publisher.yml@v2.0.2' (SHA:878c07f835dd9bcbb8800090d109c91b0f0d4581)
Error: MathieuSoysal/Javadoc-publisher.yml/v2.0.2/action.yml (Line: 29, Col: 5): Required property is missing: shell
Error: MathieuSoysal/Javadoc-publisher.yml/v2.0.2/action.yml (Line: 29, Col: 5): Required property is missing: shell
Error: GitHub.DistributedTask.ObjectTemplating.TemplateValidationException: The template is not valid. MathieuSoysal/Javadoc-publisher.yml/v2.0.2/action.yml (Line: 29, Col: 5): Required property is missing: shell
at GitHub.DistributedTask.ObjectTemplating.TemplateValidationErrors.Check()
at GitHub.Runner.Worker.ActionManifestManager.ConvertRuns(IExecutionContext executionContext, TemplateContext templateContext, TemplateToken inputsToken, String fileRelativePath, MappingToken outputs)
at GitHub.Runner.Worker.ActionManifestManager.Load(IExecutionContext executionContext, String manifestFile)
Error: Fail to load MathieuSoysal/Javadoc-publisher.yml/v2.0.2/action.yml
受影响的代码:
name: Deploy Javadoc
description: 'Automatically generate your Javadoc from your maven project and deploy it with GitHub Page on javadoc branch.'
branding:
icon: 'book-open'
color: 'white'
inputs:
java-version: # version of java
description: 'Java version inside your project'
required: true
default: '17'
GITHUB_TOKEN: # GitHub Token
description: 'The GitHub token the GitHub repository'
required: true
javadoc-branch: # branch where the javadoc is hosted
description: 'Branch where the javadoc is hosted'
required: true
default: javadoc
runs:
using: "composite"
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- uses: actions/setup-java@v2
with:
java-version: ${{ inputs.java-version }}
distribution: 'adopt'
- name: Generate Javadoc
run: mvn org.apache.maven.plugins:maven-javadoc-plugin:3.3.1:aggregate
- name: Deploy
uses: JamesIves/github-pages-deploy-action@4.1.8
with:
GITHUB_TOKEN: ${{ inputs.GITHUB_TOKEN }}
BRANCH: ${{ inputs.javadoc-branch }}
CLEAN: true
FOLDER: target/site/apidocs
TARGET_FOLDER: javadoc
执行相关 GitHub 操作的代码:
name: Deploy Javadoc
on:
push:
branches:
- master
jobs:
publish:
runs-on: ubuntu-latest
steps:
- name: Deploy JavaDoc
uses: MathieuSoysal/Javadoc-publisher.yml@v2.0.3
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
javadoc-branch: javadoc
java-version: 17
问题
有人有解决这个问题的想法吗?
使用复合动作时,必须指定shell。
你的情况问题出在这一步,你需要在此处添加shell: bash
:
- name: Generate Javadoc
shell: bash
run: mvn org.apache.maven.plugins:maven-javadoc-plugin:3.3.1:aggregate