🌏

Chrome拡張をGitHub Actionsでリリースする

2021/08/14に公開

1. crxのビルド

https://github.com/cardinalby/webext-buildtools-chrome-crx-action

上記のビルド用actionを利用する。

privateKeyはChrome上でパッケージしたときに吐かれるpemやOpen SSL等で作ったものをSecretsに設定する。

2. artifactのアップロード

https://github.com/softprops/action-gh-release

上記のRelease用のactionを利用する。
1で生成したファイルをfilesに設定するとReleaseのアセットに追加される

最終形のサンプル

name: crx artifacts to release

on:
  push:
    tags:
      - "v*.*.*"

jobs:
  build:
    name: Build
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v2
      - id: packExtensionDir
        uses: cardinalby/webext-buildtools-pack-extension-dir-action@v1
        with:
          extensionDir: "."
          zipFilePath: "build/my-extension.zip"

      - uses: cardinalby/webext-buildtools-chrome-crx-action@v2
        with:
          zipFilePath: "build/my-extension.zip"
          crxFilePath: "build/my-extension.crx"
          privateKey: ${{ secrets.CHROME_CRX_PRIVATE_KEY }},

      - name: Release
        uses: softprops/action-gh-release@v1
        with:
          files: build/my-extension.crx

tagをpushするとリリースされる。

Discussion