Skip to content

Commit 0d52985

Browse files
authored
Update framework dependencies (#1)
* Add Pharo 11, 12 & 13 to CI * Update framework dependencies to the latest versions * Extract Sagan configuration parameters to a provider to be reused * Simplify SingleDatabaseRepositoryProviderModuleFactor initialization * Add facilities for CORS-related configuration ===== Co-authored-by: jvanecek [email protected]
1 parent fb27000 commit 0d52985

File tree

54 files changed

+1398
-813
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+1398
-813
lines changed

.github/workflows/loading-groups.yml

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,31 @@
11
name: Baseline Groups
2-
3-
on: [push,pull_request,workflow_dispatch]
4-
2+
on:
3+
- push
4+
- pull_request
5+
- workflow_dispatch
56
jobs:
67
group-loading:
78
runs-on: ubuntu-latest
89
strategy:
910
fail-fast: false
10-
matrix:
11-
smalltalk: [ Pharo64-10 ]
12-
load-spec: [ core, sqlite3, postgres, deployment, dependent-sunit-extensions, tests, tools, development ]
11+
matrix:
12+
smalltalk:
13+
- Pharo64-10
14+
- Pharo64-11
15+
- Pharo64-12
16+
- Pharo64-13
17+
load-spec:
18+
- core
19+
- sqlite3
20+
- postgres
21+
- deployment
22+
- dependent-sunit-extensions
23+
- tests
24+
- tools
25+
- development
1326
name: Baseline Groups / ${{ matrix.smalltalk }} + ${{ matrix.load-spec }}
1427
steps:
15-
- uses: actions/checkout@v2
28+
- uses: actions/checkout@v4
1629
- uses: hpi-swa/setup-smalltalkCI@v1
1730
with:
1831
smalltalk-image: ${{ matrix.smalltalk }}

.github/workflows/markdown-lint.yml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
11
name: Markdown Lint
2-
on: [push,pull_request,workflow_dispatch]
2+
on:
3+
- push
4+
- pull_request
5+
- workflow_dispatch
36
jobs:
47
remark-lint:
58
name: runner / markdownlint
69
runs-on: ubuntu-latest
710
steps:
8-
- uses: actions/checkout@v2
11+
- uses: actions/checkout@v4
912
- name: markdownlint
1013
uses: reviewdog/[email protected]
1114
with:

.github/workflows/unit-tests.yml

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,21 @@
11
name: Unit Tests
2-
3-
on: [push,pull_request,workflow_dispatch]
4-
2+
on:
3+
- push
4+
- pull_request
5+
- workflow_dispatch
56
jobs:
67
build:
78
runs-on: ubuntu-latest
89
strategy:
910
matrix:
10-
smalltalk: [ Pharo64-10 ]
11+
smalltalk:
12+
- Pharo64-10
13+
- Pharo64-11
14+
- Pharo64-12
15+
- Pharo64-13
1116
name: Unit Tests / ${{ matrix.smalltalk }}
1217
steps:
13-
- uses: actions/checkout@v2
18+
- uses: actions/checkout@v4
1419
- name: Set up Smalltalk CI
1520
uses: hpi-swa/setup-smalltalkCI@v1
1621
with:
@@ -21,7 +26,7 @@ jobs:
2126
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
2227
timeout-minutes: 15
2328
- name: Upload coverage to Codecov
24-
uses: codecov/codecov-action@v3
29+
uses: codecov/codecov-action@v5
2530
with:
2631
name: Unit-Tests-${{matrix.smalltalk}}
2732
token: ${{ secrets.CODECOV_TOKEN }}

.project

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
{
2-
'srcDirectory' : 'source'
2+
'srcDirectory' : 'source',
3+
'tags': [ 'Mercap' ]
34
}

.properties

Lines changed: 0 additions & 3 deletions
This file was deleted.

.smalltalkci/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
coverage/*

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
MIT License
22

3-
Copyright (c) 2022 Mercap Software
3+
Copyright (c) 2022-2025 Mercap Software
44

55
Permission is hereby granted, free of charge, to any person obtaining a copy
66
of this software and associated documentation files (the "Software"), to deal

README.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@ includes as dependencies: Stargate, Sagan, Kepler and Launchpad
1010

1111
[![GitHub release](https://img.shields.io/github/release/mercap/Persistent-API-Skeleton.svg)](https://github.com/mercap/Persistent-API-Skeleton/releases/latest)
1212
[![Pharo 10](https://img.shields.io/badge/Pharo-10-informational)](https://pharo.org)
13+
[![Pharo 11](https://img.shields.io/badge/Pharo-11-informational)](https://pharo.org)
14+
[![Pharo 12](https://img.shields.io/badge/Pharo-12-informational)](https://pharo.org)
15+
[![Pharo 13](https://img.shields.io/badge/Pharo-13-informational)](https://pharo.org)
1316

1417
## Quick links
1518

@@ -24,7 +27,7 @@ includes as dependencies: Stargate, Sagan, Kepler and Launchpad
2427

2528
## Installation
2629

27-
To load the project in a Pharo image follow this [instructions](docs/how-to/how-to-load-in-pharo.md).
30+
To load the project in a Pharo image follow these [instructions](docs/how-to/how-to-load-in-pharo.md).
2831

2932
## Contributing
3033

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,18 @@
11
Class {
2-
#name : #APISkeletonCollectionExtensionsTest,
3-
#superclass : #TestCase,
4-
#category : #'API-Skeleton-Tests'
2+
#name : 'APISkeletonCollectionExtensionsTest',
3+
#superclass : 'TestCase',
4+
#category : 'API-Skeleton-Tests',
5+
#package : 'API-Skeleton-Tests'
56
}
67

7-
{ #category : #tests }
8+
{ #category : 'tests' }
89
APISkeletonCollectionExtensionsTest >> testAssociationArrayAsNeoJSON [
910

10-
self assert: { 'a' -> 'b' } asNeoJSON a equals: 'b'
11+
self assert: { 'a' -> 'b' } asNeoJSON a equals: 'b'
1112
]
1213

13-
{ #category : #tests }
14+
{ #category : 'tests' }
1415
APISkeletonCollectionExtensionsTest >> testDictionaryAsNeoJSON [
1516

16-
self assert: { #key -> 'value' } asDictionary asNeoJSON key equals: 'value'
17+
self assert: { #key -> 'value' } asDictionary asNeoJSON key equals: 'value'
1718
]
Lines changed: 31 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,41 @@
11
Class {
2-
#name : #APISkeletonHTTPClientErrorExtensionsTest,
3-
#superclass : #TestCase,
4-
#pools : [
5-
'JRPCConstantsSharedPool'
6-
],
7-
#category : #'API-Skeleton-Tests'
2+
#name : 'APISkeletonHTTPClientErrorExtensionsTest',
3+
#superclass : 'TestCase',
4+
#category : 'API-Skeleton-Tests',
5+
#package : 'API-Skeleton-Tests'
86
}
97

10-
{ #category : #tests }
8+
{ #category : 'tests' }
119
APISkeletonHTTPClientErrorExtensionsTest >> testHTTPClientErrorAsJRPCResponse [
1210

13-
self
14-
should: [ HTTPClientError badRequest signal: 'Bad Request' ]
15-
raise: HTTPClientError badRequest
16-
withExceptionDo: [ :error |
17-
| response |
18-
19-
response := error asJRPCResponse.
20-
self
21-
assert: response isError;
22-
assert: response error code equals: InternalError;
23-
assert: response error message equals: 'Internal JSON-RPC error.';
24-
assert: (response error data at: 'errorClass') equals: 'HTTPClientError';
25-
assert: (response error data at: 'messageText') equals: 'Bad Request';
26-
assert: (response error data at: 'code') equals: '400'
27-
]
11+
self
12+
should: [ HTTPClientError badRequest signal: 'Bad Request' ]
13+
raise: HTTPClientError badRequest
14+
withExceptionDo: [ :error |
15+
| response |
16+
response := error asJRPCResponse.
17+
self
18+
assert: response isError;
19+
assert: response error code equals: JRPCConstants internalErrorCode;
20+
assert: response error message equals: 'Internal JSON-RPC error.';
21+
assert: ( response error data at: 'errorClass' ) equals: 'HTTPClientError';
22+
assert: ( response error data at: 'messageText' ) equals: 'Bad Request';
23+
assert: ( response error data at: 'code' ) equals: '400'
24+
]
2825
]
2926

30-
{ #category : #tests }
27+
{ #category : 'tests' }
3128
APISkeletonHTTPClientErrorExtensionsTest >> testUnprocessableEntityAsJRPCResponse [
3229

33-
self
34-
should: [ HTTPClientError unprocessableEntity signal: 'Invalid parameter format' ]
35-
raise: HTTPClientError unprocessableEntity
36-
withExceptionDo: [ :error |
37-
| response |
38-
39-
response := error asJRPCResponse.
40-
self
41-
assert: response isError;
42-
assert: response error code equals: InvalidParams;
43-
assert: response error message equals: 'Invalid parameter format'
44-
]
30+
self
31+
should: [ HTTPClientError unprocessableEntity signal: 'Invalid parameter format' ]
32+
raise: HTTPClientError unprocessableEntity
33+
withExceptionDo: [ :error |
34+
| response |
35+
response := error asJRPCResponse.
36+
self
37+
assert: response isError;
38+
assert: response error code equals: JRPCConstants invalidParametersErrorCode;
39+
assert: response error message equals: 'Invalid parameter format'
40+
]
4541
]

0 commit comments

Comments
 (0)