Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also .

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also .
base repository: latex3/l3build
base: 2020-01-14
head repository: latex3/l3build
compare: HEAD
Commits on Jan 24, 2020
Commits on Feb 07, 2020
Commits on Feb 08, 2020
Commits on Mar 04, 2020
Commits on Mar 18, 2020
Without quotes, file names with spaces would throw something like:
  sh: 1: [: ../build/test/file: unexpected operator
Commits on Mar 24, 2020
Commits on Mar 25, 2020
Commits on Sep 14, 2020
Commits on Jan 14, 2021
Clarify documentation of tag and upload targets
Minor improvement
Commits on Jan 20, 2021
Based on the latex3 one.
Commits on Jan 26, 2021
Minimize reference to global variables (turn epoch to an argument)
Some names are "more explicit"
snake_case cosmetic change.
Inline documentation added.
Missing `>0` to test for a void table
Reword the comment on line 106
Commits on Jan 31, 2021
Commits on Feb 05, 2021
Commits on Feb 11, 2021
Using a possibly undefined global variable `i` instead of the local one `name`
Commits on Feb 20, 2021
This is a combination of 5 commits.

Prepare for additional test types

More work to make test types extensible

Next step

Should actually be extensible now

Fix embarrasing bugs
Commits on Feb 21, 2021
Remove local redeclaration of a local variable
Rename locals that hide outer locals (appending '_a' for example).
Simplify the shuffle overhead
Remove unused variable
format → format_a
Commits on Feb 23, 2021
As suggested, rename the outer variable instead of the inner
Change some names to be more explicit
Use of `ans` for `answer`.
One pair of () added to make operator precedence explicit.
Adopted suggestions: `str_format`, `engine_info`, `result`, `create_file_list`.
More explicit var names (with explanations)
ternary operator more explicit
Redundant loop counter in check.lua
`pattern` name dropped because of lua patterns.
Commented out code removed
Commits on Feb 24, 2021
Refactor set epoch cmd, clean locals, bug fix
Commits on Mar 08, 2021
Commits on Mar 19, 2021
- `tree` in file functions is ordered in deep first traversal. At a given level, the order is given by `lfs.dir`.
- cleandir is made in reverse order in install
- in clean the rm is also in reverse order
- some return values are fixed
- more efficient usage of lfs.attributes
- extra local
- no reverse order in install
Commits on Mar 24, 2021
- typo fixed: os_time
- gethome creates the directory before asking for abspath
Commits on May 13, 2021
Commits on Jul 08, 2021
Commits on Aug 05, 2021
Given that I have forgotten that again for the second time ...
Commits on Aug 07, 2021
Commits on Aug 15, 2021
Commits on Aug 28, 2021
@@ -0,0 +1,56 @@
# The test framework itself
#
luatex
#
# Required to build formats
#
latex-bin
luahbtex
platex
uplatex
tex
xetex
# Requirements for the tests
amsfonts
etex-pkg
#
# Support for typesetting the docs
#
alphalph
atbegshi
atveryend
amsmath
bigintcalc
bitset
booktabs
ec
colortbl
csquotes
enumitem
etexcmds
fancyvrb
gettitlestring
graphics
hologo
hycolor
iftex
intcalc
kvdefinekeys
kvsetkeys
l3packages
letltxmacro
listings
ltxcmds
makeindex
needspace
oberdiek
pdfescape
pdftexcmds
psnfss
refcount
rerunfilecheck
hyperref
titlesec
tools
underscore
uniquecounter
@@ -0,0 +1,54 @@
name: Create release

# We create releases for all new tags
on:
push:
tags:
- "*"

jobs:
release:
runs-on: ubuntu-latest
name: Build release
environment: Release
steps:
# Boilerplate
- name: Checkout repository
uses: actions/checkout@v2
# GitHub Actions don't regenerate the test if the key doesn't change, so
# we integrate a random UUID into the key to keep them different.
# DO NOT CHANGE THIS
- name: Generate unique ID
id: get-id
run: |
echo -n ::set-output name=id::
cat /proc/sys/kernel/random/uuid
# Actually load the cache. Since we never reuse the key, we need restore-keys
# to indicate the prefix of our caches. This loads the newest cache with this
# prefix in the key.
#
# If we want to force regeneration of the cache, increase the number after
# *both* instances of "texlive-v"
- name: Load cache
uses: actions/cache@v2
with:
path: ~/texlive
key: texlive-v0-${{ steps.get-id.outputs.id }}
restore-keys: texlive-v0-
# We need Ghostscript for XeTeX tests.
- run: sudo apt-get install ghostscript
- name: Install TeX Live
uses: zauguin/install-texlive@v1
with:
# List the required TeX Live packages in a separate file to allow reuse in
# different workflows.
package_file: .github/tl_packages
- name: Run l3build
run: texlua l3build.lua ctan -H --show-log-on-error
# Now create the release (this only runs if the previous steps were successful)
- name: Create GitHub release
uses: ncipollo/release-action@880be3d0a71bc0fa98db60201d2cbdc27324f547
id: release
with:
artifacts: "build/distrib/ctan/*.zip"
token: ${{ secrets.GITHUB_TOKEN }}
@@ -0,0 +1,45 @@
name: Automated testing

on:
push:
pull_request:
branches:
- main

jobs:
l3build:
runs-on: ubuntu-latest
steps:
# Boilerplate
- name: Checkout repository
uses: actions/checkout@v2
# GitHub Actions don't regenerate the test if the key doesn't change, so
# we integrate a random UUID into the key to keep them different.
# DO NOT CHANGE THIS
- name: Generate unique ID
id: get-id
run: |
echo -n ::set-output name=id::
cat /proc/sys/kernel/random/uuid
# Actually load the cache. Since we never reuse the key, we need restore-keys
# to indicate the prefix of our caches. This loads the newest cache with this
# prefix in the key.
#
# If we want to force regeneration of the cache, increase the number after
# *both* instances of "texlive-v"
- name: Load cache
uses: actions/cache@v2
with:
path: ~/texlive
key: texlive-v0-${{ steps.get-id.outputs.id }}
restore-keys: texlive-v0-
# We need Ghostscript for XeTeX tests.
- run: sudo apt-get install ghostscript
- name: Install TeX Live
uses: zauguin/install-texlive@v1
with:
# List the required TeX Live packages in a separate file to allow reuse in
# different workflows.
package_file: .github/tl_packages
- name: Run l3build
run: texlua l3build.lua ctan -H --show-log-on-error
@@ -1,5 +1,20 @@
build/
*.pdf
build/*

*.zip
!testfiles/*.pdf

*.pdf
!*/testfiles/*.pdf

*.*~

*.aux
*.bbl
*.glo
*.gz
*.hd
*.idx
*.ilg
*.ind
*.log
*.out
*.toc
@@ -7,6 +7,114 @@ this project uses date-based 'snapshot' version identifiers.

## [Unreleased]

### Changed
- Documentation improvements

## [2021-08-28]

### Fixed
- Creation of zip files on Windows
- Only match filename and not full path for `exefiles`

## [2021-08-27]

### Added
- Add the `--show-saves` flag for `l3build check` to generate a list of
`l3build save` commands to regenerate all failing tests

### Changed
- No longer call an external program to generate `zip` files and generate
them directly instead. This disables the options `zipexe` and `zipopts`.
- Copy TDS-style zip files to main dir

## [2021-05-06]

### Fixed
- Issue when running PDF-based tests

## [2021-05-05]

### Changed
- Normalise Lua function calls (issue #127) - may require `.tlg` update
- LuaTeX from TL'21 is no longer 'off by one' in log files - may require
`.tlg` update

### Fixed
- Installation now supports deeper directory levels (issue #182)
- The `texmfhome` directory is now created before use if required
- Crash caused by yyyy-mm-dd epoch format

### Removed
- Support for use as `texlua build.lua <target>`

## [2020-06-04]

### Added
- Store 'raw' PDF files when testing using PDFs, to allow further checks
with e.g. PDF validators

## [2020-03-25]

### Changed
- Exclude `sourcefiles` entries from file clean-up
- Adjust defaults for TeX Live 2020 LuaHBTeX usage

## [2020-03-16]

### Changed
- Suppress PDF compression in DVI route
- Suppress PDF ID data in DVI route
- Default to `dvips` for (p)TeX
- Refinement of `/ID` line suppression

## [2020-03-13]

### Changed
- Refinement of PDF test normalisation

## [2020-03-12]

### Added
- Option `ps2pdfopt`

### Changed
- Normalise `/ID` lines in PDF comparisons
- Normalise `%%` lines in PDF comparisons

### Fixed
- Enable `cleandir()` recursively
- Install files after *all* directory cleaning/creation

## [2020-02-21]

### Changed
- Avoid temporary file when unpacking

### Deprecated
- `os_yes`: use `io.popen(...,w)` instead

## [2020-02-17]

### Added
- Variable `textfiledir`
- Table `specialtypesetting` and support data

### Changed
- Documentation improvements

### Fixed
- When `checkruns` > 1 and `recordstatus=true`, testing code would crash
(issue #90)

## [2020-02-03]

### Changed
- Normalise out DVI header lines

### Fixed
- Allow announcement field to be empty
(with a warning this suppresses the CTAN announcement)

## [2020-01-14]

### Fixed
@@ -402,9 +510,21 @@ this project uses date-based 'snapshot' version identifiers.

### Removed
- Rationalise short option names: removed `-d`, `-E`, `-r`
- Target `cmdcheck`: specific to LaTeX3 kernel work

[Unreleased]: https://github.com/latex3/l3build/compare/2020-01-14...HEAD
- Target `cmdcheck`: specific to LaTeX kernel work

[Unreleased]: https://github.com/latex3/l3build/compare/2021-08-28...HEAD
[2021-08-28]: https://github.com/latex3/l3build/compare/2021-08-27...2021-08-28
[2021-08-27]: https://github.com/latex3/l3build/compare/2021-05-06...2021-08-27
[2021-05-06]: https://github.com/latex3/l3build/compare/2021-05-05...2021-05-06
[2021-05-05]: https://github.com/latex3/l3build/compare/2020-06-04...2021-05-05
[2020-06-04]: https://github.com/latex3/l3build/compare/2020-03-25...2020-06-04
[2020-03-25]: https://github.com/latex3/l3build/compare/2020-03-16...2020-03-25
[2020-03-16]: https://github.com/latex3/l3build/compare/2020-03-13...2020-03-16
[2020-03-13]: https://github.com/latex3/l3build/compare/2020-03-12...2020-03-13
[2020-03-12]: https://github.com/latex3/l3build/compare/2020-02-21...2020-03-12
[2020-02-21]: https://github.com/latex3/l3build/compare/2020-02-17...2020-02-21
[2020-02-17]: https://github.com/latex3/l3build/compare/2020-02-03...2020-02-17
[2020-02-03]: https://github.com/latex3/l3build/compare/2020-01-14...2020-02-03
[2020-01-14]: https://github.com/latex3/l3build/compare/2019-11-27...2020-01-14
[2019-11-27]: https://github.com/latex3/l3build/compare/2019-11-01...2019-11-27
[2019-11-01]: https://github.com/latex3/l3build/compare/2019-10-02...2019-11-01
@@ -1,5 +1,5 @@
Thanks for considering contributing to `l3build`: feedback, fixes and ideas are
all useful. Here, we ([The LaTeX3 Project](https://www.latex-project.org)) have
all useful. Here, we ([The LaTeX Project](https://www.latex-project.org)) have
collected together a few pointers to help things along.

## Bugs
@@ -1,7 +1,7 @@
l3build: a testing and building system for LaTeX3
l3build: a testing and building system for LaTeX
=================================================

Release 2020-01-14
Release 2021-08-28

Overview
--------
@@ -14,23 +14,23 @@ high-quality LaTeX code by providing:

The bundle consists of a Lua script to run the tasks and a
`.tex` file which provides the testing environment. These were
originally developed for supporting LaTeX3 development but
originally developed for supporting LaTeX development but
are designed such that they can be readily used by others. Full
documentation is provided.

Issues
------

The issue tracker for LaTeX3 is currently located
The issue tracker for LaTeX is currently located
[on GitHub](https://github.com/latex3/l3build/issues).

Development team
----------------

The LaTeX kernel is developed by [The LaTeX3 Project](https://latex-project.org).
The LaTeX kernel is developed by [The LaTeX Project](https://latex-project.org).

-----

<p>Copyright (C) 2014-2020 The LaTeX3 Project <br />
<p>Copyright (C) 2014-2021 The LaTeX Project <br />
<a href="http://latex-project.org/">http://latex-project.org/</a> <br />
All rights reserved.</p>
@@ -1,6 +1,6 @@
#!/usr/bin/env texlua

-- Build script for LaTeX3 "l3build" files
-- Build script for LaTeX "l3build" files

-- Identify the bundle and module
module = "l3build"
@@ -11,11 +11,13 @@ checkconfigs = {"build", "config-pdf", "config-plain"}
checkdeps = { }
checkengines = {"pdftex", "xetex", "luatex", "ptex", "uptex"}
cleanfiles = {"*.pdf", "*.tex", "*.zip"}
exefiles = {"l3build.lua"}
installfiles = {"regression-test.tex"}
packtdszip = true
scriptfiles = {"l3build*.lua"}
scriptmanfiles = {"l3build.1"}
sourcefiles = {"*.dtx", "l3build*.lua", "*.ins"}
typesetruns = 4
typesetcmds = "\\AtBeginDocument{\\DisableImplementation}"
unpackdeps = { }
tagfiles = {"l3build.1", "l3build.dtx", "*.md", "l3build.lua"}
@@ -10,6 +10,6 @@ in the build script for each module.

-----

Copyright (C) 2014-2017 The LaTeX3 Project <br />
Copyright (C) 2014-2017,2021 The LaTeX Project <br />
<http://latex-project.org/> <br />
All rights reserved.

Showing you all comments on commits in this comparison.

@u-fischer

This comment has been minimized.

Copy link
Member

@u-fischer u-fischer commented on f335511 Mar 13, 2020

I think this would be better, it remove the two ghostscript lines but leave the %%EOF (and so break less existing tests):

   elseif not match(line, "^ *$") and not match(line,"^%%%%Invocation") and not match(line,"^%%%%%+")  then