build: use release-please and auto tagging

This commit is contained in:
Johan Larsson 2024-01-12 12:44:23 +01:00
parent ef5f8d2b12
commit cea4696ac0
5 changed files with 73 additions and 20 deletions

View File

@ -7,15 +7,51 @@ on:
branches:
- main
jobs:
build:
build-and-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: teatimeguest/setup-texlive-action@v3
with:
packages: scheme-full
- name: Build and test LaTeX package
- name: check
run: l3build check
- name: document
run: l3build doc
- name: install
run: l3build install
release:
if: ${{ github.ref == 'refs/heads/main' }}
permissions:
contents: write
pull-requests: write
needs:
- build-and-test
runs-on: ubuntu-latest
steps:
- uses: google-github-actions/release-please-action@v4
with:
token: ${{ secrets.RELEASE_PLEASE_TOKEN }}
release-type: simple
- uses: actions/checkout@v4
if: ${{ steps.release.outputs.prs_created }}
- uses: teatimeguest/setup-texlive-action@v3
with:
packages: scheme-basic
if: ${{ steps.release.outputs.prs_created }}
- name: Checkout code
uses: actions/checkout@v4
with:
ref: refs/pull/${{ steps.release.outputs.pr.number }}/merge
if: ${{ steps.release.outputs.prs_created }}
- name: tag
run: l3build tag 0.1.0
if: ${{ steps.release.outputs.prs_created }}
- name: Commit and push
run: |
l3build check
l3build doc
l3build install
git config --local user.email "action@github.com"
git config --local user.name "GitHub Action"
git add .
git commit -m "chore: tag files"
git push
if: ${{ steps.release.outputs.prs_created }}

View File

@ -0,0 +1,3 @@
{
".": "0.1.0"
}

View File

@ -2,20 +2,25 @@
module = "moloch"
-- sourcefiledir = "src"
--
-- installfiles = {"*.sty"}
-- sourcefiles = {"src/*.dtx"}
-- typesetfiles = {"src/*.dtx"}
sourcefiledir = "src"
-- docfiledir = "docs"
-- unpackfiles = { "*.dtx" }
-- -- typesetfiles = { "*.dtx", "*.tex" }
-- typesetfiles = { "moloch.dtx" }
-- installfiles = {"*.sty", "*.dtx"}
-- packtdszip = true
typesetfiles = { "doc/moloch.tex" }
typesetfiles = {"doc/moloch.tex"}
-- sourcefiles = {"src/*.dtx"}
-- docfiles = {"doc/*.tex"}
function update_tag(file, content, tagname, tagdate)
if string.match(file, "%.dtx$") then
local pattern = "\\ProvidesPackage{(.-)}%[([^%]]-) v([^%]]-) ([^%]]-)%]"
return content:gsub(
pattern,
function(package_name, old_date, old_version, description)
return string.format(
"\\ProvidesPackage{%s}[%s v%s %s]",
package_name,
tagdate,
tagname,
description
)
end
)
end
return content
end

View File

@ -0,0 +1,8 @@
{
"packages": {
".": {
"release-type": "simple",
"bump-minor-pre-major": true
}
}
}

1
version.txt Normal file
View File

@ -0,0 +1 @@
0.1.0