Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Update Release Status#4243

Update Release Status

Update Release Status #4243

name:"Update Release Status"
on:
workflow_dispatch:
inputs:
head-sha:
description:|
The head SHA to use.
type:string
required:true
permissions:
actions:write
checks:write
contents:write
env:
HEAD_SHA:${{ inputs.head-sha }}
jobs:
validate-check-runs:
runs-on:ubuntu-22.04
outputs:
status:${{ steps.set-output.outputs.status }}
conclusion:${{ steps.set-output.outputs.conclusion }}
steps:
-name:Checkout
uses:actions/checkout@v5
with:
ref:${{ inputs.head-sha }}
-name:Get release status check run
id:get-check-run
env:
GITHUB_TOKEN:${{ github.token }}
run:|
check_run_info=$(gh api \
--header "Accept: application/vnd.github+json" \
--header "X-GitHub-Api-Version: 2022-11-28" \
--jq '.check_runs[] | select(.name == "release-status") | {id: .id, status: .status, conclusion: .conclusion}' \
/repos/$GITHUB_REPOSITORY/commits/$HEAD_SHA/check-runs)
if [[ -z "$check_run_info" ]]; then
echo "No release status check run found"
exit 1
fi
check_run_id=$(echo "$check_run_info" | jq -r '.id')
check_run_status=$(echo "$check_run_info" | jq -r '.status')
check_run_conclusion=$(echo "$check_run_info" | jq -r '.conclusion')
echo "CHECK_RUN_ID=$check_run_id" >> "$GITHUB_ENV"
echo "CHECK_RUN_STATUS=$check_run_status" >> "$GITHUB_ENV"
echo "CHECK_RUN_CONCLUSION=$check_run_conclusion" >> "$GITHUB_ENV"
-name:Reset release status
if:env.CHECK_RUN_STATUS == 'completed'
env:
GITHUB_TOKEN:${{ github.token }}
run:|
check_run_id=$(gh api \
--header "Accept: application/vnd.github+json" \
--header "X-GitHub-Api-Version: 2022-11-28" \
--field name="release-status" \
--field head_sha="$HEAD_SHA" \
--jq ".id" \
/repos/$GITHUB_REPOSITORY/check-runs)
echo "Created release status check run with id $check_run_id"
# Reset the status to in progress.
echo "CHECK_RUN_STATUS=in_progress" >> "$GITHUB_ENV"
echo "CHECK_RUN_ID=$check_run_id" >> "$GITHUB_ENV"
-name:Check all runs completed
if:env.CHECK_RUN_STATUS != 'completed'
env:
GITHUB_TOKEN:${{ github.token }}
run:|
check_runs=$(gh api \
--header "Accept: application/vnd.github+json" \
--header "X-GitHub-Api-Version: 2022-11-28" \
--jq '.check_runs | map(select(.name != "release-status"))' \
/repos/$GITHUB_REPOSITORY/commits/$HEAD_SHA/check-runs)
status_stats=$(echo "$check_runs" | jq -r '. | {failed: (map(select(.conclusion == "failure")) | length), pending: (map(select(.status != "completed")) | length) }')
echo "status_stats=$status_stats"
failed=$(echo "$status_stats" | jq -r '.failed')
pending=$(echo "$status_stats" | jq -r '.pending')
echo "CHECK_RUNS_FAILED=$failed" >> "$GITHUB_ENV"
echo "CHECK_RUNS_PENDING=$pending" >> "$GITHUB_ENV"
-name:Conclude release status
if:env.CHECK_RUNS_PENDING == '0' && env.CHECK_RUN_STATUS != 'completed'
env:
GITHUB_TOKEN:${{ github.token }}
run:|
if [[ "$CHECK_RUNS_FAILED" == "0" ]]; then
echo "All check runs succeeded"
conclusion="success"
else
echo "Some check runs failed"
conclusion="failure"
fi
jq -n \
--arg status "completed" \
--arg conclusion "$conclusion" \
'{status: $status, conclusion: $conclusion}' \
| \
gh api \
--method PATCH \
--header "Accept: application/vnd.github+json" \
--header "X-GitHub-Api-Version: 2022-11-28" \
--input - \
/repos/$GITHUB_REPOSITORY/check-runs/$CHECK_RUN_ID
echo "RELEASE_STATUS_CONCLUSION=$conclusion" >> "$GITHUB_ENV"
-name:Set output
id:set-output
run:|
echo "conclusion=$RELEASE_STATUS_CONCLUSION" >> "$GITHUB_OUTPUT"
if [[ "$CHECK_RUNS_PENDING" == "0" ]]; then
echo "status=completed" >> "$GITHUB_OUTPUT"
else
echo "status=in_progress" >> "$GITHUB_OUTPUT"
fi
update-release:

Check failure on line 131 in .github/workflows/update-release-status.yml

View workflow run for this annotation

GitHub Actions/ Update Release Status

Invalid workflow file

The workflow is not valid. .github/workflows/update-release-status.yml (Line: 131, Col: 3): Error calling workflow 'github/codeql-coding-standards/.github/workflows/update-release.yml@0774cfc139ee7cab6198c76a2e903d4e6dbd40bd'. The workflow is requesting 'pull-requests: write', but is only allowed 'pull-requests: none'.
needs:validate-check-runs
if:needs.validate-check-runs.outputs.status == 'completed' && needs.validate-check-runs.outputs.conclusion == 'success'
uses:./.github/workflows/update-release.yml
with:
head-sha:${{ inputs.head-sha }}
secrets:
AUTOMATION_PRIVATE_KEY:${{ secrets.AUTOMATION_PRIVATE_KEY }}

[8]ページ先頭

©2009-2025 Movatter.jp