Skip to content

Commit

Permalink
update GemStone builds to run on Ubuntu 20.04 and macos-latest (#593)
Browse files Browse the repository at this point in the history
* dalehenrich/superDoit#63: checkpoint ... begin converting gemstone/run/sh to use superDoit and GsDevKit_stones

* dalehenrich/superDoit#63: checkpoint ...superDoit and GsDevKit_stones installed ... create smalltalk CI stone is next up along with clone default projects

* dalehenrich/superDoit#63: checkpoint ... stone directory created ... a bit of cleanup and start stone is next up

* dalehenrich/superDoit#63: checkpoint ... superDoit and GsDevKit_stones should be in the repos dir

* dalehenrich/superDoit#63: can't use ssh urls for git repositories on github without magic ssh keys

* dalehenrich/superDoit#63: add superDoit/examples/utility to PATH, so versionReport.solo will run

* dalehenrich/superDoit#63: run test for 3.5.0 on 20.04

* dalehenrich/superDoit#63: run test for 3.6.5 only on 20.04

* dalehenrich/superDoit#63: successfully starting stone running run.sh locally

* dalehenrich/superDoit#63: without GsDevKit_home, need to setup system for running GemStone

* dalehenrich/superDoit#63: tweak gemstone/run.sh ... pare down the lineup (cross fingers)

* dalehenrich/superDoit#63 pare down lineup even further

* dalehenrich/superDoit#63: eliminate duplication

* dalehenrich/superDoit#63: force build

* dalehenrich/superDoit#63: force build .. be more devious

* dalehenrich/superDoit#63: looks like macos-11 is the latest version for GemStone

* dalehenrich/superDoit#63: just run macos-11

* dalehenrich/superDoit#63: remove the --debugGem from run.sh

* dalehenrich/superDoit#63: back to running with ubuntu 20.04 and latest mac

* dalehenrich/superDoit#63: a little bit of logging ... is realpath really needed?

* dalehenrich/superDoit#63: need to fabricate a local variable with the name of the product that is corrected for the current PLATFORM

* dalehenrich/superDoit#63: isolate the mac

* dalehenrich/superDoit#63: macos-latest and ubuntu-20.04 fail at the same spot ... on equal footing now

* dalehenrich/superDoit#63: add use new registerProductDirectory.solo and downloadGemStone.solo scripts

* dalehenrich/superDoit#63: fix shell syntax error

* dalehenrich/superDoit#63: macos-latest test

* dalehenrich/superDoit#63: macos-11 test ... where I tested things

* dalehenrich/superDoit#63: create devkit project set ... prep for cloning projects and project load [ci skip]

* dalehenrich/superDoit#63: now cloning devkit projects [ci skip]

* dalehenrich/superDoit#63: use loadTode.stone script to (successfully load tODE into stone) ... next up run the tests ...

* dalehenrich/superDoit#63: implement gemstone::load_project and gemstone::test_project run.sh functions; SmalltalkCI project loaded and tests run ... sent but not implemented test failures from superDoit

* dalehenrich/superDoit#63: remove some debugging; shut down stone; expect to see 'Executed 53 Tests with 1 Failures and 0 Errors in 0.85s.'

* dalehenrich/superDoit#63: add --gs-DEBUG option for interactive debugging of .solo/.stone scripts ... all tests passing on 20.04 and 3.6.5

* dalehenrich/superDoit#63: run test on macos runners

* smalltalkCI tests pass interactively on OX X 10.15.6

* dalehenrich/superDoit#63: host name and shared memory logging

* dalehenrich/superDoit#63: shared memory fiddling

* dalehenrich/superDoit#63: shared memory fiddling

* dalehenrich/superDoit#63: shared memory fiddling

* dalehenrich/superDoit#63: shared memory fiddling

* dalehenrich/superDoit#63: bash fiddling

* dalehenrich/superDoit#63: bash fiddling

* dalehenrich/superDoit#63: bash fiddling

* dalehenrich/superDoit#63: bash fiddling

* dalehenrich/superDoit#63: bash fiddling

* dalehenrich/superDoit#63: ubuntu-20.04 and macos-10.15, now passing ... check status of macos-12 and macos-11

* dalehenrich/superDoit#63: GemStone64-3.6.5 and GemStone64-3.5.8 don't run on windows and we'll see about GemStone64-3.5.8 on macos-latest

* pare back the lineup to gemstone only

* dalehenrich/superDoit#63: pare back the lineup to gemstone ranges that run on 20.04 and macos

* dalehenrich/superDoit#63: now use dalehenrich-setup-smalltalkCI, so I can test independent repos

* dalehenrich/superDoit#63: pare back lineup for testing

* dalehenrich/superDoit#63: adjust cloneProjectsFromProjectSet.solo call for changes to options

* dalehenrich/superDoit#63: make a pass adjusting GsDevKit_stone .solo script arguments to make more sense and eliminate use of smalltalkCI specific environment variables in said scripts

* dalehenrich/superDoit#63: update GemStone-specific options help [ci skip]

* dalehenrich/superDoit#63: add SCIGemStoneTestReporterFile for generating file-based reports

* dalehenrich/superDoit#63: checkpoint ... control flow logging

* dalehenrich/superDoit#63: only write report to stdout, if a report file is NOT specified

* dalehenrich/superDoit#63: eliminate double file write ... logging

* dalehenrich/superDoit#63: use GsFile class>>stdout

* dalehenrich/superDoit#63: debugging ...drat

* dalehenrich/superDoit#63: remove waitForDebug call

* dalehenrich/superDoit#63: add --gs-STONE_DIR option to designate an alternate stone directory to use

* dalehenrich/superDoit#63: if stone not started by gemstone/run.sh, don't stop it

* dalehenrich/superDoit#63: use alternate expression to determine if $GEMSTONE has been set for github actions

* dalehenrich/superDoit#63: restore pharo/squeak/windows builds

* address 'line 535: config_tracking: unbound variable' error that popped up

* fix typo

* update README and help for GemStone ... remove Moose since they seem to consistently fail

* pare lineup to just GemStone jobs ... isolate this config_smalltalk: unbound variable error

* issue #591: update main.yml for hpi-swa-smalltalkCI

* issue #591: comment out GToolKit ... it seems to randomly fail on windows and mac before GemStone jobs can finish

* issue #591: restore GToolkit64-release to lineup

* Issue #591: revert the +set patch, since other changes should obviate the need for the hack

* Issue #591: add GToolKit to allowed failures list

* List GemStone images in descending order [ci skip]

---------

Co-authored-by: Fabio Niephaus <[email protected]>
  • Loading branch information
dalehenrich and fniephaus authored Apr 14, 2023
1 parent a370792 commit 060ffb9
Show file tree
Hide file tree
Showing 19 changed files with 359 additions and 318 deletions.
22 changes: 15 additions & 7 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,13 @@ jobs:
- Moose64-10
- Moose64-9.0
- Moose64-8.0
- GemStone64-3.5.3
- GemStone64-3.5.8
- GemStone64-3.6.0
- GemStone64-3.6.5
- GToolkit64-release
timeout-minutes: [ 15 ]
exclude: # exclude 32bit builds on macOS
exclude: # exclude 32bit builds on macOS and GemStone builds on windows
- os: macos-latest
smalltalk: Squeak32-trunk
- os: macos-latest
Expand All @@ -63,10 +67,14 @@ jobs:
smalltalk: Pharo64-10
- os: windows-2019
smalltalk: Pharo64-6.0
# include:
# - os: ubuntu-18.04
# smalltalk: GemStone64-3.5.0
# timeout-minutes: 30
- os: windows-2019
smalltalk: GemStone64-3.5.3
- os: windows-2019
smalltalk: GemStone64-3.5.8
- os: windows-2019
smalltalk: GemStone64-3.6.0
- os: windows-2019
smalltalk: GemStone64-3.6.5
runs-on: ${{ matrix.os }}
name: ${{ matrix.smalltalk }} on ${{ matrix.os }}
steps:
Expand All @@ -80,14 +88,14 @@ jobs:
tests/all_tests.sh
bin/smalltalkci -s ${{ matrix.smalltalk }} --self-test
shell: bash
if: contains(matrix.smalltalk, 'trunk') == false && contains(matrix.smalltalk, 'alpha') == false && contains(matrix.smalltalk, 'Squeak32-6.0') == false
if: contains(matrix.smalltalk, 'trunk') == false && contains(matrix.smalltalk, 'alpha') == false && contains(matrix.smalltalk, 'Squeak32-6.0') == false && contains(matrix.smalltalk, 'GToolkit64') == false
timeout-minutes: ${{ matrix.timeout-minutes }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Run smalltalkCI self test and ignore failures
run: bin/smalltalkci -s ${{ matrix.smalltalk }} --self-test || true
shell: bash
if: contains(matrix.smalltalk, 'trunk') || contains(matrix.smalltalk, 'alpha') || contains(matrix.smalltalk, 'Squeak32-6.0')
if: contains(matrix.smalltalk, 'trunk') || contains(matrix.smalltalk, 'alpha') || contains(matrix.smalltalk, 'Squeak32-6.0') || contains(matrix.smalltalk, 'GToolkit64')
timeout-minutes: ${{ matrix.timeout-minutes }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
21 changes: 10 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,13 +74,13 @@ they can take up a lot of space on your drive.*

| [Squeak][squeak] | [Pharo][pharo] | [GemStone][gemstone] | [Moose][moose] | [GToolkit][gtoolkit] |
| ---------------- | ---------------- | -------------------- | --------------- | -------------------- |
| `Squeak64-trunk` | `Pharo64-alpha` | `GemStone64-3.5.x` | `Moose64-trunk` | `GToolkit64-release` |
| `Squeak64-6.0` | `Pharo64-stable` | `GemStone64-3.4.x` | `Moose64-10` | |
| `Squeak64-5.3` | `Pharo64-11` | `GemStone64-3.3.x` | `Moose64-9.0` | |
| `Squeak64-5.2` | `Pharo64-10` | `GemStone64-3.2.x` | `Moose64-8.0` | |
| `Squeak64-5.1` | `Pharo64-9.0` | `GemStone64-3.1.0.x` | `Moose64-7.0` | |
| `Squeak32-trunk` | `Pharo64-8.0` | `Gemstone64-2.4.x` | `Moose32-trunk` | |
| `Squeak32-6.0` | `Pharo64-7.0` | | `Moose32-6.1` | |
| `Squeak64-trunk` | `Pharo64-alpha` | `GemStone64-3.6.x` | `Moose64-trunk` | `GToolkit64-release` |
| `Squeak64-6.0` | `Pharo64-stable` | `GemStone64-3.5.8` | `Moose64-10` | |
| `Squeak64-5.3` | `Pharo64-11` | `GemStone64-3.5.7` | `Moose64-9.0` | |
| `Squeak64-5.2` | `Pharo64-10` | `GemStone64-3.5.6` | `Moose64-8.0` | |
| `Squeak64-5.1` | `Pharo64-9.0` | `GemStone64-3.5.5` | `Moose64-7.0` | |
| `Squeak32-trunk` | `Pharo64-8.0` | `Gemstone64-3.5.4` | `Moose32-trunk` | |
| `Squeak32-6.0` | `Pharo64-7.0` | `GemStone64-3.5.3` | `Moose32-6.1` | |
| `Squeak32-5.3` | `Pharo64-6.1` | | `Moose32-6.0` | |
| `Squeak32-5.2` | `Pharo32-6.0` | | | |
| `Squeak32-5.1` | `Pharo32-alpha` | | | |
Expand All @@ -95,7 +95,6 @@ they can take up a lot of space on your drive.*
| | `Pharo32-5.0` | | | |
| | `Pharo32-4.0` | | | |
| | `Pharo32-3.0` | | | |
| | | | | |


## Templates
Expand Down Expand Up @@ -178,9 +177,9 @@ smalltalk:
- Pharo32-stable
- Pharo32-6.1
# ...
- GemStone64-3.3.2
- GemStone64-3.2.12
- GemStone64-3.1.0.6
- GemStone64-3.5.3
- GemStone64-3.6.0
- GemStone64-3.6.5
# ...

# Override `script` to customize smalltalkCI invocation, e.g.:
Expand Down
16 changes: 16 additions & 0 deletions gemstone/doc.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
cp $GEMSTONE/bin/extent0.seaside.dbf extent0.dbf; chmod +w extent0.dbf

cp extent0_step_2.dbf extent0.dbf.
cp extent0_step_3.dbf extent0.dbf.
cp extent0_step_4.dbf extent0.dbf.

cp extent0_step_1.dbf extent0.dbf.
rm -rf tranlog*.*

startstone -e system.conf -z system.conf -l logs/smalltalkci.log smalltalkci
loadTode.stone -D

startnetldi -g -a dhenrich smalltalkci_ldi -P 36083 -l logs/netldi.log

stopstone smalltalkci DataCurator swordfish

Loading

0 comments on commit 060ffb9

Please sign in to comment.