diff --git a/README.md b/README.md index f18578e..4a2de94 100644 --- a/README.md +++ b/README.md @@ -47,15 +47,24 @@ # デフォルト: 'false' display-dependency-updates: '' - # GitHub Actions が提供するビルドキャッシュを利用するかどうか + # GitHub Actions が提供するビルドキャッシュ (actions/cache) を利用するかどうか # ビルドキャッシュを利用することでバージョンチェックの処理を高速化できる # デフォルト: 'true' use-cache: '' + # GitHub Actions が提供するビルドキャッシュ (actions/cache) に渡すパス + # キャッシュの除外設定に利用することを想定している + # デフォルト: 未使用 + custom-cache-path: '' + # テストコマンドが成功したときにバージョンの更新をリポジトリに反映するかどうか # バージョンのアップデートがあるかどうかをチェックしたいだけなら無効でよい # デフォルト: 'false' push-on-success: '' + + # デバッグ用途に冗長モードを有効にするかどうか + # デフォルト: 'false' + verbose: '' ``` ### 呼び出し側の設定例 @@ -66,9 +75,12 @@ with: maven-test-command: "test -DfailIfNoTests=false -Dtest='!IntegrationTest'" maven-settings-xml-path: "${{ github.workspace }}/settings.xml" + custom-cache-path: '!~/.m2/repository/com' push-on-success: 'true' ``` +`custom-cache-path` は [actions/cache](https://github.com/actions/cache) に渡す `path` を記述します。`!` を使うことでキャッシュ対象から除外できます。この例では `~/.m2/repository/com` 配下のディレクトリをすべてキャッシュしない設定になります。 + リポジトリに push するには GITHUB_TOKEN や permissions といった認証情報を適切に設定する必要があります。 ```yml diff --git a/action.yml b/action.yml index 7fa0c09..9b214f9 100644 --- a/action.yml +++ b/action.yml @@ -22,10 +22,18 @@ inputs: description: 'whether cache or not for maven repository' required: true default: 'true' + custom-cache-path: + description: 'any (exclude) path patterns for actions/cache' + required: false + default: '' push-on-success: description: 'whether git push or not for the dependency version changes when the test succeeded' required: true default: 'false' + verbose: + description: 'whether enable verbose mode, use for debugging' + required: false + default: 'false' runs: using: "composite" steps: @@ -33,7 +41,9 @@ runs: if: ${{ inputs.use-cache == 'true' }} uses: actions/cache@v2 with: - path: ~/.m2/repository + path: | + ~/.m2/repository/* + ${{ inputs.custom-cache-path }} key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} restore-keys: | ${{ runner.os }}-maven- @@ -42,6 +52,11 @@ runs: run: | source ${{ github.action_path }}/functions.sh + if [[ "${{ inputs.verbose }}" == "true" ]]; then + echo "show the cached repository" + sh -c "ls -laR ~/.m2/; exit 0" + fi + if [[ -n "${{ inputs.maven-settings-xml-path }}" ]]; then set_settings_xml "${{ inputs.maven-settings-xml-path }}" fi