# Copyright 2024 The Bazel Authors. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# Cut a release whenever a new tag is pushed to the repo.
name: Release

on:
  push:
    tags:
      - "[0-9]+.[0-9]+"
      - "[0-9]+.[0-9]+.[0-9]+"

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v4
      - name: Setup Bazel
        uses: bazel-contrib/setup-bazel@0.9.1
      - name: Create release archive and notes
        run: .github/workflows/create_archive_and_notes.sh
      - name: Draft a release
        uses: softprops/action-gh-release@v2
        with:
          draft: true
          # Use GH feature to populate the changelog automatically
          generate_release_notes: true
          body_path: release_notes.txt
          fail_on_unmatched_files: true
          files: stardoc-*.tar.gz

