GitHub Actions を使ってもう 2 年近く経ちましたが、今日 2 つの警告メッセージを見つけました。
今日、私がいじっているプロジェクトはこれです:wdssmq/rollup-plugin-monkey: rollup を使用して「GM スクリプト」を開発する
Node.js 12 のアクションは非推奨です。次のアクションを Node.js 16 を使用するように更新してください:actions/checkout@v2。詳細については、次を参照してください:https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/.
↑ これは簡単に解決できます。actions/checkout@v2
をactions/checkout@v3
に更新するだけです。
set-output
コマンドは非推奨となり、近く無効になります。環境ファイルの使用にアップグレードしてください。詳細については、次を参照してください:https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
↑ これは少し調査が必要なので、ここに記録しておきます。実際には新しい書き方に変更するだけで済みますが...
ワークフローの設定の主なステップは次のとおりです。完全な設定ファイルは末尾のリンクを参照してください。
steps:
# Checkout
- name: Checkout
uses: actions/checkout@v3
# Build Release
- name: Copy && Gen ZIP
env:
PUB_NAME: ${{ env.PUB_NAME }}
run: |
# ここで${PUB_NAME}.tar.gzファイルを生成します
# Get Tag For Release
- name: Get Tag
id: get_tag
env:
REF: ${{ github.ref }} # e.g. refs/tags/v1.0.0
run: |
TAG=${REF/refs\/tags\/v}
echo "::set-output name=tag::${TAG}"
# Publish Release
- name: Publish Release
id: release
uses: softprops/action-gh-release@v1
env:
TAG: ${{ steps.get_tag.outputs.tag }} # 前のステップで抽出したバージョン番号、つまり1.0.0
with:
name: ${{ env.PUB_NAME }} Build ${{ env.TAG }}
body: ${{ env.PUB_NAME }} Build ${{ env.TAG }} Release.
files: ${{ env.PUB_NAME }}.tar.gz
この機能の概要は、タグを打つたびに自動的にリリースをビルドして公開し、タグをリリースのバージョン番号として抽出することです。
したがって、タグを抽出するためのステップは次のようになります:
# Get Tag For Release
- name: Get Tag
id: get_tag
env:
REF: ${{ github.ref }} # e.g. refs/tags/v1.0.0
run: |
TAG=${REF/refs\/tags\/v}
echo "tag=${TAG}" >> $GITHUB_OUTPUT
ここで、TAG=${REF/refs\/tags\/v}
は変数REF
の指定された部分を空に置き換え、その結果をTAG
に代入します。${TAG}
の内容は1.0.0
です。
ただし、この変数は現在のrun
ブロック内でのみ有効であり、後続のステップで使用するためにはエクスポートする必要があります。
古いエクスポートコマンドは上記のようになりますが、この形式は廃止されました...
↓ 新しい書き方:
# Get Tag For Release
- name: Get Tag
id: get_tag
env:
REF: ${{ github.ref }} # e.g. refs/tags/v1.0.0
run: |
TAG=${REF/refs\/tags\/v}
echo "tag=${TAG}" >> $GITHUB_OUTPUT
公式ドキュメント:出力パラメータを設定する
完全なワークフロー設定ファイル:wdssmq/rollup-plugin-monkey/blob/main/.github/workflows/push_def.yml
GitHub Actions 実行結果(旧):wdssmq/rollup-plugin-monkey/actions/runs/4051596042