AppVeyor での Scheduled build は有料とのことなので CircleCI で実現してみた。
CircleCI の方の scheduled build を使い、AppVeyor API を叩くようにしました。
AppVeyor API を叩くために今回は Ruby 製の veyor を使用しました。
(AppVeyor API key を使うのですが、v1 と v2 があることにしばらく気づかずにハマりました。)
.circleci/config.yml は以下のような感じです。(別途、環境変数 APPVEYOR_ACCOUNT_NAME と APPVEYOR_API_TOKEN の設定の必要があります)
version: 2 jobs: appveyor: docker: - image: ruby:2.6 steps: - checkout - restore_cache: keys: - v1-dependencies-{{ .Branch }}-{{ checksum "Gemfile.lock" }} - run: name: Install dependencies command: | bundle install --jobs=4 --retry=3 --path vendor/bundle - save_cache: paths: - ./vendor/bundle key: v1-dependencies-{{ .Branch }}-{{ checksum "Gemfile.lock" }} - run: name: Execute vayor command: | bundle exec veyor start `basename ${CIRCLE_REPOSITORY_URL} | sed -e 's/.git$//g'` --branch=${CIRCLE_BRANCH} workflows: version: 2 daily: triggers: - schedule: cron: "0 21 * * *" # JST 06:00 jobs: - appveyor
schedule の設定をすると、push しても CircleCI 側は反応しなくなるのでちょっと心配になりますね。