Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions .github/workflows/continuous-integration.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
run-testsuite:
strategy:
matrix:
os: ['ubuntu-latest', 'macos-13', 'macos-14', 'macos-15']
os: ['ubuntu-latest', 'macos-14', 'macos-15', 'macos-26']
runs-on: '${{ matrix.os }}'
name: 'Run Testsuite'
steps:
Expand All @@ -22,12 +22,12 @@ jobs:
install-macports:
strategy:
matrix:
os: ['macos-13', 'macos-14', 'macos-15']
version: ['2.11.5']
os: ['macos-14', 'macos-15', 'macos-26']
version: ['2.12.5']
prefix: ['local']
include:
- os: 'macos-14'
version: '2.11.5'
- os: 'macos-15'
version: '2.12.5'
prefix: 'package'
runs-on: '${{ matrix.os }}'
name: 'Install MacPorts'
Expand Down
24 changes: 12 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ to get started with GitHub workflows.

The configuration file is in YAML and has the following format:

* `version: '2.11.5'` — The MacPorts version to install.
* `version: '2.12.5'` — The MacPorts version to install.
* `prefix: '/opt/local'` — The installation prefix to install MacPorts to.
The default is `/opt/local` and only needs to be changed when
preparing self-install packages for instane.
Expand Down Expand Up @@ -81,43 +81,43 @@ on:
- push

jobs:
install-macports-on-macos-13:
runs-on: macos-13
name: 'Install MacPorts 2.11.5 on MacOS 13'
install-macports-on-macos-15:
runs-on: macos-15
name: 'Install MacPorts 2.12.5 on MacOS 15'
steps:
- uses: actions/checkout@v3
- uses: paranext/setup-macports@v1
id: 'macports'
with:
parameters: 'testsuite/run-testsuite-on-macos-13.yaml'
parameters: 'testsuite/run-testsuite-on-macos-15.yaml'
- name: 'Validate installed MacPorts version'
run: >-
test "$(port version)" = 'Version: 2.11.5'
test "$(port version)" = 'Version: 2.12.5'
- name: 'Validate transmitted MacPorts prefix'
run: >-
test "${{ steps.macports.outputs.prefix }}" = '/opt/local'
- name: 'Validate transmitted MacPorts version'
run: >-
test "${{ steps.macports.outputs.version }}" = '2.11.5'
test "${{ steps.macports.outputs.version }}" = '2.12.5'

install-macports-on-macos-14:
runs-on: macos-14
name: 'Install MacPorts 2.11.5 on MacOS 14'
install-macports-on-macos-26:
runs-on: macos-26
name: 'Install MacPorts 2.12.5 on MacOS 26'
steps:
- uses: actions/checkout@v3
- name: 'Run testsuite'
run: development/testsuite
- uses: paranext/setup-macports@v1
with:
parameters: 'testsuite/run-testsuite-on-macos-14.yaml'
parameters: 'testsuite/run-testsuite-on-macos-26.yaml'
- run: port version
```


## Example parameters

```yaml
version: '2.11.5'
version: '2.12.5'
prefix: '/opt/local'
variants:
select:
Expand Down
2 changes: 1 addition & 1 deletion action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ inputs:

The configuration file is in YAML and has the following format:

version: '2.11.5'
version: '2.12.5'
The MacPorts version to install.
prefix: '/opt/local'
The installation prefix to install MacPortd to.
Expand Down
4 changes: 2 additions & 2 deletions configure_macports
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,8 @@ usage()
wlog 'Failure' "$@"
fi
cat 1>&2 <<'EOF'
Usage: install_macports [VERSION-OR-PATHNAME]
Install MacPorts
Usage: configure_macports [VERSION-OR-PATHNAME]
Configure MacPorts
EOF
exit 64
}
Expand Down
8 changes: 4 additions & 4 deletions identify_self
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ with_group_presentation()
)

identify_source()
{
(
local head
git_head()
(
Expand All @@ -74,10 +74,10 @@ identify_source()
cat <<EOF
Git HEAD: $(git_head)
EOF
}
)

identify_software()
{
(
yq_version()
{
yq --version | sed -e 's/.*version *//'
Expand All @@ -104,7 +104,7 @@ yq: $(yq_version)
jq: $(jq_version)
openssl: $(openssl_version)
EOF
}
)

main()
{
Expand Down
1 change: 1 addition & 0 deletions subr/macos.sh
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ known_macos_db()
13-Ventura
14-Sonoma
15-Sequoia
26-Tahoe
EOF
}

Expand Down
2 changes: 1 addition & 1 deletion subr/macports.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

: ${macports_owner:=$(id -u -n)}
: ${macports_group:=$(id -g -n)}
: ${macports_version:='2.11.5'}
: ${macports_version:='2.12.5'}
: ${macports_prefix:='/opt/local'}

macports_install()
Expand Down
44 changes: 44 additions & 0 deletions testsuite/modules/macos
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,35 @@ EOF
)
}

assume_running_on_macos26()
{
system_profiler()
(
cat <<'EOF'
Software:

System Software Overview:

System Version: macOS 26.0 (25A354)
Kernel Version: Darwin 25.0.0
Boot Volume: Macintosh HD
Boot Mode: Normal
Computer Name: Assume.local
User Name: runner (runner)
Secure Virtual Memory: Enabled
System Integrity Protection: Enabled
Time since boot: 3 minutes
EOF
exit 0
)

uname()
(
echo 'Darwin'
exit 0
)
}

assume_running_on_linux()
{
system_profiler()
Expand Down Expand Up @@ -125,6 +154,20 @@ assert_that_macos12_is_detected()
test "${macosp}" = 'true'
)

assert_that_macos26_is_detected()
(
assume_running_on_macos26
macos=$(probe_macos)
if (ensure_macos); then
macosp='true'
else
macosp='false'
fi
set -e
test "${macos}" = 'Tahoe'
test "${macosp}" = 'true'
)

assert_that_linux_is_detected()
(
assume_running_on_linux
Expand All @@ -142,6 +185,7 @@ assert_that_linux_is_detected()
testsuite_main\
assert_that_macos11_is_detected\
assert_that_macos12_is_detected\
assert_that_macos26_is_detected\
assert_that_linux_is_detected\

# End of file `macos'
2 changes: 1 addition & 1 deletion testsuite/run-testsuite-on-macos-14-local.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
version: '2.11.5'
version: '2.12.5'
prefix: '/opt/local'
variants:
select:
Expand Down
16 changes: 0 additions & 16 deletions testsuite/run-testsuite-on-macos-14-package.yaml

This file was deleted.

4 changes: 2 additions & 2 deletions testsuite/run-testsuite-on-macos-15-local.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
version: '2.11.5'
version: '2.12.5'
prefix: '/opt/local'
variants:
select:
Expand All @@ -11,4 +11,4 @@ ports:
select: [ tcl, universal ]
- name: gmp
select: native
- name: dbus
- name: dbus
2 changes: 1 addition & 1 deletion testsuite/run-testsuite-on-macos-15-package.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
version: '2.11.5'
version: '2.12.5'
prefix: '/opt/package'
variants:
select:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
version: '2.11.5'
version: '2.12.5'
prefix: '/opt/local'
variants:
select:
Expand All @@ -12,3 +12,4 @@ ports:
- name: gmp
select: native
- name: dbus

Loading