Skip to content

Commit

Permalink
Update docs and remove Pharo 8 and 9 support
Browse files Browse the repository at this point in the history
  • Loading branch information
gcotelli committed Sep 28, 2023
1 parent d6cdf37 commit 661eb20
Show file tree
Hide file tree
Showing 8 changed files with 58 additions and 13 deletions.
2 changes: 0 additions & 2 deletions .github/workflows/loading-groups.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,6 @@ jobs:
fail-fast: false
matrix:
smalltalk:
- Pharo64-8.0
- Pharo64-9.0
- Pharo64-10
- Pharo64-11
load-spec:
Expand Down
2 changes: 0 additions & 2 deletions .github/workflows/unit-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,6 @@ jobs:
fail-fast: false
matrix:
smalltalk:
- Pharo64-8.0
- Pharo64-9.0
- Pharo64-10
- Pharo64-11
name: ${{ matrix.smalltalk }}
Expand Down
10 changes: 7 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,22 @@

Stargate is a library supporting the creation of HTTP based RESTful APIs.

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

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

[![GitHub release](https://img.shields.io/github/release/ba-st/Stargate.svg)](https://github.com/ba-st/Stargate/releases/latest)
[![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.7.0](https://img.shields.io/badge/GS64-3.7.0-informational)](https://gemtalksystems.com/products/gs64/)

Quick links

- [**Explore the docs**](docs/README.md)
Expand Down
34 changes: 34 additions & 0 deletions docs/MigrationGuide.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,39 @@
# Migration Guide

## Migration from v7/8 to v9

- Pharo 8 and 9 support is deprecated, use Pharo 10 or 11.
- `StargateApplication class >> #applicationBaselineName` is replaced by
`#projectName`.
- For Pharo it will be concatenated to `BaselineOf` to
search for the Baseline package when initializing the version.
- For GS64 it will be used as the project name to search in the Rowan
registry.
- `StargateApplication>>#stackTraceDumper` changed the default
implementation to create a `StackTraceTextDumper` instead of the
binary version. If you want to continue using the dumper as before,
reimplement it with:
```smalltalk
stackTraceDumper
^ StackTraceBinarySerializer on: [ :dumpAction |
self class fileReferenceToDumpStackTrace binaryWriteStreamDo: dumpAction ]
```
- `StargateApplication class >> fileReferenceToDumpStackTrace` changed
the file naming convention. Now the produced file includes:
- the command name used to start the application
- the current timestamp
- a UUID encoded in Base-36

The new implementation will also check that the file to use doesn't
exist before dumping information on it.
- `stackTraceDumpExtension` is introduced in `StargateApplication` so
users can now specify a different file extension for the trace dumps.
- This version adds support for GemStone/S 64 bits 3.7.0, keep
in mind that `String` and `Symbol` instances do not compare for equality
like Pharo. Be careful when accessing header names in the request or
response abstractions, for maximum compatibility strings must be used as keys.

## Migration from v6 to v7

- Pharo 7 support is now deprecated, use Pharo 8 or 9.
Expand Down
1 change: 1 addition & 0 deletions docs/reference/ApplicationInfo.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ Dictionary new
Available information providers:

- `application` Reports the application name, description, and version
- `gs64` Reports information about the Gem, Shared Page Cache and Stone
- `pharo` Reports information about the Pharo image and VM
- `os` Reports information about the underlying operating system

Expand Down
4 changes: 3 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

Stargate includes the following groups in its Baseline that can be used as
loading targets:
Expand Down
9 changes: 8 additions & 1 deletion docs/reference/Metrics.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,21 @@ Dictionary new

To get a list of supported metric providers print the result of `MetricProvider allProviderNames`.

Available metric providers:
Available metric providers for Pharo:

- `memory` gathers metrics over the allocated memory (total, old space, free
old space, eden space, young space)
- `garbage collection` gathers metrics over the garbage collector (time spent
on garbage collection, invocation count and tenure count)
- `running system` gathers information over the running system (uptime,
process count by status and priority, external semaphore table data)

Available metric providers for GS64:

- `running gem` gathers information over the running gem (process count by status and priority)

Available metric providers for Pharo and GS64

- `http` (optional group) gathers information over the incoming HTTP requests
(request count, request duration, response size by HTTP method, response code,
URL and URL template). The categories used for the breakdown can be filtered
Expand Down
9 changes: 5 additions & 4 deletions docs/reference/Skeleton.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@ YourApplication class>>initialize
<ignoreForCoverage>
self initializeVersion
YourApplication class>>applicationBaselineName
YourApplication class>>projectName
^#BaselineOfYourApplication
^#YourApplication
YourApplication class>>commandName
Expand Down Expand Up @@ -52,12 +52,13 @@ String streamContents: [ :s | YourApplication printHelpOn: s].
### Stack trace generation

By default, stack traces are written in a `logs` directory relative to
the image's working directory in a filename whose name is `app-name-YYYY-MM-DD_HH-MM-SS.MS`,
and in `Fuel` format.
the image's working directory in a filename whose name is `app-name-YYYY-MM-DD_HH-MM-SS_uuid-as-base36.dump`.

- To change the stack trace location, re-implement the `logsDirectory` class method.
- To change the stack trace file name, re-implement `fileReferenceToDumpStackTrace`
class method
- To change the stack trace file extension, re-implement
`stackTraceDumpExtension` class method
- To change the dump format, re-implement `stackTraceDumper` instance method

### Additional configuration parameters
Expand Down

0 comments on commit 661eb20

Please sign in to comment.