Optimal encoding of Maxicode #778
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
name: BWIPP CI | |
on: | |
push: | |
branches: | |
- "*" | |
tags: | |
- "*" | |
pull_request: | |
branches: | |
- "*" | |
permissions: read-all | |
jobs: | |
ci: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: | |
- ubuntu-22.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Build | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y --no-install-recommends ghostscript | |
make -j "$(nproc)" | |
- name: Test | |
run: make test | |
docs-pdf: | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
submodules: True | |
- name: Convert images from EPS to PDF | |
run: | | |
sudo apt-get update | |
sudo apt install -y --no-install-recommends \ | |
texlive-font-utils ghostscript | |
find wikidocs/images/ -name '*.eps' -print0 | \ | |
xargs -0 -t -P "$(nproc)" -I{} epstopdf {} | |
- name: Transform wiki | |
run: | | |
sed -i \ | |
-e 's/!\[\(.*\)\](\(images\)\/\(.\+\).png)/![\1](wikidocs\/\2\/\3.pdf)/' \ | |
wikidocs/symbologies/*.md wikidocs/options/*.md wikidocs/kb/*.md | |
perl -pi -e 's/(([^!]|^)\[[^\]]+\])\(([A-Za-z0-9-]+)\)/\1\L(#\3)/g' \ | |
wikidocs/symbologies/*.md wikidocs/options/*.md wikidocs/kb/*.md | |
sed -i -e 's/\[!\[GitHub license\].*//' README.md | |
- name: Build PDF docs | |
uses: docker://pandoc/latex:2.9 | |
with: | |
args: >- | |
-f gfm -t latex | |
--data-dir=wikidocs/__pandoc --template template.latex | |
-M title="Barcode Writer in Pure PostScript" | |
-M author="https://bwipp.terryburton.co.uk" | |
-V geometry:a4paper,margin=2cm | |
-B wikidocs/__pandoc/__introduction.latex | |
--toc --toc-depth=3 | |
--top-level-division=chapter | |
-o wikidocs/__pandoc/barcodewriter.pdf | |
README.md | |
wikidocs/kb/Quick-Guide.md | |
src/README.monolithic | |
src/README.resource | |
wikidocs/__pandoc/__symbology-reference.md | |
wikidocs/__pandoc/__symbology-pos.md | |
wikidocs/symbologies/EAN-13.md | |
wikidocs/symbologies/EAN-8.md | |
wikidocs/symbologies/UPC-A.md | |
wikidocs/symbologies/UPC-E.md | |
wikidocs/symbologies/ISBN.md | |
wikidocs/symbologies/ISMN.md | |
wikidocs/symbologies/ISSN.md | |
wikidocs/__pandoc/__symbology-2d.md | |
wikidocs/symbologies/Aztec-Code.md | |
wikidocs/symbologies/Aztec-Runes.md | |
wikidocs/symbologies/Data-Matrix.md | |
wikidocs/symbologies/Data-Matrix-Rectangular.md | |
wikidocs/symbologies/Data-Matrix-Rectangular-Extension.md | |
wikidocs/symbologies/Han-Xin-Code.md | |
wikidocs/symbologies/MicroPDF417.md | |
wikidocs/symbologies/PDF417.md | |
wikidocs/symbologies/Compact-PDF417.md | |
wikidocs/symbologies/QR-Code.md | |
wikidocs/symbologies/Micro-QR-Code.md | |
wikidocs/symbologies/Swiss-QR-Code.md | |
wikidocs/__pandoc/__symbology-1d.md | |
wikidocs/symbologies/Code-128.md | |
wikidocs/symbologies/Code-39.md | |
wikidocs/symbologies/Code-39-Extended.md | |
wikidocs/symbologies/Code-93.md | |
wikidocs/symbologies/Code-93-Extended.md | |
wikidocs/symbologies/Interleaved-2-of-5.md | |
wikidocs/__pandoc/__symbology-supplychain.md | |
wikidocs/symbologies/EAN-14.md | |
wikidocs/symbologies/ITF-14.md | |
wikidocs/symbologies/SSCC-18.md | |
wikidocs/symbologies/GS1-DataMatrix.md | |
wikidocs/symbologies/GS1-QR-Code.md | |
wikidocs/symbologies/GS1-128.md | |
wikidocs/symbologies/GS1-DotCode.md | |
wikidocs/__pandoc/__symbology-gs1db.md | |
wikidocs/symbologies/GS1-DataBar-Omnidirectional.md | |
wikidocs/symbologies/GS1-DataBar-Stacked-Omnidirectional.md | |
wikidocs/symbologies/GS1-DataBar-Expanded.md | |
wikidocs/symbologies/GS1-DataBar-Expanded-Stacked.md | |
wikidocs/symbologies/GS1-DataBar-Truncated.md | |
wikidocs/symbologies/GS1-DataBar-Stacked.md | |
wikidocs/symbologies/GS1-DataBar-Limited.md | |
wikidocs/symbologies/GS1-North-American-Coupon-Code.md | |
wikidocs/__pandoc/__symbology-postal.md | |
wikidocs/symbologies/Australia-Post.md | |
wikidocs/symbologies/Deutsche-Post-Identcode.md | |
wikidocs/symbologies/Deutsche-Post-Leitcode.md | |
wikidocs/symbologies/Japan-Post.md | |
wikidocs/symbologies/MaxiCode.md | |
wikidocs/symbologies/Royal-Mail.md | |
wikidocs/symbologies/Mailmark.md | |
wikidocs/symbologies/Royal-TNT-Post.md | |
wikidocs/symbologies/USPS-Intelligent-Mail.md | |
wikidocs/symbologies/USPS-POSTNET.md | |
wikidocs/symbologies/USPS-PLANET.md | |
wikidocs/symbologies/USPS-FIM-symbols.md | |
wikidocs/__pandoc/__symbology-pharma.md | |
wikidocs/symbologies/Italian-Pharmacode.md | |
wikidocs/symbologies/Pharmacode.md | |
wikidocs/symbologies/Two-track-Pharmacode.md | |
wikidocs/symbologies/PZN.md | |
wikidocs/symbologies/HIBC-Symbols.md | |
wikidocs/__pandoc/__symbology-lessused.md | |
wikidocs/symbologies/BC412.md | |
wikidocs/symbologies/Channel-Code.md | |
wikidocs/symbologies/Codabar.md | |
wikidocs/symbologies/Codablock-F.md | |
wikidocs/symbologies/Code-11.md | |
wikidocs/symbologies/Code-16K.md | |
wikidocs/symbologies/Code-25.md | |
wikidocs/symbologies/DotCode.md | |
wikidocs/symbologies/Ultracode.md | |
wikidocs/symbologies/IATA-2-of-5.md | |
wikidocs/symbologies/Matrix-2-of-5.md | |
wikidocs/symbologies/Datalogic-2-of-5.md | |
wikidocs/symbologies/COOP-2-of-5.md | |
wikidocs/symbologies/Code-49.md | |
wikidocs/symbologies/Code-One.md | |
wikidocs/symbologies/MSI-Plessey.md | |
wikidocs/symbologies/Plessey.md | |
wikidocs/symbologies/PosiCode.md | |
wikidocs/symbologies/Telepen.md | |
wikidocs/symbologies/Telepen-Numeric.md | |
wikidocs/symbologies/GS1-Composite-Symbols.md | |
wikidocs/__pandoc/__symbology-rawtype.md | |
wikidocs/symbologies/DAFT.md | |
wikidocs/symbologies/Flattermarken.md | |
wikidocs/symbologies/Raw.md | |
wikidocs/__pandoc/__symbology-partial.md | |
wikidocs/symbologies/EAN-2.md | |
wikidocs/symbologies/EAN-5.md | |
wikidocs/symbologies/GS1-Application-Identifier-Standard-Format.md | |
wikidocs/__pandoc/__options-reference.md | |
wikidocs/options/Check-Digits.md | |
wikidocs/options/Input-Processing.md | |
wikidocs/options/Symbol-Dimensions.md | |
wikidocs/options/Element-Properties.md | |
wikidocs/options/Text-Properties.md | |
wikidocs/options/Text-Positioning.md | |
wikidocs/options/Border-Properties.md | |
wikidocs/options/Symbol-Colors.md | |
wikidocs/options/EAN-UPC-Add-ons.md | |
wikidocs/options/EAN-UPC-Guards.md | |
wikidocs/__pandoc/__knowledge-base.md | |
wikidocs/kb/FAQs.md | |
wikidocs/kb/Resizing-Symbols.md | |
wikidocs/kb/Developing-a-Frontend-to-BWIPP.md | |
THANKS.md | |
cited-by.md | |
- name: Store PDF docs | |
uses: actions/upload-artifact@v4 | |
with: | |
name: docs-pdf | |
path: wikidocs/__pandoc/barcodewriter.pdf | |
docs-html: | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
submodules: True | |
- name: Transform wiki | |
run: | | |
sed -i \ | |
-e 's/!\[\(.*\)\](\(images\)\/\(.\+\).png)/![\1](wikidocs\/\2\/\3.png)/' \ | |
wikidocs/symbologies/*.md wikidocs/options/*.md wikidocs/kb/*.md | |
perl -pi -e 's/(([^!]|^)\[[^\]]+\])\(([A-Za-z0-9-]+)\)/\1\L(#\3)/g' \ | |
wikidocs/symbologies/*.md wikidocs/options/*.md wikidocs/kb/*.md | |
sed -i -e 's/\[!\[GitHub license\].*//' README.md | |
- name: Build HTML docs | |
uses: docker://pandoc/latex:2.9 | |
with: | |
args: >- | |
-f gfm -t html | |
--data-dir=wikidocs/__pandoc --template template.html | |
-M title="Barcode Writer in Pure PostScript" | |
-B wikidocs/__pandoc/__introduction.html | |
--toc --toc-depth=3 | |
--self-contained | |
-o wikidocs/__pandoc/barcodewriter.html | |
README.md | |
wikidocs/kb/Quick-Guide.md | |
src/README.monolithic | |
src/README.resource | |
wikidocs/__pandoc/__symbology-reference.md | |
wikidocs/__pandoc/__symbology-pos.md | |
wikidocs/symbologies/EAN-13.md | |
wikidocs/symbologies/EAN-8.md | |
wikidocs/symbologies/UPC-A.md | |
wikidocs/symbologies/UPC-E.md | |
wikidocs/symbologies/ISBN.md | |
wikidocs/symbologies/ISMN.md | |
wikidocs/symbologies/ISSN.md | |
wikidocs/__pandoc/__symbology-2d.md | |
wikidocs/symbologies/Aztec-Code.md | |
wikidocs/symbologies/Aztec-Runes.md | |
wikidocs/symbologies/Data-Matrix.md | |
wikidocs/symbologies/Data-Matrix-Rectangular.md | |
wikidocs/symbologies/Data-Matrix-Rectangular-Extension.md | |
wikidocs/symbologies/Han-Xin-Code.md | |
wikidocs/symbologies/MicroPDF417.md | |
wikidocs/symbologies/PDF417.md | |
wikidocs/symbologies/Compact-PDF417.md | |
wikidocs/symbologies/QR-Code.md | |
wikidocs/symbologies/Micro-QR-Code.md | |
wikidocs/symbologies/Swiss-QR-Code.md | |
wikidocs/__pandoc/__symbology-1d.md | |
wikidocs/symbologies/Code-128.md | |
wikidocs/symbologies/Code-39.md | |
wikidocs/symbologies/Code-39-Extended.md | |
wikidocs/symbologies/Code-93.md | |
wikidocs/symbologies/Code-93-Extended.md | |
wikidocs/symbologies/Interleaved-2-of-5.md | |
wikidocs/__pandoc/__symbology-supplychain.md | |
wikidocs/symbologies/EAN-14.md | |
wikidocs/symbologies/ITF-14.md | |
wikidocs/symbologies/SSCC-18.md | |
wikidocs/symbologies/GS1-DataMatrix.md | |
wikidocs/symbologies/GS1-QR-Code.md | |
wikidocs/symbologies/GS1-128.md | |
wikidocs/symbologies/GS1-DotCode.md | |
wikidocs/__pandoc/__symbology-gs1db.md | |
wikidocs/symbologies/GS1-DataBar-Omnidirectional.md | |
wikidocs/symbologies/GS1-DataBar-Stacked-Omnidirectional.md | |
wikidocs/symbologies/GS1-DataBar-Expanded.md | |
wikidocs/symbologies/GS1-DataBar-Expanded-Stacked.md | |
wikidocs/symbologies/GS1-DataBar-Truncated.md | |
wikidocs/symbologies/GS1-DataBar-Stacked.md | |
wikidocs/symbologies/GS1-DataBar-Limited.md | |
wikidocs/symbologies/GS1-North-American-Coupon-Code.md | |
wikidocs/__pandoc/__symbology-postal.md | |
wikidocs/symbologies/Australia-Post.md | |
wikidocs/symbologies/Deutsche-Post-Identcode.md | |
wikidocs/symbologies/Deutsche-Post-Leitcode.md | |
wikidocs/symbologies/Japan-Post.md | |
wikidocs/symbologies/MaxiCode.md | |
wikidocs/symbologies/Royal-Mail.md | |
wikidocs/symbologies/Mailmark.md | |
wikidocs/symbologies/Royal-TNT-Post.md | |
wikidocs/symbologies/USPS-Intelligent-Mail.md | |
wikidocs/symbologies/USPS-POSTNET.md | |
wikidocs/symbologies/USPS-PLANET.md | |
wikidocs/symbologies/USPS-FIM-symbols.md | |
wikidocs/__pandoc/__symbology-pharma.md | |
wikidocs/symbologies/Italian-Pharmacode.md | |
wikidocs/symbologies/Pharmacode.md | |
wikidocs/symbologies/Two-track-Pharmacode.md | |
wikidocs/symbologies/PZN.md | |
wikidocs/symbologies/HIBC-Symbols.md | |
wikidocs/__pandoc/__symbology-lessused.md | |
wikidocs/symbologies/BC412.md | |
wikidocs/symbologies/Channel-Code.md | |
wikidocs/symbologies/Codabar.md | |
wikidocs/symbologies/Codablock-F.md | |
wikidocs/symbologies/Code-11.md | |
wikidocs/symbologies/Code-16K.md | |
wikidocs/symbologies/Code-25.md | |
wikidocs/symbologies/DotCode.md | |
wikidocs/symbologies/Ultracode.md | |
wikidocs/symbologies/IATA-2-of-5.md | |
wikidocs/symbologies/Matrix-2-of-5.md | |
wikidocs/symbologies/Datalogic-2-of-5.md | |
wikidocs/symbologies/COOP-2-of-5.md | |
wikidocs/symbologies/Code-49.md | |
wikidocs/symbologies/Code-One.md | |
wikidocs/symbologies/MSI-Plessey.md | |
wikidocs/symbologies/Plessey.md | |
wikidocs/symbologies/PosiCode.md | |
wikidocs/symbologies/Telepen.md | |
wikidocs/symbologies/Telepen-Numeric.md | |
wikidocs/symbologies/GS1-Composite-Symbols.md | |
wikidocs/__pandoc/__symbology-rawtype.md | |
wikidocs/symbologies/DAFT.md | |
wikidocs/symbologies/Flattermarken.md | |
wikidocs/symbologies/Raw.md | |
wikidocs/__pandoc/__symbology-partial.md | |
wikidocs/symbologies/EAN-2.md | |
wikidocs/symbologies/EAN-5.md | |
wikidocs/symbologies/GS1-Application-Identifier-Standard-Format.md | |
wikidocs/__pandoc/__options-reference.md | |
wikidocs/options/Check-Digits.md | |
wikidocs/options/Input-Processing.md | |
wikidocs/options/Symbol-Dimensions.md | |
wikidocs/options/Element-Properties.md | |
wikidocs/options/Text-Properties.md | |
wikidocs/options/Text-Positioning.md | |
wikidocs/options/Border-Properties.md | |
wikidocs/options/Symbol-Colors.md | |
wikidocs/options/EAN-UPC-Add-ons.md | |
wikidocs/options/EAN-UPC-Guards.md | |
wikidocs/__pandoc/__knowledge-base.md | |
wikidocs/kb/FAQs.md | |
wikidocs/kb/Resizing-Symbols.md | |
wikidocs/kb/Developing-a-Frontend-to-BWIPP.md | |
THANKS.md | |
cited-by.md | |
- name: Store HTML docs | |
uses: actions/upload-artifact@v4 | |
with: | |
name: docs-html | |
path: wikidocs/__pandoc/barcodewriter.html | |
release: | |
if: startsWith(github.ref, 'refs/tags/') | |
runs-on: ubuntu-22.04 | |
permissions: write-all | |
needs: | |
- ci | |
- docs-pdf | |
- docs-html | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Get and check the version | |
id: get_version | |
run: | | |
VERSION="${GITHUB_REF/refs\/tags\//}" | |
[ "$VERSION" == "$(head -1 CHANGES)" ] || exit 1 | |
echo "VERSION=$VERSION" >> "$GITHUB_OUTPUT" | |
- name: Make assets | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y --no-install-recommends ghostscript | |
make -j "$(nproc)" release | |
- name: Load PDF docs | |
uses: actions/download-artifact@v4 | |
with: | |
name: docs-pdf | |
- name: Load HTML docs | |
uses: actions/download-artifact@v4 | |
with: | |
name: docs-html | |
- name: Create GitHub release | |
id: create_release | |
uses: actions/create-release@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
tag_name: ${{ steps.get_version.outputs.VERSION }} | |
release_name: ${{ steps.get_version.outputs.VERSION }} | |
draft: false | |
prerelease: false | |
- name: "Upload asset: monolithic tgz" | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: "build/release/postscriptbarcode-monolithic-\ | |
${{ steps.get_version.outputs.VERSION }}.tgz" | |
asset_name: "postscriptbarcode-monolithic-\ | |
${{ steps.get_version.outputs.VERSION }}.tgz" | |
asset_content_type: application/gzip' | |
- name: "Upload asset: monolithic zip" | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: "build/release/postscriptbarcode-monolithic-\ | |
${{ steps.get_version.outputs.VERSION }}.zip" | |
asset_name: "postscriptbarcode-monolithic-\ | |
${{ steps.get_version.outputs.VERSION }}.zip" | |
asset_content_type: application/zip | |
- name: "Upload asset: monolithic-package tgz" | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: "build/release/postscriptbarcode-monolithic-package-\ | |
${{ steps.get_version.outputs.VERSION }}.tgz" | |
asset_name: "postscriptbarcode-monolithic-package-\ | |
${{ steps.get_version.outputs.VERSION }}.tgz" | |
asset_content_type: application/gzip' | |
- name: "Upload asset: monolithic-package zip" | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: "build/release/postscriptbarcode-monolithic-package-\ | |
${{ steps.get_version.outputs.VERSION }}.zip" | |
asset_name: "postscriptbarcode-monolithic-package-\ | |
${{ steps.get_version.outputs.VERSION }}.zip" | |
asset_content_type: application/zip | |
- name: "Upload packaged-resource tgz" | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: "build/release/postscriptbarcode-packaged-resource-\ | |
${{ steps.get_version.outputs.VERSION }}.tgz" | |
asset_name: "postscriptbarcode-packaged-resource-\ | |
${{ steps.get_version.outputs.VERSION }}.tgz" | |
asset_content_type: application/gzip' | |
- name: "Upload asset: packaged-resource zip" | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: "build/release/postscriptbarcode-packaged-resource-\ | |
${{ steps.get_version.outputs.VERSION }}.zip" | |
asset_name: "postscriptbarcode-packaged-resource-\ | |
${{ steps.get_version.outputs.VERSION }}.zip" | |
asset_content_type: application/zip | |
- name: "Upload asset: resource tgz" | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: "build/release/postscriptbarcode-resource-\ | |
${{ steps.get_version.outputs.VERSION }}.tgz" | |
asset_name: "postscriptbarcode-resource-package-\ | |
${{ steps.get_version.outputs.VERSION }}.tgz" | |
asset_content_type: application/gzip' | |
- name: "Upload asset: resource zip" | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: "build/release/postscriptbarcode-resource-\ | |
${{ steps.get_version.outputs.VERSION }}.zip" | |
asset_name: "postscriptbarcode-resource-\ | |
${{ steps.get_version.outputs.VERSION }}.zip" | |
asset_content_type: application/zip | |
- name: "Upload asset: PDF docs" | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: barcodewriter.pdf | |
asset_name: postscriptbarcode-manual.pdf | |
asset_content_type: application/pdf | |
- name: "Upload asset: HTML docs" | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: barcodewriter.html | |
asset_name: postscriptbarcode-manual.html | |
asset_content_type: text/html |