GitHub Actions で Dart Sass を使う方法

GitHub

GitHub Actions で Dart Sass を使いたいことがあったのでその方法をまとめておきます。

前提

  • 使用マシン: ubuntu-latestubuntu-20.04

方法

  • A. Homebrew を使う
  • B. Dart Sass を直接ダウンロードする

A. Homebrew を使う

記事執筆時点で ubuntu-20.04 には Homebrew が入っているのでそれを使用するとかんたんにインストールできます。

イメージ:

name: Build

on:
  workflow_dispatch:

jobs:
  build:
    name: Build
    runs-on: ubuntu-latest
    steps:
      - name: Install Dart Sass
        run: brew install sass/sass/sass

インストール後は sass コマンドが使用できます。

B. Dart Sass を直接ダウンロードする

こちらはコマンドを書いてインストール・展開・設置する方法です。

イメージ:

name: Build

on:
  workflow_dispatch:

env:
  SASS_VERSION: 1.37.5

jobs:
  build:
    name: Build
    runs-on: ubuntu-latest
    steps:
      - name: Add ~/local/bin to paths
        run: |
          mkdir -p $HOME/.local/bin 
          echo "$HOME/.local/bin" >> $GITHUB_PATH
      - name: Install Dart Sass
        run: |
          cd $RUNNER_TEMP
          curl -sSL -o dart-sass.tar.gz ${{ env.SASS_URL }}
          tar zxf dart-sass.tar.gz
          mv ./dart-sass/sass $HOME/.local/bin/
        env:
          SASS_URL: https://github.com/sass/dart-sass/releases/download/${{ env.SASS_VERSION }}/dart-sass-${{ env.SASS_VERSION }}-linux-x64.tar.gz

上のコードをそのまま使用したわけではないので細かなところで間違いがあるかもしれません。

ちなみに SASS_URL をルートの env. 以下で定義すると、同じ場所に定義されている SASS_VERSION が見つからずにエラーになります。

メリット・デメリット

メリット デメリット
A. Homebrew 導入がかんたん
Homebrew の最新版が常に利用できる
Homebrew 自体のダウンロードが必要なため実行に時間がかかる
B. 直接ダウンロード 実行が速い 導入に手間がかかる
Dart Sass のバージョン管理が必要

A はかんたんですが、実行に 1 分〜 1 分半ほど時間がかかります。 B は書くのに手間がかかりますが実行は数秒と非常に高速です。

Homebrew を他の場所でも使う場合は A の Homebrew 方式がよさそうですが、 Dart Sass が使いたいだけであれば Homebrew は過剰なので B のアプローチの方がよいかと思います。


アバター
後藤隼人 ( ごとうはやと )

ソフトウェア開発やマーケティング支援などをしています。詳しくはこちら