Skip to content

Latest commit

 

History

History
69 lines (52 loc) · 1.99 KB

README.md

File metadata and controls

69 lines (52 loc) · 1.99 KB

simple-tags-and-releases

OpenSSF Best Practices

USAGE

with:
  autogenerated_notes: 'true|false' # defaults to 'true' to leverage github autogenerated notes in the release
  version_file: path # defaults to 'VERSION' will tag and release based on the contents of the file such as 'v1.2.3'
name: tag-and-release

on:
  push:
    branches:
      - main

jobs:

  flow:
    runs-on: ubuntu-22.04
    permissions:
      contents: write
    steps:

      - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
        with:
          fetch-depth: '0'

      - name: tar
        id: tar
        run: |
          tar cf \
            some-tar.tar \
            ./VERSION \
            ./*some-files
          echo "tar=some-tar.tar" >> "${GITHUB_OUTPUT}"

      - name: simple-tag-and-release
        uses: sbe-arg/simple-tags-and-releases@84e09724a8eddf0fb8e01bedc91ab95f142d203d # v0.2.0
        with:
          autogenerated_notes: 'true'
          version_file: 'folder/sub-folder/file-name'
          upload_file: ${{ steps.tar.outputs.tar/orSomeFile }}
        env:
          GH_TOKEN: ${{ github.token }}

what for: simple release processes

  • versioning from a file source
  • upload a single file to the release

what does it look like

safeguards

  • exit 0 if the tag already exists
  • exit 1 if the version in file is not semver valid. Uses semver-tool

extras

  • if you want a version bump reminder in your prs, you can use this example