From 4e3c7534167c6938f9aa8612764a357af1564dbe Mon Sep 17 00:00:00 2001 From: Esteban Lorenzano Date: Tue, 23 Apr 2024 11:04:42 +0200 Subject: [PATCH 1/6] feat: add Pharo13 support --- README.md | 25 ++++++------ pharo/run.sh | 6 +-- .../setUpPharo5AndGreaterPackages..st | 2 +- .../SmalltalkCIPharo13.class/README.md | 0 .../class/isPlatformCompatible.st | 4 ++ .../methodProperties.json | 6 +++ .../SmalltalkCIPharo13.class/properties.json | 14 +++++++ run.sh | 4 +- tests/pharo_tests.sh | 38 +++++++++++++++++-- 9 files changed, 78 insertions(+), 21 deletions(-) create mode 100644 repository/SmalltalkCI-Pharo-Core.package/SmalltalkCIPharo13.class/README.md create mode 100644 repository/SmalltalkCI-Pharo-Core.package/SmalltalkCIPharo13.class/class/isPlatformCompatible.st create mode 100644 repository/SmalltalkCI-Pharo-Core.package/SmalltalkCIPharo13.class/methodProperties.json create mode 100644 repository/SmalltalkCI-Pharo-Core.package/SmalltalkCIPharo13.class/properties.json diff --git a/README.md b/README.md index 9aed1220..179b5444 100644 --- a/README.md +++ b/README.md @@ -72,21 +72,22 @@ they can take up a lot of space on your drive.* ## List of Supported Images -| [Squeak][squeak] | [Pharo][pharo] | [GemStone][gemstone] | [Moose][moose] | [GToolkit][gtoolkit] | +| [Squeak][squeak] | [Pharo][pharo] | [GemStone][gemstone] | [Moose][moose] | [GToolkit][gtoolkit] | | ---------------- | ---------------- | -------------------- | --------------- | -------------------- | | `Squeak64-trunk` | `Pharo64-alpha` | `GemStone64-3.6.x` | `Moose64-trunk` | `GToolkit64-release` | | `Squeak64-6.0` | `Pharo64-stable` | `GemStone64-3.5.8` | `Moose64-11` | | -| `Squeak64-5.3` | `Pharo64-12` | `GemStone64-3.5.7` | `Moose64-10` | | -| `Squeak64-5.2` | `Pharo64-11` | `GemStone64-3.5.6` | `Moose64-9.0` | | -| `Squeak64-5.1` | `Pharo64-10` | `GemStone64-3.5.5` | `Moose64-8.0` | | -| `Squeak32-trunk` | `Pharo64-9.0` | `Gemstone64-3.5.4` | `Moose64-7.0` | | -| `Squeak32-6.0` | `Pharo64-8.0` | `GemStone64-3.5.3` | `Moose32-trunk` | | -| `Squeak32-5.3` | `Pharo64-7.0` | | `Moose32-6.1` | | -| `Squeak32-5.2` | `Pharo64-6.1` | | `Moose32-6.0` | | -| `Squeak32-5.1` | `Pharo64-6.0` | | | | -| `Squeak32-5.0` | `Pharo32-alpha` | | | | -| `Squeak32-4.6` | `Pharo32-stable` | | | | -| `Squeak32-4.5` | `Pharo32-12` | | | | +| `Squeak64-5.3` | `Pharo64-13` | `GemStone64-3.5.7` | `Moose64-10` | | +| `Squeak64-5.2` | `Pharo64-12` | `GemStone64-3.5.6` | `Moose64-9.0` | | +| `Squeak64-5.1` | `Pharo64-11` | `GemStone64-3.5.5` | `Moose64-8.0` | | +| `Squeak32-trunk` | `Pharo64-10` | `Gemstone64-3.5.4` | `Moose64-7.0` | | +| `Squeak32-6.0` | `Pharo64-9.0` | `GemStone64-3.5.3` | `Moose32-trunk` | | +| `Squeak32-5.3` | `Pharo64-8.0` | | `Moose32-6.1` | | +| `Squeak32-5.2` | `Pharo64-7.0` | | `Moose32-6.0` | | +| `Squeak32-5.1` | `Pharo64-6.1` | | | | +| `Squeak32-5.0` | `Pharo64-6.0` | | | | +| `Squeak32-4.6` | `Pharo32-alpha` | | | | +| `Squeak32-4.5` | `Pharo32-stable` | | | | +| | `Pharo32-12` | | | | | | `Pharo32-11` | | | | | | `Pharo32-10` | | | | | | `Pharo32-9.0` | | | | diff --git a/pharo/run.sh b/pharo/run.sh index dc55b9c6..52b7b446 100644 --- a/pharo/run.sh +++ b/pharo/run.sh @@ -145,8 +145,8 @@ moose::get_image_url() { ################################################################################ pharo::get_vm_url() { local smalltalk_name=$1 - local stable_version=11 - local alpha_version=12 + local stable_version=12 + local alpha_version=13 case "${smalltalk_name}" in # NOTE: vmLatestXX should be updated every time new Pharo is released @@ -166,7 +166,7 @@ pharo::get_vm_url() { echo "get.pharo.org/64/vm100" ;; "Pharo64-9.0"|"Moose64-9.0") - echo "get.pharo.org/vm90" + echo "get.pharo.org/64/vm90" ;; "Pharo64-8.0"|"Moose64-8.0") echo "get.pharo.org/64/vm80" diff --git a/repository/BaselineOfSmalltalkCI.package/BaselineOfSmalltalkCI.class/instance/setUpPharo5AndGreaterPackages..st b/repository/BaselineOfSmalltalkCI.package/BaselineOfSmalltalkCI.class/instance/setUpPharo5AndGreaterPackages..st index 2beb2ab8..ec4da646 100644 --- a/repository/BaselineOfSmalltalkCI.package/BaselineOfSmalltalkCI.class/instance/setUpPharo5AndGreaterPackages..st +++ b/repository/BaselineOfSmalltalkCI.package/BaselineOfSmalltalkCI.class/instance/setUpPharo5AndGreaterPackages..st @@ -2,7 +2,7 @@ baseline setUpPharo5AndGreaterPackages: spec spec - for: #(#'pharo5.x' #'pharo6.x' #'pharo7.x' #'pharo8.x' #'pharo9.x' #'pharo10.x' #'pharo11.x' #'pharo12.x') + for: #(#'pharo5.x' #'pharo6.x' #'pharo7.x' #'pharo8.x' #'pharo9.x' #'pharo10.x' #'pharo11.x' #'pharo12.x', #'pharo13.x') do: [ spec package: 'SmalltalkCI-Core' with: [ spec includes: #('SmalltalkCI-Pharo-Core') ]; package: 'SmalltalkCI-Pharo-Core' with: [ spec requires: 'SmalltalkCI-Core' ]; diff --git a/repository/SmalltalkCI-Pharo-Core.package/SmalltalkCIPharo13.class/README.md b/repository/SmalltalkCI-Pharo-Core.package/SmalltalkCIPharo13.class/README.md new file mode 100644 index 00000000..e69de29b diff --git a/repository/SmalltalkCI-Pharo-Core.package/SmalltalkCIPharo13.class/class/isPlatformCompatible.st b/repository/SmalltalkCI-Pharo-Core.package/SmalltalkCIPharo13.class/class/isPlatformCompatible.st new file mode 100644 index 00000000..d60ebc31 --- /dev/null +++ b/repository/SmalltalkCI-Pharo-Core.package/SmalltalkCIPharo13.class/class/isPlatformCompatible.st @@ -0,0 +1,4 @@ +compatibility +isPlatformCompatible + + ^ self platformNameBeginsWith: 'Pharo13' \ No newline at end of file diff --git a/repository/SmalltalkCI-Pharo-Core.package/SmalltalkCIPharo13.class/methodProperties.json b/repository/SmalltalkCI-Pharo-Core.package/SmalltalkCIPharo13.class/methodProperties.json new file mode 100644 index 00000000..40efa27e --- /dev/null +++ b/repository/SmalltalkCI-Pharo-Core.package/SmalltalkCIPharo13.class/methodProperties.json @@ -0,0 +1,6 @@ +{ + "class" : { + "codeCoverageClass" : "MaxLeske 4/29/2024 19:25", + "isPlatformCompatible" : "MaxLeske 4/29/2024 19:25"}, + "instance" : { + } } diff --git a/repository/SmalltalkCI-Pharo-Core.package/SmalltalkCIPharo13.class/properties.json b/repository/SmalltalkCI-Pharo-Core.package/SmalltalkCIPharo13.class/properties.json new file mode 100644 index 00000000..27ecd9ba --- /dev/null +++ b/repository/SmalltalkCI-Pharo-Core.package/SmalltalkCIPharo13.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "SmalltalkCI-Pharo-Core", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + ], + "name" : "SmalltalkCIPharo13", + "pools" : [ + ], + "super" : "SmalltalkCIPharo12", + "type" : "normal" } diff --git a/run.sh b/run.sh index 79e77d5d..caf45d02 100755 --- a/run.sh +++ b/run.sh @@ -223,8 +223,8 @@ select_smalltalk() { local images="Squeak64-trunk Squeak64-6.0 Squeak64-5.3 Squeak64-5.2 Squeak64-5.1 Squeak32-trunk Squeak32-6.0 Squeak32-5.3 Squeak32-5.2 Squeak32-5.1 Squeak32-5.0 Squeak32-4.6 Squeak32-4.5 - Pharo64-stable Pharo64-alpha Pharo64-12 Pharo64-11 Pharo64-10 Pharo64-9.0 Pharo64-8.0 Pharo64-7.0 Pharo64-6.1 Pharo64-6.0 - Pharo32-stable Pharo32-alpha Pharo32-12 Pharo32-9.0 Pharo32-8.0 Pharo32-7.0 Pharo32-6.0 Pharo32-5.0 + Pharo64-stable Pharo64-alpha Pharo64-13 Pharo64-12 Pharo64-11 Pharo64-10 Pharo64-9.0 Pharo64-8.0 Pharo64-7.0 Pharo64-6.1 Pharo64-6.0 + Pharo32-stable Pharo32-alpha Pharo32-13 Pharo32-12 Pharo32-9.0 Pharo32-8.0 Pharo32-7.0 Pharo32-6.0 Pharo32-5.0 Pharo32-4.0 Pharo32-3.0 GemStone64-3.6.5 GemStone64-3.6.0 GemStone64-3.5.8 GemStone64-3.5.3 GToolkit64-release diff --git a/tests/pharo_tests.sh b/tests/pharo_tests.sh index 64ffbf2f..36d99e33 100755 --- a/tests/pharo_tests.sh +++ b/tests/pharo_tests.sh @@ -34,6 +34,22 @@ test_get_image_url() { image_url="$(pharo::get_image_url "Pharo64-8.0")" assertEquals "get.pharo.org/64/80" "${image_url}" + + image_url="$(pharo::get_image_url "Pharo32-12")" + assertEquals "get.pharo.org/32/120" "${image_url}" + + image_url="$(pharo::get_image_url "Pharo32-11")" + assertEquals "get.pharo.org/32/110" "${image_url}" + + image_url="$(pharo::get_image_url "Pharo32-10")" + assertEquals "get.pharo.org/32/100" "${image_url}" + + image_url="$(pharo::get_image_url "Pharo32-9.0")" + assertEquals "get.pharo.org/32/90" "${image_url}" + + image_url="$(pharo::get_image_url "Pharo32-8.0")" + assertEquals "get.pharo.org/80" "${image_url}" + image_url="$(pharo::get_image_url "Pharo32-7.0")" assertEquals "get.pharo.org/70" "${image_url}" @@ -63,17 +79,33 @@ test_get_vm_url() { local vm_url vm_url="$(pharo::get_vm_url "Pharo32-alpha")" - assertEquals "get.pharo.org/vmLatest120" "${vm_url}" + assertEquals "get.pharo.org/vmLatest130" "${vm_url}" vm_url="$(pharo::get_vm_url "Pharo64-alpha")" - assertEquals "get.pharo.org/64/vmLatest120" "${vm_url}" + assertEquals "get.pharo.org/64/vmLatest130" "${vm_url}" vm_url="$(pharo::get_vm_url "Pharo32-stable")" - assertEquals "get.pharo.org/vm110" "${vm_url}" + assertEquals "get.pharo.org/vm120" "${vm_url}" vm_url="$(pharo::get_vm_url "Pharo64-stable")" + assertEquals "get.pharo.org/64/vm120" "${vm_url}" + + vm_url="$(pharo::get_vm_url "Pharo64-12")" + assertEquals "get.pharo.org/64/vm120" "${vm_url}" + + vm_url="$(pharo::get_vm_url "Pharo64-11")" assertEquals "get.pharo.org/64/vm110" "${vm_url}" + vm_url="$(pharo::get_vm_url "Pharo64-10")" + assertEquals "get.pharo.org/64/vm100" "${vm_url}" + + vm_url="$(pharo::get_vm_url "Pharo64-9.0")" + assertEquals "get.pharo.org/64/vm90" "${vm_url}" + + vm_url="$(pharo::get_vm_url "Pharo64-8.0")" + assertEquals "get.pharo.org/64/vm80" "${vm_url}" + + vm_url="$(pharo::get_vm_url "Pharo32-12")" assertEquals "get.pharo.org/vm120" "${vm_url}" From 41e972e07541d65fc916632380d6fab30646e151 Mon Sep 17 00:00:00 2001 From: Max Leske Date: Mon, 29 Apr 2024 22:33:04 +0200 Subject: [PATCH 2/6] fix: properly collect classes from packages --- .../SmalltalkCIPharo12.class/class/classesInCategory..st | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/repository/SmalltalkCI-Pharo-Core.package/SmalltalkCIPharo12.class/class/classesInCategory..st b/repository/SmalltalkCI-Pharo-Core.package/SmalltalkCIPharo12.class/class/classesInCategory..st index f220e0ee..187e2648 100644 --- a/repository/SmalltalkCI-Pharo-Core.package/SmalltalkCIPharo12.class/class/classesInCategory..st +++ b/repository/SmalltalkCI-Pharo-Core.package/SmalltalkCIPharo12.class/class/classesInCategory..st @@ -1,6 +1,5 @@ class organization classesInCategory: aCategory - ^ (Smalltalk organization tagForCategory: aCategory) - ifNotNil: [ :tag | - tag classNames collect: [ :className | Smalltalk at: className ] ] + ^ (Smalltalk organization packageMatchingExtensionName: aCategory) + ifNotNil: [ :package | package definedClasses ] ifNil: [ #() ] From aef5505d36b716e2a0703869f763db178ad1ef96 Mon Sep 17 00:00:00 2001 From: Max Leske Date: Tue, 7 May 2024 07:34:06 +0200 Subject: [PATCH 3/6] chore: ignore failures of GemStone64-3.5.3 on macOS --- .github/workflows/main.yml | 1 + .../instance/setUpPharo5AndGreaterPackages..st | 2 +- .../SCITestReporterStdoutTest.class/class/failureFixture.st | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 7ebb0850..2604d6dc 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -77,6 +77,7 @@ jobs: smalltalk: GemStone64-3.6.0 - os: windows-2019 smalltalk: GemStone64-3.6.5 + continue-on-error: ${{ matrix.os == 'macos-latest' && startsWith(matrix.smalltalk, 'GemStone64') }} runs-on: ${{ matrix.os }} name: ${{ matrix.smalltalk }} on ${{ matrix.os }} steps: diff --git a/repository/BaselineOfSmalltalkCI.package/BaselineOfSmalltalkCI.class/instance/setUpPharo5AndGreaterPackages..st b/repository/BaselineOfSmalltalkCI.package/BaselineOfSmalltalkCI.class/instance/setUpPharo5AndGreaterPackages..st index ec4da646..8936a1e1 100644 --- a/repository/BaselineOfSmalltalkCI.package/BaselineOfSmalltalkCI.class/instance/setUpPharo5AndGreaterPackages..st +++ b/repository/BaselineOfSmalltalkCI.package/BaselineOfSmalltalkCI.class/instance/setUpPharo5AndGreaterPackages..st @@ -2,7 +2,7 @@ baseline setUpPharo5AndGreaterPackages: spec spec - for: #(#'pharo5.x' #'pharo6.x' #'pharo7.x' #'pharo8.x' #'pharo9.x' #'pharo10.x' #'pharo11.x' #'pharo12.x', #'pharo13.x') + for: #(#'pharo5.x' #'pharo6.x' #'pharo7.x' #'pharo8.x' #'pharo9.x' #'pharo10.x' #'pharo11.x' #'pharo12.x' #'pharo13.x') do: [ spec package: 'SmalltalkCI-Core' with: [ spec includes: #('SmalltalkCI-Pharo-Core') ]; package: 'SmalltalkCI-Pharo-Core' with: [ spec requires: 'SmalltalkCI-Core' ]; diff --git a/repository/SmalltalkCI-Tests.package/SCITestReporterStdoutTest.class/class/failureFixture.st b/repository/SmalltalkCI-Tests.package/SCITestReporterStdoutTest.class/class/failureFixture.st index a345f48f..17bb00e6 100644 --- a/repository/SmalltalkCI-Tests.package/SCITestReporterStdoutTest.class/class/failureFixture.st +++ b/repository/SmalltalkCI-Tests.package/SCITestReporterStdoutTest.class/class/failureFixture.st @@ -2,4 +2,4 @@ fixtures failureFixture ^ SmalltalkCI isTravisBuild ifTrue: [ self failureFixtureTravis ] - ifFalse: [ self failureFixtureNonTravis ] \ No newline at end of file + ifFalse: [ self failureFixtureNonTravis ] From b700694d2534829b8a24f43bdcfff6d6ebebcf3e Mon Sep 17 00:00:00 2001 From: Max Leske Date: Wed, 8 May 2024 07:10:18 +0200 Subject: [PATCH 4/6] fix: remove flaky SCITestReporterSdtoutTest --- .../SCITestReporterStdoutTest.class/README.md | 0 .../class/failureFixture.st | 5 --- .../class/failureFixtureNonTravis.st | 43 ------------------- .../class/failureFixtureTravis.st | 31 ------------- .../class/successFixture.st | 21 --------- .../instance/assert.matches..st | 9 ---- .../instance/testReportFailure.st | 14 ------ .../instance/testReportSuccess.st | 11 ----- .../methodProperties.json | 10 ----- .../properties.json | 14 ------ 10 files changed, 158 deletions(-) delete mode 100644 repository/SmalltalkCI-Tests.package/SCITestReporterStdoutTest.class/README.md delete mode 100644 repository/SmalltalkCI-Tests.package/SCITestReporterStdoutTest.class/class/failureFixture.st delete mode 100644 repository/SmalltalkCI-Tests.package/SCITestReporterStdoutTest.class/class/failureFixtureNonTravis.st delete mode 100644 repository/SmalltalkCI-Tests.package/SCITestReporterStdoutTest.class/class/failureFixtureTravis.st delete mode 100644 repository/SmalltalkCI-Tests.package/SCITestReporterStdoutTest.class/class/successFixture.st delete mode 100644 repository/SmalltalkCI-Tests.package/SCITestReporterStdoutTest.class/instance/assert.matches..st delete mode 100644 repository/SmalltalkCI-Tests.package/SCITestReporterStdoutTest.class/instance/testReportFailure.st delete mode 100644 repository/SmalltalkCI-Tests.package/SCITestReporterStdoutTest.class/instance/testReportSuccess.st delete mode 100644 repository/SmalltalkCI-Tests.package/SCITestReporterStdoutTest.class/methodProperties.json delete mode 100644 repository/SmalltalkCI-Tests.package/SCITestReporterStdoutTest.class/properties.json diff --git a/repository/SmalltalkCI-Tests.package/SCITestReporterStdoutTest.class/README.md b/repository/SmalltalkCI-Tests.package/SCITestReporterStdoutTest.class/README.md deleted file mode 100644 index e69de29b..00000000 diff --git a/repository/SmalltalkCI-Tests.package/SCITestReporterStdoutTest.class/class/failureFixture.st b/repository/SmalltalkCI-Tests.package/SCITestReporterStdoutTest.class/class/failureFixture.st deleted file mode 100644 index 17bb00e6..00000000 --- a/repository/SmalltalkCI-Tests.package/SCITestReporterStdoutTest.class/class/failureFixture.st +++ /dev/null @@ -1,5 +0,0 @@ -fixtures -failureFixture - ^ SmalltalkCI isTravisBuild - ifTrue: [ self failureFixtureTravis ] - ifFalse: [ self failureFixtureNonTravis ] diff --git a/repository/SmalltalkCI-Tests.package/SCITestReporterStdoutTest.class/class/failureFixtureNonTravis.st b/repository/SmalltalkCI-Tests.package/SCITestReporterStdoutTest.class/class/failureFixtureNonTravis.st deleted file mode 100644 index 289db81e..00000000 --- a/repository/SmalltalkCI-Tests.package/SCITestReporterStdoutTest.class/class/failureFixtureNonTravis.st +++ /dev/null @@ -1,43 +0,0 @@ -fixtures -failureFixtureNonTravis - ^ ' -############### -# Stdout-testReportFailure# -# 8 Tests with 4 Failures and 1 Errors in s # -############### - -(3 tests passed) - -SCIExcludedTests - ✓ #testDeprecation (ms) - ✓ #testShouldFail (ms) - ✓ #testShouldPass (ms) - -######################### -# 5 tests did not pass: # -######################### - -SCIExcludedTests - ✗ #testAssertError (ms) - ✗ #testError (ms) - ✗ #testFailure (ms) - ✗ #testShouldPassUnexpectedly (ms) - ✗ #testThisIsAVeryLongMethodNameThat...playedCorrectlyInATravisLog (ms) - -########### -# Summary # -########### - -SCIExcludedTests - ✗ #testAssertError (ms) - ✗ #testError (ms) - ✗ #testFailure (ms) - ✗ #testShouldPassUnexpectedly (ms) - ✗ #testThisIsAVeryLongMethodNameThatProbablyNeedsToBeContractedInOrderToBeDisplayedCorrectlyInATravisLog (ms) -smalltalkCI Deprecation Warnings - - SCIExcludedTests>>testDeprecation (This is just a test) - - - Executed 8 Tests with 4 Failures and 1 Errors in s. - -' \ No newline at end of file diff --git a/repository/SmalltalkCI-Tests.package/SCITestReporterStdoutTest.class/class/failureFixtureTravis.st b/repository/SmalltalkCI-Tests.package/SCITestReporterStdoutTest.class/class/failureFixtureTravis.st deleted file mode 100644 index 62d0c849..00000000 --- a/repository/SmalltalkCI-Tests.package/SCITestReporterStdoutTest.class/class/failureFixtureTravis.st +++ /dev/null @@ -1,31 +0,0 @@ -fixtures -failureFixtureTravis - ^ ' -############### -# Stdout-testReportFailure# -# 8 Tests with 4 Failures and 1 Errors in s # -############### - -(3 tests passed) - -SCIExcludedTests - ✓ #testDeprecation (ms) - ✓ #testShouldFail (ms) - ✓ #testShouldPass (ms) - -######################### -# 5 tests did not pass: # -######################### - -SCIExcludedTests - ✗ #testAssertError (ms) - ✗ #testError (ms) - ✗ #testFailure (ms) - ✗ #testShouldPassUnexpectedly (ms) - ✗ #testThisIsAVeryLongMethodNameThat...playedCorrectlyInATravisLog (ms) -smalltalkCI Deprecation Warnings - - SCIExcludedTests>>testDeprecation (This is just a test) - - Executed 8 Tests with 4 Failures and 1 Errors in s. - -' \ No newline at end of file diff --git a/repository/SmalltalkCI-Tests.package/SCITestReporterStdoutTest.class/class/successFixture.st b/repository/SmalltalkCI-Tests.package/SCITestReporterStdoutTest.class/class/successFixture.st deleted file mode 100644 index 7d4c6dcf..00000000 --- a/repository/SmalltalkCI-Tests.package/SCITestReporterStdoutTest.class/class/successFixture.st +++ /dev/null @@ -1,21 +0,0 @@ -fixtures -successFixture - ^ ' -############# -# Stdout-testReportSuccess# -# 5 Tests with 0 Failures and 0 Errors in s # -############# - -(5 tests passed) - -SCIPassingTests - ✓ #testAssert (ms) - ✓ #testAssertEquals (ms) - ✓ #testDeny (ms) - ✓ #testEmpty (ms) - ✓ #testRaise (ms) - - - Executed 5 Tests with 0 Failures and 0 Errors in s. - -' \ No newline at end of file diff --git a/repository/SmalltalkCI-Tests.package/SCITestReporterStdoutTest.class/instance/assert.matches..st b/repository/SmalltalkCI-Tests.package/SCITestReporterStdoutTest.class/instance/assert.matches..st deleted file mode 100644 index 2ab27ae6..00000000 --- a/repository/SmalltalkCI-Tests.package/SCITestReporterStdoutTest.class/instance/assert.matches..st +++ /dev/null @@ -1,9 +0,0 @@ -helpers -assert: aFixture matches: aString - "Assert that all characters of aFixture are also in aString (also respect the order)." - | index | - index := 1. - aFixture do: [ :char | - index := aString indexOf: char startingAt: index. - index = 0 ifTrue: [ - TestResult failure signal: 'Cannot match: "', aFixture, '" to: "', aString , '"' ] ] \ No newline at end of file diff --git a/repository/SmalltalkCI-Tests.package/SCITestReporterStdoutTest.class/instance/testReportFailure.st b/repository/SmalltalkCI-Tests.package/SCITestReporterStdoutTest.class/instance/testReportFailure.st deleted file mode 100644 index 1cd15387..00000000 --- a/repository/SmalltalkCI-Tests.package/SCITestReporterStdoutTest.class/instance/testReportFailure.st +++ /dev/null @@ -1,14 +0,0 @@ -testing -testReportFailure - | warnings runner reporter stream result | - warnings := SmalltalkCI deprecationWarnings. - [ SmalltalkCI deprecatedReset. - runner := SmalltalkCI testRunnerClass runSpec: ( - SCIDummySpec - named: 'Stdout-testReportFailure' - forClass: SCIExcludedTests). - stream := WriteStream on: (String new: 1000). - reporter := SCITestReporterStdout report: runner on: stream. - result := stream contents. - self assert: self class failureFixture matches: result ] - ensure: [ SmalltalkCI deprecationWarnings: warnings ] diff --git a/repository/SmalltalkCI-Tests.package/SCITestReporterStdoutTest.class/instance/testReportSuccess.st b/repository/SmalltalkCI-Tests.package/SCITestReporterStdoutTest.class/instance/testReportSuccess.st deleted file mode 100644 index e5515fe2..00000000 --- a/repository/SmalltalkCI-Tests.package/SCITestReporterStdoutTest.class/instance/testReportSuccess.st +++ /dev/null @@ -1,11 +0,0 @@ -testing -testReportSuccess - | runner reporter stream result | - runner := SmalltalkCI testRunnerClass runSpec: ( - SCIDummySpec - named: 'Stdout-testReportSuccess' - forClass: SCIPassingTests). - stream := WriteStream on: (String new: 1000). - reporter := SCITestReporterStdout report: runner on: stream. - result := stream contents. - self assert: self class successFixture matches: result \ No newline at end of file diff --git a/repository/SmalltalkCI-Tests.package/SCITestReporterStdoutTest.class/methodProperties.json b/repository/SmalltalkCI-Tests.package/SCITestReporterStdoutTest.class/methodProperties.json deleted file mode 100644 index 0ed62962..00000000 --- a/repository/SmalltalkCI-Tests.package/SCITestReporterStdoutTest.class/methodProperties.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "class" : { - "failureFixture" : "fn 12/9/2016 17:55", - "failureFixtureNonTravis" : "fn 11/11/2017 15:10", - "failureFixtureTravis" : "fn 11/11/2017 15:10", - "successFixture" : "fn 11/10/2017 14:38" }, - "instance" : { - "assert:matches:" : "fn 12/9/2016 18:03", - "testReportFailure" : "fn 11/12/2017 23:36", - "testReportSuccess" : "fn 11/12/2017 23:36" } } diff --git a/repository/SmalltalkCI-Tests.package/SCITestReporterStdoutTest.class/properties.json b/repository/SmalltalkCI-Tests.package/SCITestReporterStdoutTest.class/properties.json deleted file mode 100644 index 07313332..00000000 --- a/repository/SmalltalkCI-Tests.package/SCITestReporterStdoutTest.class/properties.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "category" : "SmalltalkCI-Tests", - "classinstvars" : [ - ], - "classvars" : [ - ], - "commentStamp" : "", - "instvars" : [ - ], - "name" : "SCITestReporterStdoutTest", - "pools" : [ - ], - "super" : "TestCase", - "type" : "normal" } From b06ab14d09fa2eab62fb01c1a0ffe0a951cf80b6 Mon Sep 17 00:00:00 2001 From: Max Leske Date: Thu, 9 May 2024 21:44:15 +0200 Subject: [PATCH 5/6] feat: increase job timeout for Squeak64-trunk [ci skip] --- .github/workflows/main.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 2604d6dc..972a2e42 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -51,7 +51,6 @@ jobs: - GemStone64-3.6.0 - GemStone64-3.6.5 - GToolkit64-release - timeout-minutes: [ 15 ] exclude: # exclude 32bit builds on macOS and GemStone builds on windows - os: macos-latest smalltalk: Squeak32-trunk @@ -92,13 +91,16 @@ jobs: bin/smalltalkci -s ${{ matrix.smalltalk }} --self-test shell: bash if: contains(matrix.smalltalk, 'trunk') == false && contains(matrix.smalltalk, 'alpha') == false && contains(matrix.smalltalk, 'Squeak32-6.0') == false && contains(matrix.smalltalk, 'GToolkit64') == false && contains(matrix.smalltalk, 'Pharo64-12') == false - timeout-minutes: ${{ matrix.timeout-minutes }} + timeout-minutes: 15 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Run smalltalkCI self test and ignore failures run: bin/smalltalkci -s ${{ matrix.smalltalk }} --self-test || true shell: bash if: contains(matrix.smalltalk, 'trunk') || contains(matrix.smalltalk, 'alpha') || contains(matrix.smalltalk, 'Squeak32-6.0') || contains(matrix.smalltalk, 'GToolkit64') || contains(matrix.smalltalk, 'Pharo64-12') - timeout-minutes: ${{ matrix.timeout-minutes }} + # Builds on macOS are extremely slow for some reason, and the Squeak trunk + # image hits the 15 minute timeout because it needs to update from the repository + # each time, which takes forever. + timeout-minutes: ${{ (matrix.os == 'macos-latest' && contains(matrix.smalltalk, 'trunk')) && 30 || 15 }} env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From dca51a2a011f8cb6ce2a936d33b1bab5a60882ca Mon Sep 17 00:00:00 2001 From: Esteban Lorenzano Date: Mon, 12 May 2025 15:52:52 +0200 Subject: [PATCH 6/6] enable Pharo 14 (hopefully) --- .github/workflows/main.yml | 1 + README.md | 24 +++++++++---------- pharo/run.sh | 6 +++++ .../setUpPharo5AndGreaterPackages..st | 2 +- run.sh | 6 ++--- tests/pharo_tests.sh | 16 +++++++++++++ 6 files changed, 39 insertions(+), 16 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 90c88470..d871bc37 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -31,6 +31,7 @@ jobs: - Squeak32-4.5 - Pharo64-stable - Pharo64-alpha + - Pharo64-14 - Pharo64-13 - Pharo64-12 - Pharo64-11 diff --git a/README.md b/README.md index 8ff8c9cb..8f695a9d 100644 --- a/README.md +++ b/README.md @@ -76,17 +76,18 @@ they can take up a lot of space on your drive.* | ---------------- | ---------------- | -------------------- | --------------- | -------------------- | | `Squeak64-trunk` | `Pharo64-alpha` | `GemStone64-3.6.x` | `Moose64-trunk` | `GToolkit64-release` | | `Squeak64-6.0` | `Pharo64-stable` | `GemStone64-3.5.8` | `Moose64-12` | | -| `Squeak64-5.3` | `Pharo64-13` | `GemStone64-3.5.7` | `Moose64-11` | | -| `Squeak64-5.2` | `Pharo64-12` | `GemStone64-3.5.6` | `Moose64-10` | | -| `Squeak64-5.1` | `Pharo64-11` | `GemStone64-3.5.5` | `Moose64-9.0` | | -| `Squeak32-trunk` | `Pharo64-10` | `Gemstone64-3.5.4` | `Moose64-8.0` | | -| `Squeak32-6.0` | `Pharo64-9.0` | `GemStone64-3.5.3` | | | -| `Squeak32-5.3` | `Pharo64-8.0` | | | | -| `Squeak32-5.2` | `Pharo64-7.0` | | | | -| `Squeak32-5.1` | `Pharo64-6.1` | | | | -| `Squeak32-5.0` | `Pharo64-6.0` | | | | -| `Squeak32-4.6` | `Pharo32-alpha` | | | | -| `Squeak32-4.5` | `Pharo32-stable` | | | | +| `Squeak64-5.3` | `Pharo64-14` | `GemStone64-3.5.7` | `Moose64-11` | | +| `Squeak64-5.2` | `Pharo64-13` | `GemStone64-3.5.6` | `Moose64-10` | | +| `Squeak64-5.1` | `Pharo64-12` | `GemStone64-3.5.5` | `Moose64-9.0` | | +| `Squeak32-trunk` | `Pharo64-11` | `Gemstone64-3.5.4` | `Moose64-8.0` | | +| `Squeak32-6.0` | `Pharo64-10` | `GemStone64-3.5.3` | | | +| `Squeak32-5.3` | `Pharo64-9.0` | | | | +| `Squeak32-5.2` | `Pharo64-8.0` | | | | +| `Squeak32-5.1` | `Pharo64-7.0` | | | | +| `Squeak32-5.0` | `Pharo64-6.1` | | | | +| `Squeak32-4.6` | `Pharo64-6.0` | | | | +| `Squeak32-4.5` | `Pharo32-alpha` | | | | +| | `Pharo32-stable` | | | | | | `Pharo32-12` | | | | | | `Pharo32-11` | | | | | | `Pharo32-10` | | | | @@ -99,7 +100,6 @@ they can take up a lot of space on your drive.* | | `Pharo32-4.0` | | | | | | `Pharo32-3.0` | | | | - ## Templates ### Minimal `.smalltalk.ston` Template diff --git a/pharo/run.sh b/pharo/run.sh index 33534207..73f8b37c 100644 --- a/pharo/run.sh +++ b/pharo/run.sh @@ -21,6 +21,9 @@ pharo::get_image_url() { "Pharo64-stable"|"Pharo-stable") echo "get.pharo.org/64/stable" ;; + "Pharo64-14") + echo "get.pharo.org/64/140" + ;; "Pharo64-13") echo "get.pharo.org/64/130" ;; @@ -54,6 +57,9 @@ pharo::get_image_url() { "Pharo32-stable") echo "get.pharo.org/stable" ;; + "Pharo32-14") + echo "get.pharo.org/32/140" + ;; "Pharo32-13") echo "get.pharo.org/32/130" ;; diff --git a/repository/BaselineOfSmalltalkCI.package/BaselineOfSmalltalkCI.class/instance/setUpPharo5AndGreaterPackages..st b/repository/BaselineOfSmalltalkCI.package/BaselineOfSmalltalkCI.class/instance/setUpPharo5AndGreaterPackages..st index 8936a1e1..ecace3ec 100644 --- a/repository/BaselineOfSmalltalkCI.package/BaselineOfSmalltalkCI.class/instance/setUpPharo5AndGreaterPackages..st +++ b/repository/BaselineOfSmalltalkCI.package/BaselineOfSmalltalkCI.class/instance/setUpPharo5AndGreaterPackages..st @@ -2,7 +2,7 @@ baseline setUpPharo5AndGreaterPackages: spec spec - for: #(#'pharo5.x' #'pharo6.x' #'pharo7.x' #'pharo8.x' #'pharo9.x' #'pharo10.x' #'pharo11.x' #'pharo12.x' #'pharo13.x') + for: #(#'pharo5.x' #'pharo6.x' #'pharo7.x' #'pharo8.x' #'pharo9.x' #'pharo10.x' #'pharo11.x' #'pharo12.x' #'pharo13.x' #'pharo14.x') do: [ spec package: 'SmalltalkCI-Core' with: [ spec includes: #('SmalltalkCI-Pharo-Core') ]; package: 'SmalltalkCI-Pharo-Core' with: [ spec requires: 'SmalltalkCI-Core' ]; diff --git a/run.sh b/run.sh index 8f52d5e9..f25cafee 100755 --- a/run.sh +++ b/run.sh @@ -223,8 +223,8 @@ select_smalltalk() { local images="Squeak64-trunk Squeak64-6.0 Squeak64-5.3 Squeak64-5.2 Squeak64-5.1 Squeak32-trunk Squeak32-6.0 Squeak32-5.3 Squeak32-5.2 Squeak32-5.1 Squeak32-5.0 Squeak32-4.6 Squeak32-4.5 - Pharo64-stable Pharo64-alpha Pharo64-13 Pharo64-12 Pharo64-11 Pharo64-10 Pharo64-9.0 Pharo64-8.0 Pharo64-7.0 Pharo64-6.1 Pharo64-6.0 - Pharo32-stable Pharo32-alpha Pharo32-13 Pharo32-12 Pharo32-9.0 Pharo32-8.0 Pharo32-7.0 Pharo32-6.0 Pharo32-5.0 + Pharo64-stable Pharo64-alpha Pharo64-14 Pharo64-13 Pharo64-12 Pharo64-11 Pharo64-10 Pharo64-9.0 Pharo64-8.0 Pharo64-7.0 Pharo64-6.1 Pharo64-6.0 + Pharo32-stable Pharo32-alpha Pharo32-14 Pharo32-13 Pharo32-12 Pharo32-9.0 Pharo32-8.0 Pharo32-7.0 Pharo32-6.0 Pharo32-5.0 Pharo32-4.0 Pharo32-3.0 GemStone64-3.6.5 GemStone64-3.6.0 GemStone64-3.5.8 GemStone64-3.5.3 GToolkit64-release @@ -586,4 +586,4 @@ main() { # Run main if script is not being tested if [[ "$(basename -- "$0")" != *"test"* ]]; then main "$@" -fi \ No newline at end of file +fi diff --git a/tests/pharo_tests.sh b/tests/pharo_tests.sh index 196413b5..a1323911 100755 --- a/tests/pharo_tests.sh +++ b/tests/pharo_tests.sh @@ -19,6 +19,12 @@ test_get_image_url() { image_url="$(pharo::get_image_url "Pharo64-stable")" assertEquals "get.pharo.org/64/stable" "${image_url}" + image_url="$(pharo::get_image_url "Pharo64-14")" + assertEquals "get.pharo.org/64/120" "${image_url}" + + image_url="$(pharo::get_image_url "Pharo64-13")" + assertEquals "get.pharo.org/64/120" "${image_url}" + image_url="$(pharo::get_image_url "Pharo64-12")" assertEquals "get.pharo.org/64/120" "${image_url}" @@ -34,6 +40,11 @@ test_get_image_url() { image_url="$(pharo::get_image_url "Pharo64-8.0")" assertEquals "get.pharo.org/64/80" "${image_url}" + image_url="$(pharo::get_image_url "Pharo32-14")" + assertEquals "get.pharo.org/32/120" "${image_url}" + + image_url="$(pharo::get_image_url "Pharo32-13")" + assertEquals "get.pharo.org/32/120" "${image_url}" image_url="$(pharo::get_image_url "Pharo32-12")" assertEquals "get.pharo.org/32/120" "${image_url}" @@ -90,6 +101,9 @@ test_get_vm_url() { vm_url="$(pharo::get_vm_url "Pharo64-stable")" assertEquals "get.pharo.org/64/vm120" "${vm_url}" + vm_url="$(pharo::get_vm_url "Pharo64-14")" + assertEquals "get.pharo.org/64/vm130" "${vm_url}" + vm_url="$(pharo::get_vm_url "Pharo64-13")" assertEquals "get.pharo.org/64/vm130" "${vm_url}" @@ -108,6 +122,8 @@ test_get_vm_url() { vm_url="$(pharo::get_vm_url "Pharo64-8.0")" assertEquals "get.pharo.org/64/vm80" "${vm_url}" + vm_url="$(pharo::get_vm_url "Pharo32-14")" + assertEquals "get.pharo.org/vm130" "${vm_url}" vm_url="$(pharo::get_vm_url "Pharo32-13")" assertEquals "get.pharo.org/vm130" "${vm_url}"