FreeRTOS-Kernel/.github/workflows/auto-release.yml
2025-07-09 13:15:21 -07:00

65 lines
2.1 KiB
YAML

name: Auto-Release
on:
workflow_dispatch:
inputs:
commit_id:
description: 'Commit ID'
required: true
default: 'HEAD'
version_number:
description: 'Version Number (Ex. 202000.00)'
required: true
jobs:
auto-release:
permissions:
id-token: write
name: Auto Release
runs-on: ubuntu-20.04
steps:
- name: Tool Setup
uses: actions/setup-python@v2
with:
python-version: 3.7.10
architecture: x64
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# Source the release tools from FreeRTOS/FreeRTOS
- name: Checkout FreeRTOS Release Tools
uses: actions/checkout@v3
with:
path: tools
# Simpler git auth if we use checkout action and forward the repo to release script
- name: Checkout FreeRTOS
uses: actions/checkout@v3
with:
path: local_core
fetch-depth: 0
- name: Release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
ACTOR: ${{ github.actor }}
COMMIT_ID: ${{ github.event.inputs.commit_id }}
VERSION_NUMBER: ${{ github.event.inputs.version_number }}
GITHUB_ORG: ${{ github.repository_owner }}
run: |
# Configure repo for push
git config --global user.name "$ACTOR"
git config --global user.email "$ACTOR"@users.noreply.github.com
# Run the release script
pip install -r ./tools/.github/scripts/release-requirements.txt
./tools/.github/scripts/release.py "$GITHUB_ORG" --core-repo-path=local_core --core-commit="$COMMIT_ID" --new-core-version="$VERSION_NUMBER"
exit $?
- name: Backup Release Asset
uses: FreeRTOS/CI-CD-Github-Actions/artifact-backup@main
with:
# This is dependent on the release script putting this zip file
# in this exact location.
artifact_path: ./FreeRTOSv${{ github.event.inputs.version_number }}.zip
release_tag: ${{ github.event.inputs.version_number }}