永遠にWIP

そのdotfilesちゃんと動きますか?

dotfiles

TL;DR

GitHub Actionsを使って複数の環境でdotfilesがしっかり動作するかを確認できるようにしたという話。

はじめに

先日インターンに行ったときにMBPを貸し出してもらいました。
私はある程度dotfilesを作っていて、Ansibleのコマンドを何回か打ったら環境構築できるようにしていました。
なので、Ansibleでシュっと環境構築して、「なにってAnsibleを走らせただけだが」をしようとしたところ、全く動かなかったのでGitHub Actionsでテストできるようにしました。

設定

下のようにGitHub Actionsの設定を書くだけです。

name: ubuntu

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v2

      - name: Create symbolic link.
        run: |
          chmod +x ./.bin/init_setup.sh
          ./.bin/init_setup.sh

      - name: Install ansible
        run: |
          sudo apt install software-properties-common
          sudo add-apt-repository --yes --update ppa:ansible/ansible
          sudo apt install ansible

      - name: Install tools
        run: sudo ansible-playbook -i inventory/localhost install.yml

この例ではUbuntuで実行していますが、runs-onのところを変えれば色々な環境でテストすることができます。
実際に私は、UbuntuとmacOSでのCIを走らせるようにしています。

さいごに

やっぱりCIが整備されていたり、テストコードがあったりすると心に治安がいいなという気持ちになりました。

この記事はIPFactory Advent Calendar2021の12/14の記事です。
IPFactoryというサークルについてはこちらをご覧ください。

© 2020 DuGlaser