diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ea17be68..86fca888 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,17 +1,21 @@ 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.1, GemStone64-3.6.8, GemStone64-3.5.7, 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 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') ]; 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/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-Core.package/GRPlatform.class/instance/version.st b/repository/Grease-Core.package/GRPlatform.class/instance/version.st index 7dce4ec5..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: 1) + ^ (GRVersion major: 1 minor: 18 revision: 3) 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 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 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