Skip to content

Commit

Permalink
Merge pull request #63 from ba-st/gemstone64
Browse files Browse the repository at this point in the history
Add support for Gemstone 64
  • Loading branch information
gcotelli authored Feb 28, 2024
2 parents 0e14bb6 + e3267b0 commit e927abf
Show file tree
Hide file tree
Showing 87 changed files with 1,032 additions and 579 deletions.
9 changes: 5 additions & 4 deletions .github/workflows/integration-tests.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
name: Integration Tests

on: [push,pull_request,workflow_dispatch]

on:
- push
- pull_request
- workflow_dispatch
jobs:
integration-tests:
runs-on: ubuntu-latest
name: Integration Tests
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Run tests using Docker
Expand Down
21 changes: 15 additions & 6 deletions .github/workflows/loading-groups.yml
Original file line number Diff line number Diff line change
@@ -1,18 +1,27 @@
name: Baseline groups

on: [push,pull_request,workflow_dispatch]

on:
- push
- pull_request
- workflow_dispatch
jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
smalltalk: [ Pharo64-11, Pharo64-10, Pharo64-9.0, Pharo64-8.0 ]
load-spec: [ core, api-client, service-discovery, deployment, examples, dependent-sunit-extensions]
smalltalk:
- Pharo64-11
- Pharo64-10
load-spec:
- core
- api-client
- service-discovery
- deployment
- examples
- dependent-sunit-extensions
name: ${{ matrix.smalltalk }} + ${{ matrix.load-spec }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- uses: hpi-swa/setup-smalltalkCI@v1
with:
smalltalk-image: ${{ matrix.smalltalk }}
Expand Down
24 changes: 24 additions & 0 deletions .github/workflows/loading-gs64-components.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: 'GS64 Components Loading'
on:
- push
- pull_request
- workflow_dispatch
jobs:
component-loading:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
load-spec:
- Core
- API-Client
- Dependent-SUnit-Extensions
- Service-Discovery
name: GS64 + ${{ matrix.load-spec }}
steps:
- uses: actions/checkout@v4
- name: Load component in image
uses: ba-st-actions/gs64-ci@v2
with:
project_name: 'Superluminal'
load_spec: 'Superluminal-${{ matrix.load-spec }}'
7 changes: 5 additions & 2 deletions .github/workflows/markdown-lint.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,14 @@
name: Markdown Lint
on: [push,pull_request,workflow_dispatch]
on:
- push
- pull_request
- workflow_dispatch
jobs:
remark-lint:
name: runner / markdownlint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: markdownlint
uses: reviewdog/action-markdownlint@v0
with:
Expand Down
24 changes: 24 additions & 0 deletions .github/workflows/unit-tests-gs64.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: 'GS64 Unit Tests'
on:
- push
- pull_request
- workflow_dispatch
jobs:
unit-tests:
runs-on: ubuntu-latest
name: GS64 Unit Tests
services:
httpbin:
image: fortizpenaloza/httpbin
memcached:
image: memcached:1.6.7-alpine
steps:
- uses: actions/checkout@v4
- name: Load Image and Run Tests
uses: ba-st-actions/gs64-ci@v2
with:
project_name: 'Superluminal'
run_tests: 'true'
env:
CI_MEMCACHED_HOSTNAME: memcached
CI_HTTPBIN_HOSTNAME: httpbin
26 changes: 17 additions & 9 deletions .github/workflows/unit-tests.yml
Original file line number Diff line number Diff line change
@@ -1,20 +1,28 @@
name: Unit Tests

on: [push,pull_request,workflow_dispatch]

on:
- push
- pull_request
- workflow_dispatch
jobs:
unit-tests:
runs-on: ubuntu-latest
strategy:
matrix:
smalltalk: [ Pharo64-11, Pharo64-10, Pharo64-8.0, Pharo64-9.0 ]
smalltalk:
- Pharo64-11
- Pharo64-10
name: ${{ matrix.smalltalk }}
services:
httpbin:
image: fortizpenaloza/httpbin
ports:
- 127.0.0.1:80:80
memcached:
image: memcached:1.6.7-alpine
ports:
- 127.0.0.1:11211:11211
steps:
- uses: actions/checkout@v3
- name: Start httpbin
run: docker run -d -p 127.0.0.1:80:80 fortizpenaloza/httpbin
- name: Start memcached
run: docker run -d -p 127.0.0.1:11211:11211 memcached:1.6.7-alpine
- uses: actions/checkout@v4
- uses: hpi-swa/setup-smalltalkCI@v1
with:
smalltalk-image: ${{ matrix.smalltalk }}
Expand Down
13 changes: 4 additions & 9 deletions api-tests/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,11 @@ RUN pharo metacello install gitlocal://. BaselineOfSuperluminal --groups=Example

# Stage 2: Copy the resulting Pharo.image with our project loaded
# into a new docker image with just the vm
FROM ghcr.io/ba-st/launchpad:v4
FROM ghcr.io/ba-st/launchpad:v5

USER root
COPY --from=loader --chown=pharo:users /opt/pharo/Pharo.image ./
COPY --from=loader --chown=pharo:users /opt/pharo/Pharo*.sources ./

COPY --from=loader /opt/pharo/Pharo.image ./
COPY --from=loader /opt/pharo/Pharo*.sources ./

RUN mkdir logs \
&& chown --recursive pharo:users /opt/pharo

USER pharo
RUN mkdir logs

CMD ["launchpad-start", "superluminal-service-discovery", "--retry-delay-in-ms=10000"]
23 changes: 23 additions & 0 deletions rowan/components/API-Client.ston
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
RwSimpleProjectLoadComponentV2 {
#name : 'API-Client',
#projectNames : [
'Memcached'
],
#componentNames : [
'Core'
],
#packageNames : [
'Superluminal-RESTfulAPI',
'Superluminal-RESTfulAPI-Extensions'
],
#conditionalPackageMapSpecs : {
'gemstone' : {
'allusers' : {
#packageNameToPlatformPropertiesMap : {
'Superluminal-RESTfulAPI' : { 'symbolDictName' : 'Superluminal' },
'Superluminal-RESTfulAPI-Extensions' : { 'symbolDictName' : 'Zinc' }
}
}
}
}
}
21 changes: 21 additions & 0 deletions rowan/components/Core.ston
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
RwSimpleProjectLoadComponentV2 {
#name : 'Core',
#projectNames : [
'Hyperspace'
],
#componentNames : [ ],
#packageNames : [
'Superluminal-Model',
'Superluminal-Model-Extensions'
],
#conditionalPackageMapSpecs : {
'gemstone' : {
'allusers' : {
#packageNameToPlatformPropertiesMap : {
'Superluminal-Model' : { 'symbolDictName' : 'Superluminal' },
'Superluminal-Model-Extensions' : { 'symbolDictName' : 'Globals' }
}
}
}
}
}
22 changes: 22 additions & 0 deletions rowan/components/Dependent-SUnit-Extensions.ston
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
RwSimpleProjectLoadComponentV2 {
#name : 'Dependent-SUnit-Extensions',
#condition : 'sunit',
#projectNames : [
'Teachable'
],
#componentNames : [
'Core'
],
#packageNames : [
'Superluminal-SUnit-Model'
],
#conditionalPackageMapSpecs : {
'gemstone' : {
'allusers' : {
#packageNameToPlatformPropertiesMap : {
'Superluminal-SUnit-Model' : { 'symbolDictName' : 'Superluminal' }
}
}
}
}
}
19 changes: 19 additions & 0 deletions rowan/components/Service-Discovery.ston
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
RwSimpleProjectLoadComponentV2 {
#name : 'Service-Discovery',
#projectNames : [ ],
#componentNames : [
'API-Client'
],
#packageNames : [
'Superluminal-Service-Discovery'
],
#conditionalPackageMapSpecs : {
'gemstone' : {
'allusers' : {
#packageNameToPlatformPropertiesMap : {
'Superluminal-Service-Discovery' : { 'symbolDictName' : 'Superluminal' }
}
}
}
}
}
29 changes: 29 additions & 0 deletions rowan/components/Tests.ston
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
RwSimpleProjectLoadComponentV2 {
#name : 'Tests',
#condition : 'tests',
#projectNames : [
'Teapot'
],
#componentNames : [
'Service-Discovery',
'Dependent-SUnit-Extensions'
],
#packageNames : [
'Superluminal-Model-Tests',
'Superluminal-Model-Tests-Extensions',
'Superluminal-RESTfulAPI-Tests',
'Superluminal-Service-Discovery-Tests'
],
#conditionalPackageMapSpecs : {
'gemstone' : {
'allusers' : {
#packageNameToPlatformPropertiesMap : {
'Superluminal-Model-Tests' : { 'symbolDictName' : 'Superluminal' },
'Superluminal-Model-Tests-Extensions' : { 'symbolDictName' : 'Globals' },
'Superluminal-RESTfulAPI-Tests' : { 'symbolDictName' : 'Superluminal' },
'Superluminal-Service-Discovery-Tests' : { 'symbolDictName' : 'Superluminal' }
}
}
}
}
}
10 changes: 10 additions & 0 deletions rowan/project.ston
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
RwProjectSpecificationV2 {
#specName : 'project',
#projectSpecPath : 'rowan',
#componentsPath : 'rowan/components',
#packagesPath : 'source',
#projectsPath : 'rowan/projects',
#specsPath : 'rowan/specs',
#packageFormat : 'tonel',
#packageConvention : 'Rowan'
}
11 changes: 11 additions & 0 deletions rowan/projects/Hyperspace.ston
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
RwLoadSpecificationV2 {
#specName: 'Hyperspace',
#projectName : 'Hyperspace',
#gitUrl : 'https://github.com/ba-st/Hyperspace.git',
#revision : 'v5',
#projectSpecFile : 'rowan/project.ston',
#componentNames : [
'Deployment',
'Dependent-SUnit-Extensions'
]
}
10 changes: 10 additions & 0 deletions rowan/projects/Memcached.ston
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
RwLoadSpecificationV2 {
#specName: 'Memcached',
#projectName : 'Memcached',
#gitUrl : 'https://github.com/ba-st-dependencies/Memcached.git',
#revision : 'v2',
#projectSpecFile : 'rowan/project.ston',
#componentNames : [
'Deployment'
]
}
10 changes: 10 additions & 0 deletions rowan/projects/Teachable.ston
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
RwLoadSpecificationV2 {
#specName: 'Teachable',
#projectName : 'Teachable',
#gitUrl : 'https://github.com/ba-st-dependencies/Teachable.git',
#revision : 'v3',
#projectSpecFile : 'rowan/project.ston',
#componentNames : [
'Core'
]
}
10 changes: 10 additions & 0 deletions rowan/projects/Teapot.ston
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
RwLoadSpecificationV2 {
#specName: 'Teapot',
#projectName : 'Teapot',
#gitUrl : 'https://github.com/ba-st-dependencies/Teapot.git',
#revision : 'v2',
#projectSpecFile : 'rowan/project.ston',
#componentNames : [
'Deployment'
]
}
10 changes: 10 additions & 0 deletions rowan/specs/Superluminal-API-Client.ston
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
RwLoadSpecificationV2 {
#specName: 'Superluminal-API-Client',
#projectName : 'Superluminal',
#diskUrl : 'Superluminal',
#projectSpecFile : 'rowan/project.ston',
#componentNames : [
'API-Client'
],
#comment : 'Loading spec for API-Client'
}
14 changes: 14 additions & 0 deletions rowan/specs/Superluminal-CI.ston
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
RwLoadSpecificationV2 {
#specName: 'Superluminal-CI',
#projectName : 'Superluminal',
#diskUrl : 'Superluminal',
#projectSpecFile : 'rowan/project.ston',
#componentNames : [
'Tests'
],
#customConditionalAttributes : [
'tests',
'sunit'
],
#comment : 'Loading spec for the continuous integration setup'
}
10 changes: 10 additions & 0 deletions rowan/specs/Superluminal-Core.ston
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
RwLoadSpecificationV2 {
#specName: 'Superluminal-Core',
#projectName : 'Superluminal',
#diskUrl : 'Superluminal',
#projectSpecFile : 'rowan/project.ston',
#componentNames : [
'Core'
],
#comment : 'Loading spec for Core'
}
Loading

0 comments on commit e927abf

Please sign in to comment.