modified release script for automated releases
parent
bafeb79b2d
commit
585439d473
|
@ -0,0 +1,13 @@
|
||||||
|
# .github/tex/basic.profile.txt
|
||||||
|
# used for paolobrasolin/setup-texlive-action@v1
|
||||||
|
# Install the scheme:
|
||||||
|
#
|
||||||
|
# basic scheme (<minimal> and latex)
|
||||||
|
#
|
||||||
|
selected_scheme scheme-basic
|
||||||
|
# Omit documentation files:
|
||||||
|
tlpdbopt_install_docfiles 0
|
||||||
|
# Omit source files:
|
||||||
|
tlpdbopt_install_srcfiles 0
|
||||||
|
# Avoid doing backups:
|
||||||
|
tlpdbopt_autobackup 0
|
|
@ -0,0 +1,13 @@
|
||||||
|
# .github/tex/full.profile.txt
|
||||||
|
# used for paolobrasolin/setup-texlive-action@v1
|
||||||
|
# Install the scheme:
|
||||||
|
#
|
||||||
|
# full scheme (everything)
|
||||||
|
#
|
||||||
|
selected_scheme scheme-full
|
||||||
|
# Omit documentation files:
|
||||||
|
tlpdbopt_install_docfiles 0
|
||||||
|
# Omit source files:
|
||||||
|
tlpdbopt_install_srcfiles 0
|
||||||
|
# Avoid doing backups:
|
||||||
|
tlpdbopt_autobackup 0
|
|
@ -0,0 +1,13 @@
|
||||||
|
# .github/tex/medium.profile.txt
|
||||||
|
# used for paolobrasolin/setup-texlive-action@v1
|
||||||
|
# Install the scheme:
|
||||||
|
#
|
||||||
|
# medium scheme (<small> + more packages and languages)
|
||||||
|
#
|
||||||
|
selected_scheme scheme-medium
|
||||||
|
# Omit documentation files:
|
||||||
|
tlpdbopt_install_docfiles 0
|
||||||
|
# Omit source files:
|
||||||
|
tlpdbopt_install_srcfiles 0
|
||||||
|
# Avoid doing backups:
|
||||||
|
tlpdbopt_autobackup 0
|
|
@ -0,0 +1,13 @@
|
||||||
|
# .github/tex/minimal.profile.txt
|
||||||
|
# used for paolobrasolin/setup-texlive-action@v1
|
||||||
|
# Install the scheme:
|
||||||
|
#
|
||||||
|
# minimal scheme (plain only)
|
||||||
|
#
|
||||||
|
selected_scheme scheme-minimal
|
||||||
|
# Omit documentation files:
|
||||||
|
tlpdbopt_install_docfiles 0
|
||||||
|
# Omit source files:
|
||||||
|
tlpdbopt_install_srcfiles 0
|
||||||
|
# Avoid doing backups:
|
||||||
|
tlpdbopt_autobackup 0
|
|
@ -0,0 +1,13 @@
|
||||||
|
# .github/tex/small.profile.txt
|
||||||
|
# used for paolobrasolin/setup-texlive-action@v1
|
||||||
|
# Install the scheme:
|
||||||
|
#
|
||||||
|
# small scheme (<basic> + xetex, metapost, and a few languages)
|
||||||
|
#
|
||||||
|
selected_scheme scheme-small
|
||||||
|
# Omit documentation files:
|
||||||
|
tlpdbopt_install_docfiles 0
|
||||||
|
# Omit source files:
|
||||||
|
tlpdbopt_install_srcfiles 0
|
||||||
|
# Avoid doing backups:
|
||||||
|
tlpdbopt_autobackup 0
|
|
@ -1,9 +0,0 @@
|
||||||
# .github/texlive.profile
|
|
||||||
# Install the scheme minimal:
|
|
||||||
selected_scheme scheme-minimal
|
|
||||||
# Omit documentation files:
|
|
||||||
tlpdbopt_install_docfiles 0
|
|
||||||
# Omit source files:
|
|
||||||
tlpdbopt_install_srcfiles 0
|
|
||||||
# Avoid doing backups:
|
|
||||||
tlpdbopt_autobackup 0
|
|
|
@ -40,19 +40,19 @@ jobs:
|
||||||
# # old TeX Live version: 2019
|
# # old TeX Live version: 2019
|
||||||
# uses: DanySK/setup-texlive-action@master
|
# uses: DanySK/setup-texlive-action@master
|
||||||
# with:
|
# with:
|
||||||
# requirements-file: .github/tex/packages.test.txt
|
# requirements-file: .github/tex/test.packages.txt
|
||||||
# ##
|
# ##
|
||||||
# - name: "setup TeX Live (via teatimeguest)"
|
# - name: "setup TeX Live (via teatimeguest)"
|
||||||
# # tlmgr needs updates and fails
|
# # tlmgr needs updates and fails
|
||||||
# uses: teatimeguest/setup-texlive-action@v1
|
# uses: teatimeguest/setup-texlive-action@v1
|
||||||
# with:
|
# with:
|
||||||
# package-file: .github/tex/packages.test.txt
|
# package-file: .github/tex/test.packages.txt
|
||||||
# ##
|
# ##
|
||||||
- name: "setup TeX Live (via paolobrasolin)"
|
- name: "setup TeX Live (via paolobrasolin)"
|
||||||
uses: paolobrasolin/setup-texlive-action@v1
|
uses: paolobrasolin/setup-texlive-action@v1
|
||||||
with:
|
with:
|
||||||
profile-path: ${{ github.workspace }}/.github/tex/texlive.profile.txt
|
profile-path: ${{ github.workspace }}/.github/tex/minimal.profile.txt
|
||||||
packages-path: ${{ github.workspace }}/.github/tex/packages.test.txt
|
packages-path: ${{ github.workspace }}/.github/tex/test.packages.txt
|
||||||
|
|
||||||
- name: "install tikz-trackschematic"
|
- name: "install tikz-trackschematic"
|
||||||
run: chmod +x dev-install.sh && ./dev-install.sh -b
|
run: chmod +x dev-install.sh && ./dev-install.sh -b
|
||||||
|
|
|
@ -0,0 +1,89 @@
|
||||||
|
name: "release"
|
||||||
|
|
||||||
|
# Controls when the workflow will run
|
||||||
|
on:
|
||||||
|
# Triggers the workflow on push or pull request events but only for the master branch
|
||||||
|
push:
|
||||||
|
tags:
|
||||||
|
- "v*"
|
||||||
|
|
||||||
|
# Allows you to run this workflow manually from the Actions tab
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
|
||||||
|
jobs:
|
||||||
|
test:
|
||||||
|
name: "test"
|
||||||
|
# The type of runner that the job will run on
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: "checkout"
|
||||||
|
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: "change ImageMagick policy to allow pdf->png conversion"
|
||||||
|
run: sudo sed -i 's/^.*policy.*coder.*none.*PDF.*//' /etc/ImageMagick-6/policy.xml
|
||||||
|
|
||||||
|
- name: "install ghostscript"
|
||||||
|
run: sudo apt-get install -y ghostscript
|
||||||
|
|
||||||
|
- name: "setup TeX Live (via paolobrasolin)"
|
||||||
|
uses: paolobrasolin/setup-texlive-action@v1
|
||||||
|
with:
|
||||||
|
profile-path: ${{ github.workspace }}/.github/tex/minimal.profile.txt
|
||||||
|
packages-path: ${{ github.workspace }}/.github/tex/test.packages.txt
|
||||||
|
|
||||||
|
- name: "install tikz-trackschematic"
|
||||||
|
run: chmod +x dev-install.sh && ./dev-install.sh -b
|
||||||
|
|
||||||
|
- name: "test tikz-trackschematic"
|
||||||
|
run: cd test && chmod +x testing.sh && ./testing.sh
|
||||||
|
|
||||||
|
release:
|
||||||
|
needs: test
|
||||||
|
name: "make release"
|
||||||
|
# The type of runner that the job will run on
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: "checkout"
|
||||||
|
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: "create tikz-trackschematic package"
|
||||||
|
env:
|
||||||
|
TAG_NAME: ${{ contains(github.event.head_commit.message, '[commit var]') }}
|
||||||
|
run: chmod +x create-release.sh ./create-release.sh -v ${TAG_NAME}
|
||||||
|
|
||||||
|
- name: "create release"
|
||||||
|
id: create_release
|
||||||
|
uses: actions/create-release@v1
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # This token is provided by Actions, you do not need to create your own token
|
||||||
|
with:
|
||||||
|
tag_name: ${{ github.ref }}
|
||||||
|
release_name: Release ${{ github.ref }}
|
||||||
|
body: |
|
||||||
|
Changes in this Release
|
||||||
|
- First Change
|
||||||
|
- Second Change
|
||||||
|
draft: false
|
||||||
|
prerelease: false
|
||||||
|
|
||||||
|
- name: "upload release asset"
|
||||||
|
uses: actions/upload-release-asset@v1
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
with:
|
||||||
|
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
||||||
|
asset_path: tikz-trackschematic-${TAG_NAME}.zip
|
||||||
|
asset_name: tikz-trackschematic-${TAG_NAME}.zip
|
||||||
|
asset_content_type: application/zip
|
||||||
|
|
||||||
|
- name: "publish release"
|
||||||
|
uses: StuYarrow/publish-release@v1
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
with:
|
||||||
|
id: ${{ steps.create_release.outputs.id }}
|
|
@ -33,8 +33,8 @@ jobs:
|
||||||
- name: "setup TeX Live (via paolobrasolin)"
|
- name: "setup TeX Live (via paolobrasolin)"
|
||||||
uses: paolobrasolin/setup-texlive-action@v1
|
uses: paolobrasolin/setup-texlive-action@v1
|
||||||
with:
|
with:
|
||||||
profile-path: ${{ github.workspace }}/.github/tex/texlive.profile.txt
|
profile-path: ${{ github.workspace }}/.github/tex/minimal.profile.txt
|
||||||
packages-path: ${{ github.workspace }}/.github/tex/packages.test.txt
|
packages-path: ${{ github.workspace }}/.github/tex/test.packages.txt
|
||||||
|
|
||||||
- name: "install tikz-trackschematic"
|
- name: "install tikz-trackschematic"
|
||||||
run: chmod +x dev-install.sh && ./dev-install.sh -b
|
run: chmod +x dev-install.sh && ./dev-install.sh -b
|
||||||
|
|
|
@ -13,8 +13,7 @@ Please note we have a code of conduct, please follow it in all your interactions
|
||||||
variables, exposed ports, useful file locations and container parameters.
|
variables, exposed ports, useful file locations and container parameters.
|
||||||
3. The versioning scheme we use is [SemVer](http://semver.org/). Increase the version numbers in the following files to the new version that this Pull Request would represent:
|
3. The versioning scheme we use is [SemVer](http://semver.org/). Increase the version numbers in the following files to the new version that this Pull Request would represent:
|
||||||
1. README.md
|
1. README.md
|
||||||
2. doc/versionhistory.tex and recompile manual.tex & snippets.tex
|
2. doc/versionhistory.tex
|
||||||
3. src/tikz-trackschematic.sty
|
|
||||||
4. You may merge the Pull Request in once you have the sign-off of two other developers, or if you
|
4. You may merge the Pull Request in once you have the sign-off of two other developers, or if you
|
||||||
do not have permission to do that, you may request the second reviewer to merge it for you.
|
do not have permission to do that, you may request the second reviewer to merge it for you.
|
||||||
5. The following versioning steps will be taken care of by the maintainer:
|
5. The following versioning steps will be taken care of by the maintainer:
|
||||||
|
|
|
@ -0,0 +1,139 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
# Copyright (c) 2018 - 2022, Martin Scheidt (ISC license)
|
||||||
|
# Permission to use, copy, modify, and/or distribute this file for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
|
||||||
|
|
||||||
|
####
|
||||||
|
# This script produces a .zip-file in accordance to the requirements for CTAN.
|
||||||
|
# For more information see https://ctan.org/help/upload-pkg.
|
||||||
|
####
|
||||||
|
|
||||||
|
# Halt on error
|
||||||
|
set -e
|
||||||
|
|
||||||
|
## -- pass getopts
|
||||||
|
|
||||||
|
usage() { echo "Usage: create-release.sh [-v version]"; }
|
||||||
|
|
||||||
|
verbose=1
|
||||||
|
batch_mode=0
|
||||||
|
|
||||||
|
while getopts ":v" opt; do
|
||||||
|
case ${opt} in
|
||||||
|
v ) batch_mode=1
|
||||||
|
verbose=0
|
||||||
|
;;
|
||||||
|
\? ) usage
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ "`echo -n`" = "-n" ]; then
|
||||||
|
n=""
|
||||||
|
c="\c"
|
||||||
|
else
|
||||||
|
n="-n"
|
||||||
|
c=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$batch_mode" = 0 ]; then
|
||||||
|
echo $n "specify version ( e.g. v0.6 ): $c"
|
||||||
|
read VERSION
|
||||||
|
else
|
||||||
|
VERSION=$2
|
||||||
|
fi
|
||||||
|
|
||||||
|
## -- commands
|
||||||
|
|
||||||
|
check_readme() {
|
||||||
|
# check if $VERSION is present in README.md
|
||||||
|
status=0
|
||||||
|
grep -qs "Version ${VERSION:1}" README.md || status=1
|
||||||
|
if [ $status = 0 ]; then
|
||||||
|
if [ $verbose = 1 ]; then
|
||||||
|
echo "Version ${VERSION:1} is present in README.md."
|
||||||
|
fi
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Version ${VERSION:1} not found in README.md."
|
||||||
|
echo "Be sure to edit README.md and specify current version!"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
check_versionhistory() {
|
||||||
|
# check if $VERSION is present in doc/versionhistory.tex
|
||||||
|
status=0
|
||||||
|
grep -qs "vhEntry{${VERSION:1}" doc/versionhistory.tex || status=1
|
||||||
|
if [ $status = 0 ]; then
|
||||||
|
if [ $verbose = 1 ]; then
|
||||||
|
echo "Version ${VERSION:1} is present in versionhistory.tex."
|
||||||
|
fi
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Version ${VERSION:1} not found in versionhistory.tex."
|
||||||
|
echo "Be sure to edit versionhistory.tex and specify current version!"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
## -- creating the release
|
||||||
|
|
||||||
|
## check if $VERSION is present in README.md and versionhistory.tex
|
||||||
|
check_readme
|
||||||
|
check_versionhistory
|
||||||
|
|
||||||
|
## extract DATE from versionhistory.tex
|
||||||
|
LINE=$(grep "vhEntry{${VERSION:1}" doc/versionhistory.tex)
|
||||||
|
DATEISO=$(echo $LINE | egrep -o '\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])')
|
||||||
|
# DATE=$(echo $DATEISO | sed -e "s|-|\\\/|g") # with escape character for sed
|
||||||
|
# DATE=$(date "+%Y\/%m\/%d") # with escape character for sed
|
||||||
|
|
||||||
|
## update version number and delete line below in tikz-trackschematic.sty
|
||||||
|
sed -i '.backup' -e "s|VERSIONDATE|$DATEISO|g" src/tikz-trackschematic.sty
|
||||||
|
sed -i '' -e "/create-release/c\ " src/tikz-trackschematic.sty
|
||||||
|
|
||||||
|
|
||||||
|
## (OPTIONAL) recompile manual.tex, examples, symboly_table and snippets.tex`
|
||||||
|
|
||||||
|
|
||||||
|
## create zip-archive
|
||||||
|
# create temporary folder
|
||||||
|
TMP="tikz-trackschematic-$VERSION"
|
||||||
|
mkdir $TMP
|
||||||
|
|
||||||
|
# copy README and .sty-file
|
||||||
|
cp README.md $TMP/README.md
|
||||||
|
cp doc/tikz-trackschematic-documentation.sty $TMP/
|
||||||
|
|
||||||
|
# copy and rename documentation
|
||||||
|
cp doc/manual.pdf $TMP/tikz-trackschematic.pdf
|
||||||
|
cp doc/manual.tex $TMP/tikz-trackschematic.tex
|
||||||
|
cp doc/snippets.pdf $TMP/tikz-trackschematic-snippets.pdf
|
||||||
|
cp doc/snippets.tex $TMP/tikz-trackschematic-snippets.tex
|
||||||
|
cp doc/symbology_table.pdf $TMP/tikz-trackschematic-symbology-table.pdf
|
||||||
|
cp doc/symbology_table.tex $TMP/tikz-trackschematic-symbology-table.tex
|
||||||
|
mkdir $TMP/tikz-trackschematic-examples
|
||||||
|
mkdir $TMP/tikz-trackschematic-snippets
|
||||||
|
cp -R doc/examples/* $TMP/tikz-trackschematic-examples/
|
||||||
|
cp -R doc/snippets/* $TMP/tikz-trackschematic-snippets/
|
||||||
|
if [ $verbose = 1 ]; then
|
||||||
|
echo "copied documentation"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# copy src-files
|
||||||
|
for SRC in src/*; do
|
||||||
|
cp $SRC $TMP
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ $verbose = 1 ]; then
|
||||||
|
echo "copied src-files"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# zip package
|
||||||
|
zip -r $TMP.zip $TMP/*
|
||||||
|
|
||||||
|
# cleanup
|
||||||
|
rm -rf $TMP/*
|
||||||
|
rmdir $TMP
|
|
@ -1,42 +0,0 @@
|
||||||
#!/usr/bin/env sh
|
|
||||||
|
|
||||||
# Copyright (c) 2018 - 2022, Martin Scheidt (ISC license)
|
|
||||||
# Permission to use, copy, modify, and/or distribute this file for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
|
|
||||||
|
|
||||||
echo "specify version ( e.g. v0.6 ):"
|
|
||||||
read VERSION
|
|
||||||
|
|
||||||
# create temporary folder
|
|
||||||
mkdir tikz-trackschematic-$VERSION
|
|
||||||
|
|
||||||
# copy README and .sty-file
|
|
||||||
cp README.md tikz-trackschematic-$VERSION/README.md
|
|
||||||
cp doc/tikz-trackschematic-documentation.sty tikz-trackschematic-$VERSION/tikz-trackschematic-documentation.sty
|
|
||||||
|
|
||||||
# copy and rename documentation
|
|
||||||
cp doc/manual.pdf tikz-trackschematic-$VERSION/tikz-trackschematic.pdf
|
|
||||||
cp doc/manual.tex tikz-trackschematic-$VERSION/tikz-trackschematic.tex
|
|
||||||
cp doc/snippets.pdf tikz-trackschematic-$VERSION/tikz-trackschematic-snippets.pdf
|
|
||||||
cp doc/snippets.tex tikz-trackschematic-$VERSION/tikz-trackschematic-snippets.tex
|
|
||||||
mkdir tikz-trackschematic-$VERSION/tikz-trackschematic-examples
|
|
||||||
mkdir tikz-trackschematic-$VERSION/tikz-trackschematic-snippets
|
|
||||||
cp -R doc/examples/* tikz-trackschematic-$VERSION/tikz-trackschematic-examples
|
|
||||||
cp -R doc/snippets/* tikz-trackschematic-$VERSION/tikz-trackschematic-snippets
|
|
||||||
|
|
||||||
# copy src
|
|
||||||
cp src/tikz-trackschematic.sty tikz-trackschematic-$VERSION/tikz-trackschematic.sty
|
|
||||||
cp src/tikzlibrarytrackschematic.code.tex tikz-trackschematic-$VERSION/tikzlibrarytrackschematic.code.tex
|
|
||||||
cp src/tikzlibrarytrackschematic.constructions.code.tex tikz-trackschematic-$VERSION/tikzlibrarytrackschematic.constructions.code.tex
|
|
||||||
cp src/tikzlibrarytrackschematic.electrics.code.tex tikz-trackschematic-$VERSION/tikzlibrarytrackschematic.electrics.code.tex
|
|
||||||
cp src/tikzlibrarytrackschematic.measures.code.tex tikz-trackschematic-$VERSION/tikzlibrarytrackschematic.measures.code.tex
|
|
||||||
cp src/tikzlibrarytrackschematic.topology.code.tex tikz-trackschematic-$VERSION/tikzlibrarytrackschematic.topology.code.tex
|
|
||||||
cp src/tikzlibrarytrackschematic.trafficcontrol.code.tex tikz-trackschematic-$VERSION/tikzlibrarytrackschematic.trafficcontrol.code.tex
|
|
||||||
cp src/tikzlibrarytrackschematic.vehicles.code.tex tikz-trackschematic-$VERSION/tikzlibrarytrackschematic.vehicles.code.tex
|
|
||||||
cp src/tikzlibrarytrackschematic.symbology.code.tex tikz-trackschematic-$VERSION/tikzlibrarytrackschematic.symbology.code.tex
|
|
||||||
|
|
||||||
# zip package
|
|
||||||
zip -r tikz-trackschematic-$VERSION.zip tikz-trackschematic-$VERSION/*
|
|
||||||
|
|
||||||
#cleanup
|
|
||||||
rm -rf tikz-trackschematic-$VERSION/*
|
|
||||||
rmdir tikz-trackschematic-$VERSION
|
|
|
@ -5,8 +5,8 @@
|
||||||
% Permission to use, copy, modify, and/or distribute this file for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
|
% Permission to use, copy, modify, and/or distribute this file for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
|
||||||
%
|
%
|
||||||
\NeedsTeXFormat{LaTeX2e}%
|
\NeedsTeXFormat{LaTeX2e}%
|
||||||
\ProvidesPackage{tikz-trackschematic}[2022/02/02 tikz-trackschematic]%
|
\ProvidesPackage{tikz-trackschematic}[VERSIONDATE tikz-trackschematic]%
|
||||||
%
|
% create-release.sh will remove this line and ^--VERSIONDATE will be replaced
|
||||||
%%%%%%%%%%%%%%%
|
%%%%%%%%%%%%%%%
|
||||||
% Package options
|
% Package options
|
||||||
%%%%%%%%%%%%%%%
|
%%%%%%%%%%%%%%%
|
||||||
|
|
Loading…
Reference in New Issue