From 3f8f34121cb6fd28566e1cd7a9bdac252a98e155 Mon Sep 17 00:00:00 2001 From: Glenn Jocher Date: Thu, 12 Dec 2024 23:54:52 +0100 Subject: [PATCH] Create tag.yml (#71) Signed-off-by: Glenn Jocher --- .github/workflows/tag.yml | 75 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 .github/workflows/tag.yml diff --git a/.github/workflows/tag.yml b/.github/workflows/tag.yml new file mode 100644 index 0000000..6de8a5a --- /dev/null +++ b/.github/workflows/tag.yml @@ -0,0 +1,75 @@ +# Ultralytics 🚀 - AGPL-3.0 License https://ultralytics.com/license +# Ultralytics Actions https://github.com/ultralytics/actions +# This workflow automatically publishes a new repository tag and release + +name: Tag and Release + +on: + workflow_dispatch: + inputs: + tag_name: + description: "Tag name (e.g., v0.0.0)" + required: true + type: string + publish_tag: + description: "Publish new tag" + required: true + type: boolean + default: true + publish_release: + description: "Publish new release" + required: true + type: boolean + default: true + +jobs: + tag-and-release: + if: github.repository == 'ultralytics/yolo-ios-app' && github.actor == 'glenn-jocher' + name: Tag and Release + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + fetch-depth: 0 + token: ${{ secrets._GITHUB_TOKEN }} + + - name: Git config + run: | + git config --global user.name "UltralyticsAssistant" + git config --global user.email "web@ultralytics.com" + + - name: Check if tag exists + id: check_tag + run: | + if git rev-parse ${{ github.event.inputs.tag_name }} >/dev/null 2>&1; then + echo "Tag ${{ github.event.inputs.tag_name }} already exists" + echo "tag_exists=true" >> $GITHUB_OUTPUT + else + echo "Tag ${{ github.event.inputs.tag_name }} does not exist" + echo "tag_exists=false" >> $GITHUB_OUTPUT + fi + + - name: Publish new tag + if: steps.check_tag.outputs.tag_exists == 'false' + run: | + git tag -a "${{ github.event.inputs.tag_name }}" -m "$(git log -1 --pretty=%B)" + git push origin "${{ github.event.inputs.tag_name }}" + + - name: Set up Python environment + uses: actions/setup-python@v5 + with: + python-version: "3.x" + + - name: Install dependencies + run: | + python -m pip install --upgrade pip wheel + pip install ultralytics-actions + + - name: Publish new release + env: + OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} + GITHUB_TOKEN: ${{ secrets._GITHUB_TOKEN }} + CURRENT_TAG: ${{ github.event.inputs.tag_name }} + run: ultralytics-actions-summarize-release + shell: bash