Specify timeouts in GitHub Actions to prevent prolonged tasks
timeout-minutes: 5Define the default shell as Bash in the workflow settings, enabling pipefail to detect errors during piping.
defaults:
run:
shell: bash --noprofile --norc -eo pipefail {0}Use concurrency to cancel outdated workflows, reducing unnecessary wait times and costs.
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true #Control access by disabling default permissions at the workflow level and assigning only necessary permissions per job to minimize security risks.
permissions:
contents: read