AzureADB2Cサンプルをopenapi-generatorのアップデート検知ワークフローの対象にする #149
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# cspell:ignore dblock elif fjogeleit openapitools Wandalen wretry | |
name: openapi-generatorのバージョンアップ確認 | |
on: | |
pull_request: | |
branches: [main] | |
paths: | |
- '.github/workflows/check-openapi-generator-update.yml' | |
workflow_dispatch: | |
schedule: | |
- cron: '0 22 * * 0' | |
permissions: | |
contents: read | |
issues: write | |
jobs: | |
check-update: | |
name: openapi-generatorのバージョンアップ確認 | |
runs-on: ubuntu-latest | |
steps: | |
- name: GitHub API経由でリポジトリの情報を取得 | |
id: get-repo-info-via-github-api | |
uses: fjogeleit/http-request-action@23ad54bcd1178fcff6a0d17538fa09de3a7f0a4d # v1.16.4 | |
with: | |
url: 'https://api.github.com/repos/OpenAPITools/openapi-generator/releases/latest' | |
method: 'GET' | |
customHeaders: '{"Content-Type": "application/json"}' | |
- name: 最新のOpenAPI Generatorのバージョン取得 | |
id: get-latest-openapi-generator-version | |
run: | | |
echo ${{ steps.get-repo-info-via-github-api.outputs.response }} | |
echo ${{ steps.get-repo-info-via-github-api.outputs.headers }} | |
echo ${{ steps.get-repo-info-via-github-api.outputs.status }} | |
echo "latest-version=$(echo ${{ fromJson(steps.get-repo-info-via-github-api.outputs.response).tag_name }} |sed 's/^v//')" >> $GITHUB_OUTPUT | |
- name: チェックアウト | |
uses: actions/checkout@v4 | |
- name: 現在のOpenAPI Generatorのバージョン取得 | |
id: get-current-openapi-generator-version | |
run: | | |
echo "current-version-consumer=$(jq -r '.["generator-cli"].version' ./samples/Dressca/dressca-frontend/consumer/openapitools.json)" >> $GITHUB_OUTPUT | |
echo "current-version-admin=$(jq -r '.["generator-cli"].version' ./samples/Dressca/dressca-frontend/admin/openapitools.json)" >> $GITHUB_OUTPUT | |
echo "current-version-azure-ad-b2c=$(jq -r '.["generator-cli"].version' ./samples/AzureADB2CAuth/auth-frontend/app/openapitools.json)" >> $GITHUB_OUTPUT | |
- name: アップデート要否を判定 | |
id: check-version-update | |
run: | | |
if [[ ${{ steps.get-latest-openapi-generator-version.outputs.latest-version }} == ${{ steps.get-current-openapi-generator-version.outputs.current-version-consumer }} ]]; then | |
echo "update-required-consumer=false" >> $GITHUB_OUTPUT | |
else | |
echo "update-required-consumer=true" >> $GITHUB_OUTPUT | |
fi | |
if [[ ${{ steps.get-latest-openapi-generator-version.outputs.latest-version }} == ${{ steps.get-current-openapi-generator-version.outputs.current-version-admin }} ]]; then | |
echo "update-required-admin=false" >> $GITHUB_OUTPUT | |
else | |
echo "update-required-admin=true" >> $GITHUB_OUTPUT | |
fi | |
if [[ ${{ steps.get-latest-openapi-generator-version.outputs.latest-version }} == ${{ steps.get-current-openapi-generator-version.outputs.current-version-azure-ad-b2c }} ]]; then | |
echo "update-required-azure-ad-b2c=false" >> $GITHUB_OUTPUT | |
else | |
echo "update-required-azure-ad-b2c=true" >> $GITHUB_OUTPUT | |
fi | |
- name: サマリに出力 | |
run: | | |
echo "# 確認結果" >> $GITHUB_STEP_SUMMARY | |
echo "openapi-generator のバージョンは ${{ steps.get-latest-openapi-generator-version.outputs.latest-version }} です。" >> $GITHUB_STEP_SUMMARY | |
echo "## Dressca-Consumer" >> $GITHUB_STEP_SUMMARY | |
echo "openapitools.json の openapi-generator のバージョンは ${{ steps.get-current-openapi-generator-version.outputs.current-version-consumer }} です。" >> $GITHUB_STEP_SUMMARY | |
echo "アップデート要否の判定結果は ${{ steps.check-version-update.outputs.update-required-consumer }} です。">> $GITHUB_STEP_SUMMARY | |
echo "## Dressca-Admin" >> $GITHUB_STEP_SUMMARY | |
echo "openapitools.json の openapi-generator のバージョンは ${{ steps.get-current-openapi-generator-version.outputs.current-version-admin }} です。" >> $GITHUB_STEP_SUMMARY | |
echo "アップデート要否の判定結果は ${{ steps.check-version-update.outputs.update-required-admin }} です。">> $GITHUB_STEP_SUMMARY | |
echo "## "AzureADB2CAuth"" >> $GITHUB_STEP_SUMMARY | |
echo "openapitools.json の openapi-generator のバージョンは ${{ steps.get-current-openapi-generator-version.outputs.current-version-azure-ad-b2c }} です。" >> $GITHUB_STEP_SUMMARY | |
echo "アップデート要否の判定結果は ${{ steps.check-version-update.outputs.update-required-azure-ad-b2c }} です。">> $GITHUB_STEP_SUMMARY | |
- name: issue を作成(Dressca-Consumer) | |
id: create-issue-consumer | |
if: ${{ steps.check-version-update.outputs.update-required-consumer == 'true' }} | |
uses: Wandalen/wretry.action@ffdd254f4eaf1562b8a2c66aeaa37f1ff2231179 # v3.7.3 | |
with: | |
action: dblock/create-a-github-issue@c5e54b8762a0c4c2cd9330750e30b81bcc369c38 # v3.2.0 | |
with: | | |
filename: ./.github/ISSUE_TEMPLATE/99-openapi-generator-update-issue.md | |
update_existing: true | |
search_existing: open | |
attempt_limit: 3 | |
attempt_delay: 300000 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
TARGET_APP_NAME: "Dressca-Consumer" | |
LATEST_VERSION: ${{ steps.get-latest-openapi-generator-version.outputs.latest-version }} | |
CURRENT_VERSION: ${{ steps.get-current-openapi-generator-version.outputs.current-version-consumer }} | |
- name: issue の情報を出力(Dressca-Consumer) | |
if: ${{ steps.check-version-update.outputs.update-required-consumer == 'true' }} | |
env: | |
STATUS: ${{ steps.create-issue-consumer.outputs.outputs && fromJson(steps.create-issue-consumer.outputs.outputs).status }} | |
ISSUE_NUMBER: ${{ steps.create-issue-consumer.outputs.outputs && fromJson(steps.create-issue-consumer.outputs.outputs).number }} | |
ISSUE_URL: ${{ steps.create-issue-consumer.outputs.outputs && fromJson(steps.create-issue-consumer.outputs.outputs).url }} | |
run: | | |
echo "# issue の作成結果(Dressca-Consumer)" >> $GITHUB_STEP_SUMMARY | |
if [ $STATUS = 'created' ]; then | |
echo "issue を新規作成しました。" >> $GITHUB_STEP_SUMMARY | |
elif [ $STATUS = 'updated' ]; then | |
echo "同名の issue が存在するため、更新のみ行いました。" >> $GITHUB_STEP_SUMMARY | |
else | |
echo "ステータスの値が不正です。" >> $GITHUB_STEP_SUMMARY | |
fi | |
echo issue number: $ISSUE_NUMBER >> $GITHUB_STEP_SUMMARY | |
echo status: $STATUS >> $GITHUB_STEP_SUMMARY | |
echo - $ISSUE_URL >> $GITHUB_STEP_SUMMARY | |
- name: issue を作成(Dressca-Admin) | |
id: create-issue-admin | |
if: ${{ steps.check-version-update.outputs.update-required-admin == 'true' }} | |
uses: Wandalen/wretry.action@ffdd254f4eaf1562b8a2c66aeaa37f1ff2231179 # v3.7.3 | |
with: | |
action: dblock/create-a-github-issue@c5e54b8762a0c4c2cd9330750e30b81bcc369c38 # v3.2.0 | |
with: | | |
filename: ./.github/ISSUE_TEMPLATE/99-openapi-generator-update-issue.md | |
update_existing: true | |
search_existing: open | |
attempt_limit: 3 | |
attempt_delay: 300000 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
TARGET_APP_NAME: "Dressca-Admin" | |
LATEST_VERSION: ${{ steps.get-latest-openapi-generator-version.outputs.latest-version }} | |
CURRENT_VERSION: ${{ steps.get-current-openapi-generator-version.outputs.current-version-admin }} | |
- name: issue の情報を出力(Dressca-Admin) | |
if: ${{ steps.check-version-update.outputs.update-required-admin == 'true' }} | |
env: | |
STATUS: ${{ steps.create-issue-admin.outputs.outputs && fromJson(steps.create-issue-admin.outputs.outputs).status }} | |
ISSUE_NUMBER: ${{ steps.create-issue-admin.outputs.outputs && fromJson(steps.create-issue-admin.outputs.outputs).number }} | |
ISSUE_URL: ${{ steps.create-issue-admin.outputs.outputs && fromJson(steps.create-issue-admin.outputs.outputs).url }} | |
run: | | |
echo "# issue の作成結果(Dressca-Admin)" >> $GITHUB_STEP_SUMMARY | |
if [ $STATUS = 'created' ]; then | |
echo "issue を新規作成しました。" >> $GITHUB_STEP_SUMMARY | |
elif [ $STATUS = 'updated' ]; then | |
echo "同名の issue が存在するため、更新のみ行いました。" >> $GITHUB_STEP_SUMMARY | |
else | |
echo "ステータスの値が不正です。" >> $GITHUB_STEP_SUMMARY | |
fi | |
echo issue number: $ISSUE_NUMBER >> $GITHUB_STEP_SUMMARY | |
echo status: $STATUS >> $GITHUB_STEP_SUMMARY | |
echo - $ISSUE_URL >> $GITHUB_STEP_SUMMARY | |
- name: issue を作成(AzureADB2CAuth) | |
id: create-issue-azure-ad-b2c-auth | |
if: ${{ steps.check-version-update.outputs.update-required-admin == 'true' }} | |
uses: Wandalen/wretry.action@ffdd254f4eaf1562b8a2c66aeaa37f1ff2231179 # v3.7.3 | |
with: | |
action: dblock/create-a-github-issue@c5e54b8762a0c4c2cd9330750e30b81bcc369c38 # v3.2.0 | |
with: | | |
filename: ./.github/ISSUE_TEMPLATE/99-openapi-generator-update-issue.md | |
update_existing: true | |
search_existing: open | |
attempt_limit: 3 | |
attempt_delay: 300000 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
TARGET_APP_NAME: "AzureADB2CAuth" | |
LATEST_VERSION: ${{ steps.get-latest-openapi-generator-version.outputs.latest-version }} | |
CURRENT_VERSION: ${{ steps.get-current-openapi-generator-version.outputs.current-version-azure-ad-b2c }} | |
- name: issue の情報を出力(AzureADB2CAuth) | |
if: ${{ steps.check-version-update.outputs.update-required-azure-ad-b2c == 'true' }} | |
env: | |
STATUS: ${{ steps.create-issue-azure-ad-b2c-auth.outputs.outputs && fromJson(steps.create-issue-azure-ad-b2c-auth.outputs.outputs).status }} | |
ISSUE_NUMBER: ${{ steps.create-issue-azure-ad-b2c-auth.outputs.outputs && fromJson(steps.create-issue-azure-ad-b2c-auth.outputs.outputs).number }} | |
ISSUE_URL: ${{ steps.create-issue-azure-ad-b2c-auth.outputs.outputs && fromJson(steps.create-issue-azure-ad-b2c-auth.outputs.outputs).url }} | |
run: | | |
echo "# issue の作成結果(AzureADB2CAuth)" >> $GITHUB_STEP_SUMMARY | |
if [ $STATUS = 'created' ]; then | |
echo "issue を新規作成しました。" >> $GITHUB_STEP_SUMMARY | |
elif [ $STATUS = 'updated' ]; then | |
echo "同名の issue が存在するため、更新のみ行いました。" >> $GITHUB_STEP_SUMMARY | |
else | |
echo "ステータスの値が不正です。" >> $GITHUB_STEP_SUMMARY | |
fi | |
echo issue number: $ISSUE_NUMBER >> $GITHUB_STEP_SUMMARY | |
echo status: $STATUS >> $GITHUB_STEP_SUMMARY | |
echo - $ISSUE_URL >> $GITHUB_STEP_SUMMARY |