Skip to content

drop dependent issues #569

drop dependent issues

drop dependent issues #569

# Check workflow names are consistent with their filenames for easier debugging
name: consistent_workflow_names
on:
pull_request:
# only when workflow file is changed
paths: ['.github/workflows/**']
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
check:
runs-on: ubuntu-latest
if: github.event.pull_request.draft == false
steps:
- name: Print contexts
env:
GITHUB_CONTEXT: ${{ toJson(github) }}
ENV_CONTEXT: ${{ toJson(env) }}
VARS_CONTEXT: ${{ toJson(vars) }}
JOB_CONTEXT: ${{ toJson(job) }}
STEPS_CONTEXT: ${{ toJson(steps) }}
RUNNER_CONTEXT: ${{ toJson(runner) }}
SECRETS_CONTEXT: ${{ toJson(secrets) }}
STRATEGY_CONTEXT: ${{ toJson(strategy) }}
MATRIX_CONTEXT: ${{ toJson(matrix) }}
NEEDS_CONTEXT: ${{ toJson(needs) }}
INPUTS_CONTEXT: ${{ toJson(inputs) }}
run: |
echo "******************************"
echo "github:" "$GITHUB_CONTEXT"
echo "******************************"
echo "env:" "$ENV_CONTEXT"
echo "******************************"
echo "vars:" "$VARS_CONTEXT"
echo "******************************"
echo "job:" "$JOB_CONTEXT"
echo "******************************"
echo "steps:" "$STEPS_CONTEXT"
echo "******************************"
echo "runner:" "$RUNNER_CONTEXT"
echo "******************************"
echo "secrets:" "$SECRETS_CONTEXT"
echo "******************************"
echo "strategy:" "$STRATEGY_CONTEXT"
echo "******************************"
echo "matrix:" "$MATRIX_CONTEXT"
echo "******************************"
echo "needs:" "$NEEDS_CONTEXT"
echo "******************************"
echo "inputs:" "$INPUTS_CONTEXT"
echo "******************************"
- uses: actions/checkout@v3
- name: Check workflow names
run: |
set -euxo pipefail # stop on errors, print commands, fail on pipe fails
cd .github/workflows
# Iterate through files in the current directory
for file in *.yml *.yaml; do
# Check if the item is a file (not a directory)
if [[ -f "$file" ]]; then
# find the first line beginning with "name:"
first_line=$(grep -m 1 "^name:" "$file")
# Extract name from the first line
name=$(echo "$first_line" | awk -F ': ' '{print $2}')
# Check if the extracted value matches the filename
if [[ "$name" == "${file%.*}" ]]; then
echo "File: $file - Name: $name (Match)"
else
echo "File: $file - Name: $name (No Match)"
exit 1
fi
fi
done