Skip to content

Squashed commit of the following: #257

Squashed commit of the following:

Squashed commit of the following: #257

Workflow file for this run

name: main
on:
push:
pull_request:
schedule:
- cron: "15 2 23 * *" #run job on the 23rd day of every month on the 15th minute of the 2nd hour
jobs:
build:
strategy:
fail-fast: false
matrix:
os: [ ubuntu-20.04, ubuntu-22.04 ]
smalltalk: [ 3.6.6, 3.6.8, 3.7.0, 3.7.1 ]
include:
- smalltalk: 3.7.1
os: macos-14
#- smalltalk: 3.7.0
# os: macos-13
#- smalltalk: 3.7.0
# os: macos-12
- smalltalk: 3.6.8
os: macos-13
- smalltalk: 3.6.8
os: macos-12
- smalltalk: 3.6.6
os: macos-13
- smalltalk: 3.6.6
os: macos-12
runs-on: ${{ matrix.os }}
env:
GS_VERS: ${{ matrix.smalltalk }}
PLATFORM: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: install superDoit
run: |
# required files and directories for GemStone
sudo mkdir /opt/gemstone
sudo chmod oug+rwx /opt/gemstone
sudo mkdir /opt/gemstone/locks
sudo chmod oug+rwx /opt/gemstone/locks
# set up the basic env vars from which all other paths are derived
export CI="true"
echo "CI=$CI"
echo "CI=true" >> "$GITHUB_ENV"
export WORK_ROOT="$GITHUB_WORKSPACE/.."
echo "WORK_ROOT=$GITHUB_WORKSPACE/.." >> "$GITHUB_ENV"
export GSDEVKIT_STONES_ROOT=$GITHUB_WORKSPACE
echo "GSDEVKIT_STONES_ROOT=$GITHUB_WORKSPACE" >> "$GITHUB_ENV"
# clones superDoit and installs 3.7.0 to be used for .solo scripts
case "$GS_VERS" in
3.7.1)
# use 3.7.1 ...
$GSDEVKIT_STONES_ROOT/bin/install.sh $GS_VERS
;;
*)
# 3.7.0 is the default
$GSDEVKIT_STONES_ROOT/bin/install.sh
;;
esac
export SUPERDOIT_ROOT=$WORK_ROOT/superDoit
echo "SUPERDOIT_ROOT=$WORK_ROOT/superDoit"
echo "SUPERDOIT_ROOT=$WORK_ROOT/superDoit" >> "$GITHUB_ENV"
echo " ls -altr $WORK_ROOT "
ls -altr $WORK_ROOT
echo " ls -altr $WORK_ROOT/.. "
ls -altr $WORK_ROOT/..
echo " ls -altr $GSDEVKIT_STONES_ROOT "
ls -altr $GSDEVKIT_STONES_ROOT
echo " ls -altr $SUPERDOIT_ROOT "
ls -altr $SUPERDOIT_ROOT
echo " ls -altr $SUPERDOIT_ROOT/bin "
ls -altr $SUPERDOIT_ROOT/bin
echo " ls -altr $SUPERDOIT_ROOT/dev "
ls -altr $SUPERDOIT_ROOT/dev
# configure shared memory on mac hosts
$SUPERDOIT_ROOT/dev/setSharedMemory.sh
- name: setup GsDevKit_stones
run: |
echo "CI=$CI"
echo "SUPERDOIT_ROOT=$SUPERDOIT_ROOT"
echo "GSDEVKIT_STONES_ROOT=$GSDEVKIT_STONES_ROOT"
echo "GITHUB_WORKSPACE=$GITHUB_WORKSPACE"
echo "CI=true" >> "$GITHUB_ENV"
echo "WORK_ROOT=$WORK_ROOT"
mkdir $WORK_ROOT/STONES_DATA_HOME
export STONES_DATA_HOME="$WORK_ROOT/STONES_DATA_HOME"
echo "STONES_DATA_HOME=$WORK_ROOT/STONES_DATA_HOME" >> "$GITHUB_ENV"
echo "STONES_DATA_HOME=$STONES_DATA_HOME"
mkdir $WORK_ROOT/STONES_HOME
export STONES_HOME="$WORK_ROOT/STONES_HOME"
echo "STONES_HOME=$WORK_ROOT/STONES_HOME" >> "$GITHUB_ENV"
echo "STONES_HOME=$STONES_HOME"
mkdir $STONES_HOME/git
export STONES_git=$STONES_HOME/git
echo "STONES_git=$STONES_HOME/git" >> "$GITHUB_ENV"
mkdir $STONES_HOME/gemstone
export STONES_gemstone=$STONES_HOME/gemstone
echo "STONES_gemstone=$STONES_HOME/gemstone" >> "$GITHUB_ENV"
export PATH=$SUPERDOIT_ROOT/bin:$GSDEVKIT_STONES_ROOT/bin:$PATH
echo "PATH=$SUPERDOIT_ROOT/bin:$GSDEVKIT_STONES_ROOT/bin:$PATH" >> "$GITHUB_ENV"
echo "SUPERDOIT_ROOT/bin"
ls -altr $SUPERDOIT_ROOT/bin
echo "GSDEVKIT_STONES_ROOT/bin"
ls -altr $GSDEVKIT_STONES_ROOT/bin
echo "PATH=$PATH"
echo "WORK_ROOT"
ls -altr $WORK_ROOT
echo "GITHUB_WORKSPACE"
ls -altr $GITHUB_WORKSPACE
echo "STONES_DATA_HOME"
ls -altr $STONES_DATA_HOME
echo "STONES_HOME"
ls -altr $STONES_HOME
echo "versionReport.solo"
versionReport.solo
echo "createRegistry.solo"
createRegistry.solo _stones
echo "createProjectSet.solo"
createProjectSet.solo --registry=_stones --projectSet=_stones --from=$GSDEVKIT_STONES_ROOT/projectSets/https/_stones.ston
echo "cloneProjectsFromProjectSet.solo"
cloneProjectsFromProjectSet.solo --registry=_stones --projectSet=_stones --projectDirectory=$STONES_git --update
gslist.solo -l
shell: bash
- name: run help test
run: |
echo "CI=$CI"
echo "SUPERDOIT_ROOT=$SUPERDOIT_ROOT"
echo "GSDEVKIT_STONES_ROOT=$GSDEVKIT_STONES_ROOT"
echo "GITHUB_WORKSPACE=$GITHUB_WORKSPACE"
echo "WORK_ROOT=$WORK_ROOT"
echo "STONES_DATA_HOME=$STONES_DATA_HOME"
echo "STONES_HOME=$STONES_HOME"
$GSDEVKIT_STONES_ROOT/tests/test_help.sh
shell: bash
- name: run project set tests
run: |
echo "CI=$CI"
$GSDEVKIT_STONES_ROOT/tests/test_projectSets.sh
shell: bash
- name: run default registry test
run: |
echo "CI=$CI"
$GSDEVKIT_STONES_ROOT/tests/test_defaultRegistry.sh
gslist.solo -lc
deleteRegistry.solo `hostname` -f
gslist.solo -l
shell: bash
- name: run tODE test
run: |
echo "CI=$CI"
$GSDEVKIT_STONES_ROOT/tests/test_tode.sh
gslist.solo -lc
deleteRegistry.solo devkit -f
gslist.solo -l
slack-workflow-status:
if: always()
name: Post Workflow Status To Slack
needs:
- build
runs-on: ubuntu-20.04
steps:
- name: Slack Workflow Notification
uses: Gamesight/slack-workflow-status@master
with:
repo_token: ${{secrets.GITHUB_TOKEN}}
slack_webhook_url: ${{secrets.SLACK_DALEHENRICH}}
name: 'action run'