Commit Graph

40 Commits

Author SHA1 Message Date
Herby Gillot 227a37b749 tests: run test suite fully in-tree without depending on prefix
Add a test-specific tclsh wrapper (`tests/test-tclsh`) that extends the
vendor tclsh wrapper with all `src/` package directories on `TCLLIBPATH`,
allowing the test suite to find in-tree packages without anything
installed at the configured prefix.

Switch all test Makefiles from `$(TCLSH)` to `$(TEST_TCLSH)` so unit and
integration tests use the in-tree interpreter. Replace all references
to `${bindir}/port` and `${bindir}/portindex` with direct invocations of
the in-tree `src/port/port.tcl` and `src/port/portindex.tcl` via the test
tclsh wrapper.

Add `init_tmp_prefix` to all test files that call `mportinit`, creating a
throwaway prefix with `macports.conf`, `sources.conf`, and `share/macports`
data populated from the source tree rather than the installed prefix.
Set `extra_env TCLLIBPATH` in test `macports.conf` files so that
`mportinit`'s environment scrub does not strip `TCLLIBPATH`, which threads
need to resolve packages.

Reorder CI workflows to run `make test` before `make install`, since the
test suite no longer requires an installed prefix.

See: https://trac.macports.org/ticket/56016

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-11 03:39:35 +02:00
Joshua Root 29cb72a67e CI: use checkout@v6 and upload-artifact@v6 2026-03-15 23:32:18 +11:00
Joshua Root 8ba93e345a CI: use macos-latest for coverage 2026-03-04 15:58:43 +11:00
Joshua Root cebcdbda81 CI: select Xcode 16.2 on Sonoma
Matches the CLTs in the runner image.
2026-03-04 15:57:34 +11:00
Joshua Root 6a14e8a131 CI: drop macos-13 2025-11-13 22:26:51 +11:00
Joshua Root 5d03cb6411 release mirroring: don't trigger on edits of drafts 2025-09-18 08:19:22 +10:00
Joshua Root 79fe68cd95 CI: use macOS 15 for coverage 2025-09-17 03:44:50 +10:00
Joshua Root 11082ac290 CI: add macOS 26 2025-09-17 03:44:20 +10:00
Joshua Root 093d55c49d mirror.yml: also run for prereleases 2025-06-12 00:24:31 +10:00
Joshua Root c80dde83dd CI: fix typo 2025-05-05 18:07:23 +10:00
Joshua Root 9b2bc0f80f CI: set tag for mirror workflow 2025-04-29 22:00:19 +10:00
Joshua Root 949d546a51 Actions: mirror improvements
Handle prereleases correctly.
Also deploy RELEASE_URL.
2025-03-27 00:52:53 +11:00
Joshua Root 6dc984d7fe Actions: fix syntax 2025-03-26 23:40:52 +11:00
Joshua Root 1901b0581c Actions: mirror all release files 2025-03-26 23:36:43 +11:00
Joshua Root e8229c3e30 CI: avoid heavy xmlto dep for man pages 2025-03-26 01:23:33 +11:00
Joshua Root 4543f42705 CI: enable man page deployment 2025-03-26 00:56:34 +11:00
Joshua Root 830bb6183e CI: add job to deploy release sources to mirror 2025-03-24 03:10:52 +11:00
Joshua Root 08756eadae CI: clone repo with depth of 1
We don't do anything with history.
2025-03-24 02:07:30 +11:00
Joshua Root b220bc8afc Fix workflow syntax error 2025-03-21 22:53:51 +11:00
Joshua Root 2dc3779422 Add man page www deployment build step 2025-03-21 22:48:34 +11:00
Joshua Root cdd5020fde CI: Adapt to removal of Xcode 16 from macOS 14 image 2024-11-15 22:45:22 +11:00
Joshua Root 12986b1c3e CI: remove macOS 12 runner
It's scheduled for removal at the start of December and brownouts will
begin soon.
2024-11-03 10:04:39 +11:00
Joshua Root 1f565c6668 Add macOS 15 to CI 2024-10-01 20:11:41 +10:00
Joshua Root 46c92d8d11 CI: select appropriate Xcode version
Closes: https://trac.macports.org/ticket/69668
2024-07-03 23:44:51 +10:00
Joshua Root e7ec9f7d96 Add FUNDING.yml 2024-06-20 19:01:30 +10:00