* ci/run.sh: Avoid deprecated Makefiles
* ci/run.sh: Streamline OS_NAME from `darwin` to `osx` on macOS
As DMD uses `osx` as OS in most other places, including the
`generated/osx/release/64` output dir, which is currently wrong
in run.sh's `build_path` and leads to CI failures on macOS.
* GHA: Disable `-debug` for DMD unittests with old host compilers
* GHA: Work around linker errors with -g on macOS 13
See https://issues.dlang.org/show_bug.cgi?id=23517.
compiler/src/posix.mak sets it to 10.9, compiler/test/Makefile to 11.
This patch introduces some sensible configurations to highlight extra
whitespaces and highlight differences from two very identical lines. That makes
pre-commit `--show-diff-on-failure` option more readable and therefore faster
to discover the issue.
Signed-off-by: Luís Ferreira <contact@lsferreira.net>
The GitHub workflow is setting LD_LIBRARY_PATH to the host dmd library
folder with libphobos2.so. The tests are built using a new phobos. They
select the library path using -L-rpath, which sets DT_RUNPATH on the
binary, but LD_LIBRARY_PATH has priority over DT_RUNPATH.
For tests/dshell/dll_cxx.d this caused a link failure, because a new
symbol from phobos was not found in the older phobos.
Reseting LD_LIBRARY_PATH while running the tests makes sure, that the
new phobos is used.
Re-tagging the nighlty release for every build has two disadvantages:
- each build triggers a github notification
- `git fetch --tags` complains about a modified tag
This patch changes the nightly build s.t. it reuses the existing
release and simply updates the associated assets + description.
This means that the implicit timestamp + revision will be outdated.
Therefore I#ve modified the description to include the revision of
each repo.
The `glob` package used by `action-automatic-releases` doesn't support
tilde expansion yet (see isaacs/node-glob#416).
Use an absolute path extracted from the previous shell step instead.
Creates a new action that generates a new release for all currently
supported targets (linux, osx, windows, freebsd) on merges to master.
The release are generated by using `build_all.d` from installer
Those tests broke because of an update on the underlying image.
Since apt was complaining about having broken deps,
and Ubuntu 16.04 is about to be EOL, we upgrade to Ubuntu 18.04.
However, this led to https://issues.dlang.org/show_bug.cgi?id=19116
being triggered, hence the workaround of disabling 32 bits tests.
The DMD change was just noticed while working on this,
and removing those lines makes sure we always use the latest release version.
Unfortunately, the documentation states that `github.base_ref` and `github.head_ref`
are only available in pull requests, so instead we're using `github.ref` when
`github.base_ref` is empty.