From 40d5e42807413654acb601bf27560e13585a6309 Mon Sep 17 00:00:00 2001 From: Kurt Kilpela Date: Fri, 16 Aug 2024 09:33:19 -0700 Subject: [PATCH 01/11] #33 Add missing #greaseNext:putAll:startingAt: method --- .../instance/greaseNext.putAll.startingAt..st | 3 +++ .../GRDelegatingStream.extension/properties.json | 3 +++ 2 files changed, 6 insertions(+) create mode 100644 repository/Grease-GemStone-Core.package/GRDelegatingStream.extension/instance/greaseNext.putAll.startingAt..st create mode 100644 repository/Grease-GemStone-Core.package/GRDelegatingStream.extension/properties.json diff --git a/repository/Grease-GemStone-Core.package/GRDelegatingStream.extension/instance/greaseNext.putAll.startingAt..st b/repository/Grease-GemStone-Core.package/GRDelegatingStream.extension/instance/greaseNext.putAll.startingAt..st new file mode 100644 index 00000000..7ebc0caa --- /dev/null +++ b/repository/Grease-GemStone-Core.package/GRDelegatingStream.extension/instance/greaseNext.putAll.startingAt..st @@ -0,0 +1,3 @@ +*grease-gemstone-core +greaseNext: anInteger putAll: aCollection startingAt: startIndex + stream greaseNext: anInteger putAll: aCollection startingAt: startIndex diff --git a/repository/Grease-GemStone-Core.package/GRDelegatingStream.extension/properties.json b/repository/Grease-GemStone-Core.package/GRDelegatingStream.extension/properties.json new file mode 100644 index 00000000..5ec29ea0 --- /dev/null +++ b/repository/Grease-GemStone-Core.package/GRDelegatingStream.extension/properties.json @@ -0,0 +1,3 @@ +{ + "name" : "GRDelegatingStream" +} \ No newline at end of file From 16f12b02a98e2a3861ca5b23fcedded96f1f78ba Mon Sep 17 00:00:00 2001 From: Johan Brichau Date: Sun, 18 Aug 2024 14:33:21 +0200 Subject: [PATCH 02/11] update gemstone version in CI --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ea17be68..ef153d79 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,7 +8,7 @@ jobs: strategy: fail-fast: false matrix: - smalltalk: [ Pharo64-12, Pharo64-11, Pharo64-10, Pharo64-9.0, Pharo64-8.0, Pharo64-7.0, GemStone64-3.7.1, GemStone64-3.6.8, GemStone64-3.5.7, Squeak64-5.3 ] + smalltalk: [ Pharo64-12, Pharo64-11, Pharo64-10, Pharo64-9.0, Pharo64-8.0, Pharo64-7.0, GemStone64-3.7.1, GemStone64-3.6.8, GemStone64-3.5.8, Squeak64-5.3 ] experimental: [ false ] include: - smalltalk: Pharo64-13 From 10552ef351fba62a63cfd8005508bf539e9a483b Mon Sep 17 00:00:00 2001 From: Johan Brichau Date: Sun, 18 Aug 2024 14:35:27 +0200 Subject: [PATCH 03/11] keep gemstone 3.7.0 in the list as well --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ef153d79..f40b5d16 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,7 +8,7 @@ jobs: strategy: fail-fast: false matrix: - smalltalk: [ Pharo64-12, Pharo64-11, Pharo64-10, Pharo64-9.0, Pharo64-8.0, Pharo64-7.0, GemStone64-3.7.1, GemStone64-3.6.8, GemStone64-3.5.8, Squeak64-5.3 ] + smalltalk: [ Pharo64-12, Pharo64-11, Pharo64-10, Pharo64-9.0, Pharo64-8.0, Pharo64-7.0, GemStone64-3.7.0, GemStone64-3.7.1, GemStone64-3.6.8, GemStone64-3.5.8, Squeak64-5.3 ] experimental: [ false ] include: - smalltalk: Pharo64-13 From 5388665ff30ffd90efb3c8c50b1b510e3f2c3d7e Mon Sep 17 00:00:00 2001 From: Johan Brichau Date: Mon, 19 Aug 2024 18:39:05 +0200 Subject: [PATCH 04/11] Move GRDelegatingStream>>greaseNext:putAll:startingAt: to Grease-Core since it is not only required in Pharo (see https://github.com/GsDevKit/Grease/issues/33) --- .../instance/greaseNext.putAll.startingAt..st | 2 +- .../Grease-Core.package/GRPlatform.class/instance/version.st | 2 +- .../GRDelegatingStream.extension/properties.json | 3 --- 3 files changed, 2 insertions(+), 5 deletions(-) rename repository/{Grease-Pharo100-Core.package/GRDelegatingStream.extension => Grease-Core.package/GRDelegatingStream.class}/instance/greaseNext.putAll.startingAt..st (86%) delete mode 100644 repository/Grease-Pharo100-Core.package/GRDelegatingStream.extension/properties.json diff --git a/repository/Grease-Pharo100-Core.package/GRDelegatingStream.extension/instance/greaseNext.putAll.startingAt..st b/repository/Grease-Core.package/GRDelegatingStream.class/instance/greaseNext.putAll.startingAt..st similarity index 86% rename from repository/Grease-Pharo100-Core.package/GRDelegatingStream.extension/instance/greaseNext.putAll.startingAt..st rename to repository/Grease-Core.package/GRDelegatingStream.class/instance/greaseNext.putAll.startingAt..st index c3a17a33..1139a600 100644 --- a/repository/Grease-Pharo100-Core.package/GRDelegatingStream.extension/instance/greaseNext.putAll.startingAt..st +++ b/repository/Grease-Core.package/GRDelegatingStream.class/instance/greaseNext.putAll.startingAt..st @@ -1,3 +1,3 @@ -*Grease-Pharo100-Core +streaming greaseNext: anInteger putAll: aCollection startingAt: startIndex stream greaseNext: anInteger putAll: aCollection startingAt: startIndex \ No newline at end of file diff --git a/repository/Grease-Core.package/GRPlatform.class/instance/version.st b/repository/Grease-Core.package/GRPlatform.class/instance/version.st index 7dce4ec5..6620cfe6 100644 --- a/repository/Grease-Core.package/GRPlatform.class/instance/version.st +++ b/repository/Grease-Core.package/GRPlatform.class/instance/version.st @@ -2,5 +2,5 @@ version info version "Answer the Grease version" - ^ (GRVersion major: 1 minor: 18 revision: 1) + ^ (GRVersion major: 1 minor: 18 revision: 2) yourself \ No newline at end of file diff --git a/repository/Grease-Pharo100-Core.package/GRDelegatingStream.extension/properties.json b/repository/Grease-Pharo100-Core.package/GRDelegatingStream.extension/properties.json deleted file mode 100644 index 5ec29ea0..00000000 --- a/repository/Grease-Pharo100-Core.package/GRDelegatingStream.extension/properties.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "name" : "GRDelegatingStream" -} \ No newline at end of file From a6dc3de5aee94011632df3d2fef2a7b938cb7a96 Mon Sep 17 00:00:00 2001 From: Johan Brichau Date: Mon, 19 Aug 2024 18:47:50 +0200 Subject: [PATCH 05/11] Remove gemstone-specific override of GRDelegatingStream>>greaseNext:putAll:startingAt: since it is now included in Grease-Core --- .../instance/greaseNext.putAll.startingAt..st | 3 --- .../GRDelegatingStream.extension/properties.json | 3 --- 2 files changed, 6 deletions(-) delete mode 100644 repository/Grease-GemStone-Core.package/GRDelegatingStream.extension/instance/greaseNext.putAll.startingAt..st delete mode 100644 repository/Grease-GemStone-Core.package/GRDelegatingStream.extension/properties.json diff --git a/repository/Grease-GemStone-Core.package/GRDelegatingStream.extension/instance/greaseNext.putAll.startingAt..st b/repository/Grease-GemStone-Core.package/GRDelegatingStream.extension/instance/greaseNext.putAll.startingAt..st deleted file mode 100644 index 7ebc0caa..00000000 --- a/repository/Grease-GemStone-Core.package/GRDelegatingStream.extension/instance/greaseNext.putAll.startingAt..st +++ /dev/null @@ -1,3 +0,0 @@ -*grease-gemstone-core -greaseNext: anInteger putAll: aCollection startingAt: startIndex - stream greaseNext: anInteger putAll: aCollection startingAt: startIndex diff --git a/repository/Grease-GemStone-Core.package/GRDelegatingStream.extension/properties.json b/repository/Grease-GemStone-Core.package/GRDelegatingStream.extension/properties.json deleted file mode 100644 index 5ec29ea0..00000000 --- a/repository/Grease-GemStone-Core.package/GRDelegatingStream.extension/properties.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "name" : "GRDelegatingStream" -} \ No newline at end of file From 5e8378a07ec005d4a09299a8e349b7523d6f0651 Mon Sep 17 00:00:00 2001 From: Johan Brichau Date: Thu, 2 Jan 2025 11:49:15 +0100 Subject: [PATCH 06/11] Correct method argument naming --- .../GRPlatform.class/instance/secureHashFor..st | 2 +- .../GRPharoPlatform.class/instance/secureHashFor..st | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/repository/Grease-Core.package/GRPlatform.class/instance/secureHashFor..st b/repository/Grease-Core.package/GRPlatform.class/instance/secureHashFor..st index dfe482be..7da0404a 100644 --- a/repository/Grease-Core.package/GRPlatform.class/instance/secureHashFor..st +++ b/repository/Grease-Core.package/GRPlatform.class/instance/secureHashFor..st @@ -1,3 +1,3 @@ cryptography -secureHashFor: aString +secureHashFor: aStringOrByteArray self subclassResponsibility \ No newline at end of file diff --git a/repository/Grease-Pharo100-Core.package/GRPharoPlatform.class/instance/secureHashFor..st b/repository/Grease-Pharo100-Core.package/GRPharoPlatform.class/instance/secureHashFor..st index 46b9e2d2..12698969 100644 --- a/repository/Grease-Pharo100-Core.package/GRPharoPlatform.class/instance/secureHashFor..st +++ b/repository/Grease-Pharo100-Core.package/GRPharoPlatform.class/instance/secureHashFor..st @@ -1,3 +1,3 @@ cryptography -secureHashFor: aString - ^ SHA1 new hashMessage: aString \ No newline at end of file +secureHashFor: aStringOrByteArray + ^ SHA1 new hashMessage: aStringOrByteArray \ No newline at end of file From 8f04339d16e9b9a92f67e8e61d6de91e0db527ca Mon Sep 17 00:00:00 2001 From: Johan Brichau Date: Thu, 2 Jan 2025 14:22:51 +0100 Subject: [PATCH 07/11] Expanded the testcase for secureHashFor: to also cover (any) bytearray as argument since this method is used in Seaside with any String or ByteArray --- .../instance/testSecureHashFor.st | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/repository/Grease-Tests-Core.package/GRPlatformTest.class/instance/testSecureHashFor.st b/repository/Grease-Tests-Core.package/GRPlatformTest.class/instance/testSecureHashFor.st index f6521ee3..5a6dfb9f 100644 --- a/repository/Grease-Tests-Core.package/GRPlatformTest.class/instance/testSecureHashFor.st +++ b/repository/Grease-Tests-Core.package/GRPlatformTest.class/instance/testSecureHashFor.st @@ -1,9 +1,19 @@ tests testSecureHashFor - "Make sure the platform class provides a #secureHashFor: method. The method is called by Seaside when hashing passwords. The Squeak implementation returns a SHA-1 hash but another equivalent hash method could also be used." + "Make sure the platform class provides a #secureHashFor: method. The method is called by Seaside when hashing passwords. + The Pharo implementation returns a SHA-1 hash but another equivalent hash method could also be used." - | a b | + | a b c d invalidUtf8 e f | a := self platform secureHashFor: 'foobar'. b := self platform secureHashFor: 'foobar'. + self assert: a equals: b. + + c := self platform secureHashFor: #[102 111 111 98 97 114]. + d := self platform secureHashFor: #[102 111 111 98 97 114]. + self assert: c equals: d. - self assert: (a = b) \ No newline at end of file + "The following ensures any byte array can be used (and not only the onces containing valid utf8)" + invalidUtf8 := #[160 161]. + e := self platform secureHashFor: invalidUtf8. + f := self platform secureHashFor: invalidUtf8. + self assert: e equals: f \ No newline at end of file From 8f4151f4db08cb0fa33db29c5887834a0eba16a9 Mon Sep 17 00:00:00 2001 From: Johan Brichau Date: Mon, 21 Apr 2025 09:43:43 +0200 Subject: [PATCH 08/11] Fix CI --- .github/workflows/ci.yml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f40b5d16..3cd3af4f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,14 +1,18 @@ name: smalltalkCI -on: [push, pull_request] +on: + push: + pull_request: + schedule: + - cron: "5 0 * * 1" # At 00:05 on Monday. jobs: test: - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest strategy: fail-fast: false matrix: - smalltalk: [ Pharo64-12, Pharo64-11, Pharo64-10, Pharo64-9.0, Pharo64-8.0, Pharo64-7.0, GemStone64-3.7.0, GemStone64-3.7.1, GemStone64-3.6.8, GemStone64-3.5.8, Squeak64-5.3 ] + smalltalk: [ Pharo64-12, Pharo64-11, Pharo64-10, Pharo64-9.0, Pharo64-8.0, Pharo64-7.0, GemStone64-3.7.1, GemStone64-3.6.8, GemStone64-3.5.8, Squeak64-5.3 ] experimental: [ false ] include: - smalltalk: Pharo64-13 From cb7887f69da56da5661cd8252a4db90f749aeb3f Mon Sep 17 00:00:00 2001 From: Johan Brichau Date: Mon, 23 Jun 2025 08:40:28 +0200 Subject: [PATCH 09/11] Include Pharo 14 in the experimental tests, set Pharo 13 to standard in the tests --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3cd3af4f..86fca888 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,10 +12,10 @@ jobs: strategy: fail-fast: false matrix: - smalltalk: [ Pharo64-12, Pharo64-11, Pharo64-10, Pharo64-9.0, Pharo64-8.0, Pharo64-7.0, GemStone64-3.7.1, GemStone64-3.6.8, GemStone64-3.5.8, Squeak64-5.3 ] + smalltalk: [ Pharo64-13, Pharo64-12, Pharo64-11, Pharo64-10, Pharo64-9.0, Pharo64-8.0, Pharo64-7.0, GemStone64-3.7.1, GemStone64-3.6.8, GemStone64-3.5.8, Squeak64-5.3 ] experimental: [ false ] include: - - smalltalk: Pharo64-13 + - smalltalk: Pharo64-14 experimental: true - smalltalk: Squeak64-6.0 experimental: true From e2927c2d0ce560fb6b764cab76dbe2ee5b74998b Mon Sep 17 00:00:00 2001 From: Johan Brichau Date: Mon, 23 Jun 2025 08:42:50 +0200 Subject: [PATCH 10/11] Include Pharo14 in the baselineOf --- .../BaselineOfGrease.class/instance/baselinePharo..st | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/repository/BaselineOfGrease.package/BaselineOfGrease.class/instance/baselinePharo..st b/repository/BaselineOfGrease.package/BaselineOfGrease.class/instance/baselinePharo..st index f1a39cd3..7ac453b2 100644 --- a/repository/BaselineOfGrease.package/BaselineOfGrease.class/instance/baselinePharo..st +++ b/repository/BaselineOfGrease.package/BaselineOfGrease.class/instance/baselinePharo..st @@ -52,7 +52,7 @@ baselinePharo: spec group: 'Slime Tests' with: #('Grease-Tests-Slime') ]. spec - for: #(#'pharo10.x' #'pharo11.x' #'pharo12.x' #'pharo13.x') + for: #(#'pharo10.x' #'pharo11.x' #'pharo12.x' #'pharo13.x' #'pharo14.x') do: [ spec package: 'Grease-Core' with: [ spec includes: #('Grease-Pharo100-Core') ]; From 1ca1ae0145e3c02ad66f0ac920e9d4a310022eb7 Mon Sep 17 00:00:00 2001 From: Johan Brichau Date: Mon, 23 Jun 2025 08:47:22 +0200 Subject: [PATCH 11/11] increment point version number --- .../Grease-Core.package/GRPlatform.class/instance/version.st | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/repository/Grease-Core.package/GRPlatform.class/instance/version.st b/repository/Grease-Core.package/GRPlatform.class/instance/version.st index 6620cfe6..a4bed8ce 100644 --- a/repository/Grease-Core.package/GRPlatform.class/instance/version.st +++ b/repository/Grease-Core.package/GRPlatform.class/instance/version.st @@ -2,5 +2,5 @@ version info version "Answer the Grease version" - ^ (GRVersion major: 1 minor: 18 revision: 2) + ^ (GRVersion major: 1 minor: 18 revision: 3) yourself \ No newline at end of file