have to do a fetch before a switch to make sure the branch is availab… #206
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 ] | |
smalltalk: [ 3.6.0, 3.6.1, 3.6.5, 3.6.6, 3.7.0 ] | |
include: | |
- smalltalk: 3.7.0 | |
os: ubuntu-22.04 | |
#- smalltalk: 3.7.0 | |
# os: macos-13 | |
#- smalltalk: 3.7.0 | |
# os: macos-12 | |
- smalltalk: 3.7.0 | |
os: macos-11 | |
- smalltalk: 3.6.6 | |
os: ubuntu-22.04 | |
- smalltalk: 3.6.6 | |
os: macos-13 | |
- smalltalk: 3.6.6 | |
os: macos-12 | |
- smalltalk: 3.6.6 | |
os: macos-11 | |
- smalltalk: 3.6.5 | |
os: macos-11 | |
- smalltalk: 3.6.1 | |
os: macos-11 | |
runs-on: ${{ matrix.os }} | |
env: | |
GS_VERS: ${{ matrix.smalltalk }} | |
PLATFORM: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v3 | |
- 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 | |
$GSDEVKIT_STONES_ROOT/bin/install.sh | |
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 rowanV3-alpha1 test | |
# run: | | |
# $GSDEVKIT_STONES_ROOT/tests/test_rowanV3_alpha.sh | |
# gslist.solo -lc | |
# deleteRegistry.solo test_rowanV3 -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 | |
# shell: bash | |
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' |