Skip to content

Release

Release #9

Workflow file for this run

name: Release
on:
workflow_dispatch:
inputs:
release:
description: "Release"
type: boolean
required: false
default: true
schedule:
- cron: "0 0 1 * *" # Schedule every month
push:
branches:
- main
permissions:
contents: write
pull-requests: write
jobs:
stylua:
name: Stylua Lint Check
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- uses: JohnnyMorganz/stylua-action@v4
with:
token: ${{ secrets.GITHUB_TOKEN }}
version: latest
args: --check lua
release:
name: Release
needs: stylua
if: ${{ !failure() && inputs.release && github.ref == 'refs/heads/main' }}
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- name: release-please config
id: release-please-config
run: |
if [ -f .github/release-please-config.json ]; then
echo "config-file=.github/release-please-config.json" >> $GITHUB_OUTPUT
[ -f .github/release-please-manifest.json ] &&
echo "manifest-file=.github/release-please-manifest.json" >> $GITHUB_OUTPUT
[ -f .github/.release-please-manifest.json ] &&
echo "manifest-file=.github/.release-please-manifest.json" >> $GITHUB_OUTPUT
else
echo "release-type=simple" >> $GITHUB_OUTPUT
fi
exit 0
- uses: googleapis/release-please-action@v4
id: release
with:
config-file: ${{ steps.release-please-config.outputs.config-file }}
manifest-file: ${{ steps.release-please-config.outputs.manifest-file }}
release-type: ${{ steps.release-please-config.outputs.release-type }}
include-v-in-tag: true
- name: tag stable versions
if: ${{ steps.release.outputs.release_created }}
run: |
git config user.name ubunchuu-admin[bot]
git config user.email [email protected]
git remote add gh-token "https://${{ secrets.GITHUB_TOKEN }}@github.com/google-github-actions/release-please-action.git"
git tag -d v${{ steps.release.outputs.major }} || true
git tag -d v${{ steps.release.outputs.major }}.${{ steps.release.outputs.minor }} || true
git push origin :v${{ steps.release.outputs.major }} || true
git push origin :v${{ steps.release.outputs.major }}.${{ steps.release.outputs.minor }} || true
git tag -a v${{ steps.release.outputs.major }} -m "chore(release): release v${{ steps.release.outputs.major }}"
git tag -a v${{ steps.release.outputs.major }}.${{ steps.release.outputs.minor }} -m "chore(release): release v${{ steps.release.outputs.major }}.${{ steps.release.outputs.minor }}"
git push origin v${{ steps.release.outputs.major }}
git push origin v${{ steps.release.outputs.major }}.${{ steps.release.outputs.minor }}