Skip to content

Commit

Permalink
refs #2 任意のパスをビルドキャッシュから除外する custom-cache-path を追加する
Browse files Browse the repository at this point in the history
  • Loading branch information
t2y committed Dec 4, 2021
1 parent 588f92b commit 0ae9abd
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 2 deletions.
14 changes: 13 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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: ''
```
### 呼び出し側の設定例
Expand All @@ -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
Expand Down
17 changes: 16 additions & 1 deletion action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,18 +22,28 @@ 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:
- name: Cache local Maven repository
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-
Expand All @@ -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
Expand Down

0 comments on commit 0ae9abd

Please sign in to comment.