更新がない場合は circleci-agent step halt と exit 0 で以降を中断します。
frontend:
docker:
- image: cimg/node:200
steps:
- checkout
- run:
name: Check files
command: |
CHANGED_FILES=$(git diff origin/main --name-only | grep '^PATH/TO/YOUR/PROJECT/')
if [ -z "$CHANGED_FILES" ]; then
echo "No changes in frontend"
circleci-agent step halt
exit 0
fi
echo "frontend files changed, proceeding with test"
echo "Changed files:"
echo "$CHANGED_FILES" | sed 's/^/ - /'
circleci ORB について https://speakerdeck.com/ks888/circleci-orbsfalseshao-jie
.circleci/config.yml を以下の設定だけにする
version: 2.1
setup: true
orbs:
path-filtering: circleci/path-filtering@2.0.4
workflows:
workflow_change_detection:
jobs:
- path-filtering/filter:
name: check-nextjs-changes
mapping: |
PATH/TO/YOUR/PROJECT/.* nextjs_changed true
base-revision: origin/master
config-path: .circleci/continue_config.yml
.circleci/continue_config.yml を作成して、もともとあった jobs と workflows を移動する