Issue
Introduction
I am currently to crate a composite GitHub Actions that build a JavaDoc from Java project and publish it automatically to a static page with GitHub Page.
Problematic
But I got this error when I try to run it:
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/[email protected]' (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
Affected code:
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/[email protected]
with:
GITHUB_TOKEN: ${{ inputs.GITHUB_TOKEN }}
BRANCH: ${{ inputs.javadoc-branch }}
CLEAN: true
FOLDER: target/site/apidocs
TARGET_FOLDER: javadoc
Code that execute the GitHub Actions in question:
name: Deploy Javadoc
on:
push:
branches:
- master
jobs:
publish:
runs-on: ubuntu-latest
steps:
- name: Deploy JavaDoc 🚀
uses: MathieuSoysal/[email protected]
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
javadoc-branch: javadoc
java-version: 17
Question
Anyone have an idea to solve this problem?
Solution
When using composite actions, you have to specify shell.
In your case the problem is in this step, you need to add shell: bash
here:
- name: Generate Javadoc
shell: bash
run: mvn org.apache.maven.plugins:maven-javadoc-plugin:3.3.1:aggregate
Answered By - Grzegorz Krukowski
Answer Checked By - David Marino (JavaFixing Volunteer)