Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for GemStone 64 #65

Merged
merged 11 commits into from
Sep 1, 2023
Merged
Show file tree
Hide file tree
Changes from 2 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
2 changes: 1 addition & 1 deletion .github/workflows/loading-groups.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ jobs:
strategy:
fail-fast: false
matrix:
smalltalk: [ Pharo64-11, Pharo64-10, Pharo64-9.0, Pharo64-8.0 ]
smalltalk: [ Pharo64-11, Pharo64-10, Pharo64-9.0 ]
load-spec: [ deployment, dependent-sunit-extensions, tests, tools, development ]
name: ${{ matrix.smalltalk }} + ${{ matrix.load-spec }}
steps:
Expand Down
19 changes: 19 additions & 0 deletions .github/workflows/loading-gs64-components.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: 'GS64 Components Loading'

on: [push,pull_request,workflow_dispatch]

jobs:
component-loading:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
load-spec: [ Deployment, Dependent-SUnit-Extensions ]
name: GS64 + ${{ matrix.load-spec }}
steps:
- uses: actions/checkout@v3
- name: Load component in image
uses: ba-st-actions/gs64-ci@v1
with:
project_name: 'Hyperspace'
load_spec: 'Hyperspace-${{ matrix.load-spec }}'
4 changes: 1 addition & 3 deletions .github/workflows/notify.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
name: Release Notifications

on:
release:
types: [published]
on: workflow_dispatch

jobs:
notify:
Expand Down
15 changes: 15 additions & 0 deletions .github/workflows/unit-tests-gs64.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
name: 'GS64 Unit Tests'

on: [push,pull_request,workflow_dispatch]

jobs:
unit-tests:
runs-on: ubuntu-latest
name: GS64 Unit Tests
steps:
- uses: actions/checkout@v3
- name: Load Image and Run Tests
uses: ba-st-actions/gs64-ci@v1
with:
project_name: 'Hyperspace'
run_tests: 'true'
2 changes: 1 addition & 1 deletion .github/workflows/unit-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
smalltalk: [ Pharo64-11, Pharo64-10, Pharo64-9.0, Pharo64-8.0, Pharo64-7.0 ]
smalltalk: [ Pharo64-11, Pharo64-10, Pharo64-9.0 ]
name: ${{ matrix.smalltalk }}
steps:
- uses: actions/checkout@v3
Expand Down
9 changes: 6 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,21 @@

Building blocks for Internet technologies on top of [Zinc HTTP Components](https://github.com/svenvc/zinc)

[![Unit Tests](https://github.com/ba-st/Hyperspace/actions/workflows/unit-tests.yml/badge.svg)](https://github.com/ba-st/Hyperspace/actions/workflows/unit-tests.yml)
[![Pharo - Unit Tests](https://github.com/ba-st/Hyperspace/actions/workflows/unit-tests.yml/badge.svg)](https://github.com/ba-st/Hyperspace/actions/workflows/unit-tests.yml)
[![GS64 - Unit Tests](https://github.com/ba-st/Hyperspace/actions/workflows/unit-tests-gs64.yml/badge.svg)](https://github.com/ba-st/Hyperspace/actions/workflows/unit-tests-gs64.yml)
[![Coverage Status](https://codecov.io/github/ba-st/Hyperspace/coverage.svg?branch=release-candidate)](https://codecov.io/gh/ba-st/Hyperspace/branch/release-candidate)

[![Baseline Groups](https://github.com/ba-st/Hyperspace/actions/workflows/loading-groups.yml/badge.svg)](https://github.com/ba-st/Hyperspace/actions/workflows/loading-groups.yml)
[![GS64 Components](https://github.com/ba-st/Hyperspace/actions/workflows/loading-gs64-components.yml/badge.svg)](https://github.com/ba-st/Hyperspace/actions/workflows/loading-gs64-components.yml)
[![Markdown Lint](https://github.com/ba-st/Hyperspace/actions/workflows/markdown-lint.yml/badge.svg)](https://github.com/ba-st/Hyperspace/actions/workflows/markdown-lint.yml)

[![GitHub release](https://img.shields.io/github/release/ba-st/Hyperspace.svg)](https://github.com/ba-st/Hyperspace/releases/latest)
[![Pharo 7.0](https://img.shields.io/badge/Pharo-7.0-informational)](https://pharo.org)
[![Pharo 8.0](https://img.shields.io/badge/Pharo-8.0-informational)](https://pharo.org)
[![Pharo 9.0](https://img.shields.io/badge/Pharo-9.0-informational)](https://pharo.org)
[![Pharo 10](https://img.shields.io/badge/Pharo-10-informational)](https://pharo.org)
[![Pharo 11](https://img.shields.io/badge/Pharo-11-informational)](https://pharo.org)

[![GS64 3.6.6](https://img.shields.io/badge/GS64-3.6.6-informational)](https://gemtalksystems.com/products/gs64/)

## Quick links

- [**Explore the docs**](docs/README.md)
Expand Down
13 changes: 12 additions & 1 deletion docs/reference/Baseline-groups.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
# Baseline Groups
# Baseline Groups & GS 64 Components

## Pharo Baseline Groups

Hyperspace includes the following groups in its Baseline that can be used as
loading targets:
Expand All @@ -11,3 +13,12 @@ loading targets:
particular case it is the same as `Tests`
- `Development` will load all the needed packages to develop and contribute to
the project

## GS64 Components

Hyperspace includes the following components in its Rowan configuration that can be
used as loading targets:
gcotelli marked this conversation as resolved.
Show resolved Hide resolved

- `Deployment` will load all the packages needed in a deployed application
- `Tests` will load the test cases
- `Dependent-SUnit-Extensions` will load extensions to SUnit
18 changes: 18 additions & 0 deletions rowan/components/Dependent-SUnit-Extensions.ston
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
RwSimpleProjectLoadComponentV2 {
#name : 'Dependent-SUnit-Extensions',
#condition : 'sunit',
#projectNames : [ ],
#componentNames : [ ],
#packageNames : [
'Hyperspace-SUnit-Model'
],
#conditionalPackageMapSpecs : {
'gemstone' : {
'allusers' : {
#packageNameToPlatformPropertiesMap : {
'Hyperspace-SUnit-Model' : { 'symbolDictName' : 'Globals' }
}
}
}
}
}
23 changes: 23 additions & 0 deletions rowan/components/Deployment.ston
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
RwSimpleProjectLoadComponentV2 {
#name : 'Deployment',
#projectNames : [
'Zinc'
],
#componentNames : [ ],
#packageNames : [
'Hyperspace-Model',
'Hyperspace-Extensions',
'Hyperspace-GS64-Extensions',
],
#conditionalPackageMapSpecs : {
'gemstone' : {
'allusers' : {
#packageNameToPlatformPropertiesMap : {
'Hyperspace-Model' : { 'symbolDictName' : 'Hyperspace' },
'Hyperspace-Extensions' : { 'symbolDictName' : 'Zinc' },
'Hyperspace-GS64-Extensions' : { 'symbolDictName' : 'Globals' }
}
}
}
}
}
23 changes: 23 additions & 0 deletions rowan/components/Tests.ston
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
RwSimpleProjectLoadComponentV2 {
#name : 'Tests',
#condition : 'tests',
#projectNames : [ ],
#componentNames : [
'Deployment',
'Dependent-SUnit-Extensions'
],
#packageNames : [
'Hyperspace-Model-Tests',
'Hyperspace-SUnit-Model-Tests'
],
#conditionalPackageMapSpecs : {
'gemstone' : {
'allusers' : {
#packageNameToPlatformPropertiesMap : {
'Hyperspace-Model-Tests' : { 'symbolDictName' : 'Hyperspace' },
'Hyperspace-SUnit-Model-Tests' : { 'symbolDictName' : 'Hyperspace' }
}
}
}
}
}
11 changes: 11 additions & 0 deletions rowan/project.ston
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
RwProjectSpecificationV2 {
#specName : 'project',
#projectSpecPath : 'rowan',
#componentsPath : 'rowan/components',
#packagesPath : 'source',
#projectsPath : 'rowan/projects',
#specsPath : 'rowan/specs',
#packageFormat : 'tonel',
#packageConvention : 'Rowan',
#comment : 'Hyperspace project specification'
}
10 changes: 10 additions & 0 deletions rowan/projects/Zinc.ston
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
RwLoadSpecificationV2 {
#specName: 'Zinc',
#projectName : 'Zinc',
#gitUrl : 'https://github.com/ba-st-dependencies/Zinc.git',
#revision : 'v5',
#projectSpecFile : 'rowan/project.ston',
#componentNames : [
'Deployment'
]
}
14 changes: 14 additions & 0 deletions rowan/specs/Hyperspace-CI.ston
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
RwLoadSpecificationV2 {
#specName: 'Hyperspace-CI',
#projectName : 'Hyperspace',
#diskUrl : '/opt/gemstone/projects/Hyperspace',
#projectSpecFile : 'rowan/project.ston',
#componentNames : [
'Tests'
],
#customConditionalAttributes : [
'tests',
'sunit'
],
#comment : 'Loading spec for the continuous integration setup'
}
12 changes: 12 additions & 0 deletions rowan/specs/Hyperspace-Dependent-SUnit-Extensions.ston
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
RwLoadSpecificationV2 {
#specName: 'Hyperspace-CI',
#projectName : 'Hyperspace',
#diskUrl : '/opt/gemstone/projects/Hyperspace',
#projectSpecFile : 'rowan/project.ston',
#componentNames : [
'Dependent-SUnit-Extensions'
],
#customConditionalAttributes : [
'sunit'
]
}
9 changes: 9 additions & 0 deletions rowan/specs/Hyperspace-Deployment.ston
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
RwLoadSpecificationV2 {
#specName: 'Hyperspace-CI',
#projectName : 'Hyperspace',
#diskUrl : '/opt/gemstone/projects/Hyperspace',
#projectSpecFile : 'rowan/project.ston',
#componentNames : [
'Deployment'
]
}
3 changes: 2 additions & 1 deletion source/.properties
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
{
#format : #tonel
#format : #tonel,
#convention : 'Rowan'
}
4 changes: 4 additions & 0 deletions source/BaselineOfHyperspace/BaselineOfHyperspace.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,10 @@ BaselineOfHyperspace >> setUpPackages: spec [
spec
package: 'Hyperspace-Model' with: [ spec requires: #('Buoy-Deployment' 'Zinc-Core')];
group: 'Deployment' with: 'Hyperspace-Model';
package: 'Hyperspace-Extensions' with: [ spec requires: 'Hyperspace-Model'];
group: 'Deployment' with: 'Hyperspace-Extensions';
package: 'Hyperspace-Pharo-Extensions' with: [ spec requires: 'Hyperspace-Model'];
group: 'Deployment' with: 'Hyperspace-Pharo-Extensions';
package: 'Hyperspace-Model-Tests'
with: [ spec requires: #( 'Hyperspace-Model' 'Dependent-SUnit-Extensions' ) ];
group: 'Tests' with: 'Hyperspace-Model-Tests'.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
Extension { #name : #ZnClient }

{ #category : #'*Hyperspace-Model' }
{ #category : #'*Hyperspace-Extensions' }
ZnClient >> logLevel [

^ logLevel
]

{ #category : #'*Hyperspace-Model' }
{ #category : #'*Hyperspace-Extensions' }
ZnClient >> query [
"Execute an HTTP QUERY the request set up and return the response #contents."

Expand All @@ -17,32 +17,32 @@ ZnClient >> query [
]
]

{ #category : #'*Hyperspace-Model' }
{ #category : #'*Hyperspace-Extensions' }
ZnClient >> resetRequest [

request := ZnRequest empty.
response := nil
]

{ #category : #'*Hyperspace-Model' }
{ #category : #'*Hyperspace-Extensions' }
ZnClient >> setAccept: object [

request setAccept: object
]

{ #category : #'*Hyperspace-Model' }
{ #category : #'*Hyperspace-Extensions' }
ZnClient >> setIfMatchTo: etag [

request setIfMatchTo: etag
]

{ #category : #'*Hyperspace-Model' }
{ #category : #'*Hyperspace-Extensions' }
ZnClient >> setIfNoneMatchTo: etag [

request setIfNoneMatchTo: etag
]

{ #category : #'*Hyperspace-Model' }
{ #category : #'*Hyperspace-Extensions' }
ZnClient >> setLogLevelAtLeastTo: integer [

self logLevel: (integer max: logLevel)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Extension { #name : #ZnEntity }

{ #category : #'*Hyperspace-Model' }
{ #category : #'*Hyperspace-Extensions' }
ZnEntity class >> with: anObject ofType: aMimeType [

| entity |
Expand Down
Original file line number Diff line number Diff line change
@@ -1,26 +1,26 @@
Extension { #name : #ZnMimeType }

{ #category : #'*Hyperspace-Model' }
{ #category : #'*Hyperspace-Extensions' }
ZnMimeType >> accepts: aMimeType [

^ (aMimeType main = '*' or: [ aMimeType main = self main ])
and: [ aMimeType sub = '*'
or: [ self sub = aMimeType sub or: [ (self sub splitOn: $+) includes: aMimeType sub ] ] ]
]

{ #category : #'*Hyperspace-Model' }
{ #category : #'*Hyperspace-Extensions' }
ZnMimeType >> asMediaType [

^ self
]

{ #category : #'*Hyperspace-Model' }
{ #category : #'*Hyperspace-Extensions' }
ZnMimeType >> quality [

^ Float readFrom: (self parameterAt: 'q' ifAbsent: [ ^1.0 ])
]

{ #category : #'*Hyperspace-Model' }
{ #category : #'*Hyperspace-Extensions' }
ZnMimeType >> version: aVersionString [

self parameters at: 'version' put: aVersionString
Expand Down
Loading
Loading