From 3cd8bf8105d8583fd0b9ac584b7beb11a9b15b2b Mon Sep 17 00:00:00 2001 From: Christoph Thiede Date: Tue, 16 Mar 2021 19:58:57 +0100 Subject: [PATCH 01/58] Remove Travis CI configuration --- .travis.yml | 45 --------------------------------------------- 1 file changed, 45 deletions(-) delete mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 9ef031ee..00000000 --- a/.travis.yml +++ /dev/null @@ -1,45 +0,0 @@ -language: smalltalk -services: -- docker - -env: - - SQUEAK_VERSION=Trunk - - SQUEAK_VERSION=5.3 - -smalltalk: "Squeak64-${SQUEAK_VERSION}" - -before_script: -- | # Ignore missing figures during PDF build - test $TRAVIS_BRANCH = master || export DEBUG_FIGURES=true -- set -o pipefail -script: -- smalltalkci .smalltalk.ston -- make | ./build_scripts/travis_fold Compiling PDF ... -- mv SBE.pdf "SBE_${SQUEAK_VERSION}.pdf" -- | # Upload PDF file to Google Drive - if [ "$TRAVIS_PULL_REQUEST" = false ] - then - ./build_scripts/gdrive.sh upload "SBE_${SQUEAK_VERSION}.pdf" - fi - -jobs: - include: - - stage: deploy - if: branch = master AND type = push - name: GitHub Release - env: SQUEAK_VERSION= - language: minimal - install: skip - script: ./build_scripts/gdrive.sh download - deploy: - provider: releases - file_glob: true - file: SBE_*.pdf - api_key: $GH_OAUTH_TOKEN - skip_cleanup: true - on: - all_branches: true - -notifications: - email: - if: type = cron From 84aa3a78cc9c856cafe3f8c7765d80d58b327e1f Mon Sep 17 00:00:00 2001 From: Christoph Thiede Date: Tue, 16 Mar 2021 19:59:25 +0100 Subject: [PATCH 02/58] Add GitHub workflow configuration MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Let's begin the CI testing! ๐Ÿš€ --- .github/workflows/build.yml | 128 ++++++++++++++++++++++++++++++++++++ 1 file changed, 128 insertions(+) create mode 100644 .github/workflows/build.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 00000000..91a4b520 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,128 @@ +name: ๐Ÿ“• Make Book + +on: + push: + schedule: + - cron: "0 0 * * 1" # every monday + +env: + os: ubuntu-latest + smalltalks: + - Trunk + - 5.3 + fail-fast: false # facilitates debugging + +jobs: + tests: + name: ๐Ÿž Internal tests [Squeak ${{ env.smalltalk }}] + runs-on: ${{ env.os }} + strategy: + fail-fast: ${{ env.fail-fast }} + matrix: + smalltalk: ${{ env.smalltalks }} + steps: + - uses: actions/checkout@v2 + - uses: hpi-swa/setup-smalltalkCI@v1 + with: + smalltalk-version: ${{ matrix.smalltalk }} + - name: Run SmalltalkSources tests + run: smalltalkci -s Squeak64-${{ matrix.smalltalk }} SBETests.smalltalk.ston + timeout-minutes: 15 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # for coverage reports + tex-assertions: + name: ๐Ÿงช Inline TEX assertions (@TEST) [Squeak ${{ matrix.smalltalk }}] + needs: tests + runs-on: ${{ env.os }} + strategy: + fail-fast: ${{ env.fail-fast }} + matrix: + smalltalk: ${{ env.smalltalks }} + steps: + - uses: actions/checkout@v2 + - uses: hpi-swa/setup-smalltalkCI@v1 + with: + smalltalk-version: ${{ matrix.smalltalk }} + - name: Run assertion tests + run: smalltalkci -s Squeak64-${{ matrix.smalltalk }} assertions.smalltalk.ston + timeout-minutes: 15 + listings: + name: ๐Ÿ“„ Collect listings from SmalltalkSources + runs-on: ${{ env.os }} + steps: + - uses: actions/checkout@v2 + - run: make listings + - name: Store listings + uses: actions/upload-artifact@master + with: + name: listings + path: ListingSources + figures: + name: ๐Ÿ–ผ Build Squeak figures [Squeak ${{ matrix.smalltalk }}] + needs: tests + runs-on: ${{ env.os }} + strategy: + fail-fast: ${{ env.fail-fast }} + matrix: + smalltalk: ${{ env.smalltalks }} + steps: + - uses: actions/checkout@v2 + - uses: hpi-swa/setup-smalltalkCI@v1 + with: + smalltalk-version: ${{ matrix.smalltalk }} + - name: Build figures + run: smalltalkci -s Squeak64-${{ matrix.smalltalk }} figures.smalltalk.ston + timeout-minutes: 15 + - name: Store figures + uses: actions/upload-artifact@master + with: + name: figures-${{ matrix.smalltalk }} + path: '**/figures/*.png' + build: + name: ๐Ÿ“– Build book [Squeak ${{ matrix.smalltalk }}] + needs: [listings, figures] + runs-on: ${{ env.os }} + strategy: + fail-fast: ${{ env.fail-fast }} + matrix: + smalltalk: ${{ env.smalltalks }} + steps: + - uses: actions/checkout@v2 + - name: Load listings + uses: actions/download-artifact@master + with: + name: listings + path: SmalltalkSources + - name: Load figures + uses: actions/download-artifact@master + with: + name: figures-${{ matrix.smalltalk }} + path: . + - name: Generate PDF + - uses: xu-cheng/latex-action@v2 + with: + root_file: SBE.tex + args: + - jobname: SBE-${{ matrix.smalltalk }}.pdf + env: + SQUEAK_VERSION: ${{ matrix.smalltalk }} + - name: Store book + uses: actions/upload-artifact@master + with: + name: book-${{ matrix.smalltalk }} + path: SBE-${{ matrix.smalltalk }}.pdf + notify: + name: ๐Ÿ“ฃ Notify community on failure + needs: [build, tex-assertions] + if: | + github.event_name == 'schedule' && ( + needs.build.result == 'failure' + || needs.tex-assertions.result == 'failure') + jobs: + - uses: voxmedia/github-action-slack-notify-build@v1 + with: + channel: squeak + status: FAILED + color: danger + env: + SLACK_BOT_TOKEN: ${{ secrets.SLACK_NOTIFICATIONS_BOT_TOKEN }} From 5b992271ceb146a959ec302573294d43fb3f13b5 Mon Sep 17 00:00:00 2001 From: Christoph Thiede Date: Tue, 16 Mar 2021 20:08:46 +0100 Subject: [PATCH 03/58] Fix syntax error (1) --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 91a4b520..a4eb2138 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -99,7 +99,7 @@ jobs: name: figures-${{ matrix.smalltalk }} path: . - name: Generate PDF - - uses: xu-cheng/latex-action@v2 + uses: xu-cheng/latex-action@v2 with: root_file: SBE.tex args: From b484dccd57f6d9b4532a8f1ee530cf6898c5cc77 Mon Sep 17 00:00:00 2001 From: Christoph Thiede Date: Tue, 16 Mar 2021 20:10:31 +0100 Subject: [PATCH 04/58] Fix syntax error (2) --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a4eb2138..fc16f022 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -118,7 +118,7 @@ jobs: github.event_name == 'schedule' && ( needs.build.result == 'failure' || needs.tex-assertions.result == 'failure') - jobs: + steps: - uses: voxmedia/github-action-slack-notify-build@v1 with: channel: squeak From 10b5984e1fe90f16969c1aba6ad20d1633fd4452 Mon Sep 17 00:00:00 2001 From: Christoph Thiede Date: Tue, 16 Mar 2021 20:11:16 +0100 Subject: [PATCH 05/58] Fix syntax error (3) --- .github/workflows/build.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index fc16f022..18d81c92 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -7,9 +7,7 @@ on: env: os: ubuntu-latest - smalltalks: - - Trunk - - 5.3 + smalltalks: [Trunk, 5.3] fail-fast: false # facilitates debugging jobs: From a4280ede3058bc5727cfd647efde2e831e892930 Mon Sep 17 00:00:00 2001 From: Christoph Thiede Date: Tue, 16 Mar 2021 20:12:17 +0100 Subject: [PATCH 06/58] Fix syntax error (4) --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 18d81c92..10402172 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -7,7 +7,7 @@ on: env: os: ubuntu-latest - smalltalks: [Trunk, 5.3] + smalltalks: "[Trunk, 5.3]" fail-fast: false # facilitates debugging jobs: From 6125688adfa92293bee0a80eac3529ee82f42d34 Mon Sep 17 00:00:00 2001 From: Christoph Thiede Date: Tue, 16 Mar 2021 20:15:32 +0100 Subject: [PATCH 07/58] Fix syntax error (5) --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 10402172..534c2ca4 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -12,7 +12,7 @@ env: jobs: tests: - name: ๐Ÿž Internal tests [Squeak ${{ env.smalltalk }}] + name: ๐Ÿž Internal tests [Squeak ${{ matrix.smalltalk }}] runs-on: ${{ env.os }} strategy: fail-fast: ${{ env.fail-fast }} From 34232ea55ed4caac8d2c12742e2b68a40eb72790 Mon Sep 17 00:00:00 2001 From: Christoph Thiede Date: Tue, 16 Mar 2021 20:21:41 +0100 Subject: [PATCH 08/58] Don't use env vars in job declarations at the moment The syntax is not yet implemented as described in https://github.community/t/how-to-set-and-access-a-workflow-variable/17335/6?u=linqlover. --- .github/workflows/build.yml | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 534c2ca4..18edb0d8 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -6,16 +6,19 @@ on: - cron: "0 0 * * 1" # every monday env: - os: ubuntu-latest + # not yet implemented: https://github.community/t/how-to-set-and-access-a-workflow-variable/17335/6?u=linqlover + # --- + # os: ubuntu-latest + # fail-fast: false # facilitates debugging + # --- smalltalks: "[Trunk, 5.3]" - fail-fast: false # facilitates debugging jobs: tests: name: ๐Ÿž Internal tests [Squeak ${{ matrix.smalltalk }}] - runs-on: ${{ env.os }} + runs-on: ubuntu-latest strategy: - fail-fast: ${{ env.fail-fast }} + fail-fast: false # facilitates debugging matrix: smalltalk: ${{ env.smalltalks }} steps: @@ -31,9 +34,9 @@ jobs: tex-assertions: name: ๐Ÿงช Inline TEX assertions (@TEST) [Squeak ${{ matrix.smalltalk }}] needs: tests - runs-on: ${{ env.os }} + runs-on: ubuntu-latest strategy: - fail-fast: ${{ env.fail-fast }} + fail-fast: false # facilitates debugging matrix: smalltalk: ${{ env.smalltalks }} steps: @@ -46,7 +49,7 @@ jobs: timeout-minutes: 15 listings: name: ๐Ÿ“„ Collect listings from SmalltalkSources - runs-on: ${{ env.os }} + runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - run: make listings @@ -58,9 +61,9 @@ jobs: figures: name: ๐Ÿ–ผ Build Squeak figures [Squeak ${{ matrix.smalltalk }}] needs: tests - runs-on: ${{ env.os }} + runs-on: ubuntu-latest strategy: - fail-fast: ${{ env.fail-fast }} + fail-fast: false # facilitates debugging matrix: smalltalk: ${{ env.smalltalks }} steps: @@ -79,9 +82,9 @@ jobs: build: name: ๐Ÿ“– Build book [Squeak ${{ matrix.smalltalk }}] needs: [listings, figures] - runs-on: ${{ env.os }} + runs-on: ubuntu-latest strategy: - fail-fast: ${{ env.fail-fast }} + fail-fast: false # facilitates debugging matrix: smalltalk: ${{ env.smalltalks }} steps: @@ -116,6 +119,7 @@ jobs: github.event_name == 'schedule' && ( needs.build.result == 'failure' || needs.tex-assertions.result == 'failure') + runs-on: ubuntu-latest steps: - uses: voxmedia/github-action-slack-notify-build@v1 with: From b5b40ca0b006a1477115436482640e43ca8a7055 Mon Sep 17 00:00:00 2001 From: Christoph Thiede Date: Tue, 16 Mar 2021 20:23:04 +0100 Subject: [PATCH 09/58] Complements 34232ea --- .github/workflows/build.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 18edb0d8..78f14c6e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -10,8 +10,8 @@ env: # --- # os: ubuntu-latest # fail-fast: false # facilitates debugging + # smalltalks: "[Trunk, 5.3]" # --- - smalltalks: "[Trunk, 5.3]" jobs: tests: @@ -20,7 +20,7 @@ jobs: strategy: fail-fast: false # facilitates debugging matrix: - smalltalk: ${{ env.smalltalks }} + smalltalk: [Trunk, 5.3] steps: - uses: actions/checkout@v2 - uses: hpi-swa/setup-smalltalkCI@v1 @@ -38,7 +38,7 @@ jobs: strategy: fail-fast: false # facilitates debugging matrix: - smalltalk: ${{ env.smalltalks }} + smalltalk: [Trunk, 5.3] steps: - uses: actions/checkout@v2 - uses: hpi-swa/setup-smalltalkCI@v1 @@ -65,7 +65,7 @@ jobs: strategy: fail-fast: false # facilitates debugging matrix: - smalltalk: ${{ env.smalltalks }} + smalltalk: [Trunk, 5.3] steps: - uses: actions/checkout@v2 - uses: hpi-swa/setup-smalltalkCI@v1 @@ -86,7 +86,7 @@ jobs: strategy: fail-fast: false # facilitates debugging matrix: - smalltalk: ${{ env.smalltalks }} + smalltalk: [Trunk, 5.3] steps: - uses: actions/checkout@v2 - name: Load listings From 193ac515af356cb60428f56b3873266f94f0b30b Mon Sep 17 00:00:00 2001 From: Christoph Thiede Date: Tue, 16 Mar 2021 20:24:17 +0100 Subject: [PATCH 10/58] Fix syntax error (6) --- .github/workflows/build.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 78f14c6e..0dd05253 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -5,13 +5,13 @@ on: schedule: - cron: "0 0 * * 1" # every monday -env: - # not yet implemented: https://github.community/t/how-to-set-and-access-a-workflow-variable/17335/6?u=linqlover - # --- - # os: ubuntu-latest - # fail-fast: false # facilitates debugging - # smalltalks: "[Trunk, 5.3]" - # --- +# not yet implemented: https://github.community/t/how-to-set-and-access-a-workflow-variable/17335/6?u=linqlover +# --- +#env: +# os: ubuntu-latest +# fail-fast: false # facilitates debugging +# smalltalks: "[Trunk, 5.3]" +# --- jobs: tests: From d7183fb837931d2edc7b8a24e832596628907fde Mon Sep 17 00:00:00 2001 From: Christoph Thiede Date: Tue, 16 Mar 2021 20:24:35 +0100 Subject: [PATCH 11/58] Fix syntax error (6) --- .github/workflows/build.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0dd05253..5baf50f1 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -8,10 +8,10 @@ on: # not yet implemented: https://github.community/t/how-to-set-and-access-a-workflow-variable/17335/6?u=linqlover # --- #env: -# os: ubuntu-latest -# fail-fast: false # facilitates debugging -# smalltalks: "[Trunk, 5.3]" -# --- +# os: ubuntu-latest +# fail-fast: false # facilitates debugging +# smalltalks: "[Trunk, 5.3]" +#--- jobs: tests: From 3ca6297036a30c6c3da87c4cca3bc314c2407184 Mon Sep 17 00:00:00 2001 From: Christoph Thiede Date: Tue, 16 Mar 2021 20:25:33 +0100 Subject: [PATCH 12/58] Fix syntax error (7) --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 5baf50f1..06a65440 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -104,7 +104,7 @@ jobs: with: root_file: SBE.tex args: - - jobname: SBE-${{ matrix.smalltalk }}.pdf + jobname: SBE-${{ matrix.smalltalk }}.pdf env: SQUEAK_VERSION: ${{ matrix.smalltalk }} - name: Store book From e13a14d70f4f13db6186d39cece51862094b1538 Mon Sep 17 00:00:00 2001 From: Christoph Thiede Date: Tue, 16 Mar 2021 20:28:39 +0100 Subject: [PATCH 13/58] Instead of passing latex jobname, rename PDF file after compilation --- .github/workflows/build.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 06a65440..ba78503c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -99,12 +99,12 @@ jobs: with: name: figures-${{ matrix.smalltalk }} path: . - - name: Generate PDF + - name: Compile PDF uses: xu-cheng/latex-action@v2 with: root_file: SBE.tex - args: - jobname: SBE-${{ matrix.smalltalk }}.pdf + - name: Rename PDF + run: mv SBE,{-${{ matrix.smalltalk }}}.pdf env: SQUEAK_VERSION: ${{ matrix.smalltalk }} - name: Store book From f9d95bc0b0d929b4eaeb28bd1ddad410391edcf3 Mon Sep 17 00:00:00 2001 From: Christoph Thiede Date: Tue, 16 Mar 2021 20:45:05 +0100 Subject: [PATCH 14/58] Fix smalltalk-version for setup-smalltalkCI --- .github/workflows/build.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ba78503c..29955a67 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -25,7 +25,7 @@ jobs: - uses: actions/checkout@v2 - uses: hpi-swa/setup-smalltalkCI@v1 with: - smalltalk-version: ${{ matrix.smalltalk }} + smalltalk-version: Squeak64-${{ matrix.smalltalk }} - name: Run SmalltalkSources tests run: smalltalkci -s Squeak64-${{ matrix.smalltalk }} SBETests.smalltalk.ston timeout-minutes: 15 @@ -43,7 +43,7 @@ jobs: - uses: actions/checkout@v2 - uses: hpi-swa/setup-smalltalkCI@v1 with: - smalltalk-version: ${{ matrix.smalltalk }} + smalltalk-version: Squeak64-${{ matrix.smalltalk }} - name: Run assertion tests run: smalltalkci -s Squeak64-${{ matrix.smalltalk }} assertions.smalltalk.ston timeout-minutes: 15 @@ -70,7 +70,7 @@ jobs: - uses: actions/checkout@v2 - uses: hpi-swa/setup-smalltalkCI@v1 with: - smalltalk-version: ${{ matrix.smalltalk }} + smalltalk-version: Squeak64-${{ matrix.smalltalk }} - name: Build figures run: smalltalkci -s Squeak64-${{ matrix.smalltalk }} figures.smalltalk.ston timeout-minutes: 15 From 158123335f314e1a07e4fc8345c1ff9d03711b0e Mon Sep 17 00:00:00 2001 From: Christoph Thiede Date: Tue, 16 Mar 2021 21:04:43 +0100 Subject: [PATCH 15/58] Move SBEScriptBuilderTest into separate SBE-Tests Simple separation of concerns ... --- .squot | 3 ++- SmalltalkSources/SBE-Tests.package/.filetree | 4 ++++ SmalltalkSources/SBE-Tests.package/.squot-contents | 5 +++++ .../SBEScriptBuilderTest.class/README.md | 0 .../instance/executeShould.inScopeOf.where..st | 0 .../instance/executeShould.inScopeOfDebuggerThat.thenDo..st | 0 .../SBEScriptBuilderTest.class/instance/expectedFailures.st | 0 .../instance/findDebuggersThat..st | 0 .../SBEScriptBuilderTest.class/instance/performTest.st | 0 .../SBEScriptBuilderTest.class/instance/setUp.st | 0 .../instance/should.raise.where..st | 0 .../instance/shouldOpenDebugger..st | 0 .../instance/shouldOpenDebugger.that.thenDo..st | 0 .../instance/shouldOpenDebugger.thenDo..st | 0 .../instance/shouldntMessUpProcesses..st | 0 .../instance/testAbandonDebugger.st | 0 .../instance/testHandleNotification.st | 0 .../SBEScriptBuilderTest.class/instance/testInform.st | 0 .../SBEScriptBuilderTest.class/instance/testNoop.st | 0 .../instance/testResumeDebugger.st | 0 .../instance/testResumeNotification.st | 0 .../SBEScriptBuilderTest.class/instance/testSimple.st | 0 .../SBEScriptBuilderTest.class/instance/testTerminate.st | 0 .../SBEScriptBuilderTest.class/instance/testYield.st | 0 .../SBEScriptBuilderTest.class/methodProperties.json | 0 .../SBEScriptBuilderTest.class/properties.json | 2 +- .../SBE-Tests.package/monticello.meta/categories.st | 1 + .../SBE-Tests.package/monticello.meta/initializers.st | 0 SmalltalkSources/SBE-Tests.package/properties.json | 2 ++ 29 files changed, 15 insertions(+), 2 deletions(-) create mode 100644 SmalltalkSources/SBE-Tests.package/.filetree create mode 100644 SmalltalkSources/SBE-Tests.package/.squot-contents rename SmalltalkSources/{SBE-Testing.package => SBE-Tests.package}/SBEScriptBuilderTest.class/README.md (100%) rename SmalltalkSources/{SBE-Testing.package => SBE-Tests.package}/SBEScriptBuilderTest.class/instance/executeShould.inScopeOf.where..st (100%) rename SmalltalkSources/{SBE-Testing.package => SBE-Tests.package}/SBEScriptBuilderTest.class/instance/executeShould.inScopeOfDebuggerThat.thenDo..st (100%) rename SmalltalkSources/{SBE-Testing.package => SBE-Tests.package}/SBEScriptBuilderTest.class/instance/expectedFailures.st (100%) rename SmalltalkSources/{SBE-Testing.package => SBE-Tests.package}/SBEScriptBuilderTest.class/instance/findDebuggersThat..st (100%) rename SmalltalkSources/{SBE-Testing.package => SBE-Tests.package}/SBEScriptBuilderTest.class/instance/performTest.st (100%) rename SmalltalkSources/{SBE-Testing.package => SBE-Tests.package}/SBEScriptBuilderTest.class/instance/setUp.st (100%) rename SmalltalkSources/{SBE-Testing.package => SBE-Tests.package}/SBEScriptBuilderTest.class/instance/should.raise.where..st (100%) rename SmalltalkSources/{SBE-Testing.package => SBE-Tests.package}/SBEScriptBuilderTest.class/instance/shouldOpenDebugger..st (100%) rename SmalltalkSources/{SBE-Testing.package => SBE-Tests.package}/SBEScriptBuilderTest.class/instance/shouldOpenDebugger.that.thenDo..st (100%) rename SmalltalkSources/{SBE-Testing.package => SBE-Tests.package}/SBEScriptBuilderTest.class/instance/shouldOpenDebugger.thenDo..st (100%) rename SmalltalkSources/{SBE-Testing.package => SBE-Tests.package}/SBEScriptBuilderTest.class/instance/shouldntMessUpProcesses..st (100%) rename SmalltalkSources/{SBE-Testing.package => SBE-Tests.package}/SBEScriptBuilderTest.class/instance/testAbandonDebugger.st (100%) rename SmalltalkSources/{SBE-Testing.package => SBE-Tests.package}/SBEScriptBuilderTest.class/instance/testHandleNotification.st (100%) rename SmalltalkSources/{SBE-Testing.package => SBE-Tests.package}/SBEScriptBuilderTest.class/instance/testInform.st (100%) rename SmalltalkSources/{SBE-Testing.package => SBE-Tests.package}/SBEScriptBuilderTest.class/instance/testNoop.st (100%) rename SmalltalkSources/{SBE-Testing.package => SBE-Tests.package}/SBEScriptBuilderTest.class/instance/testResumeDebugger.st (100%) rename SmalltalkSources/{SBE-Testing.package => SBE-Tests.package}/SBEScriptBuilderTest.class/instance/testResumeNotification.st (100%) rename SmalltalkSources/{SBE-Testing.package => SBE-Tests.package}/SBEScriptBuilderTest.class/instance/testSimple.st (100%) rename SmalltalkSources/{SBE-Testing.package => SBE-Tests.package}/SBEScriptBuilderTest.class/instance/testTerminate.st (100%) rename SmalltalkSources/{SBE-Testing.package => SBE-Tests.package}/SBEScriptBuilderTest.class/instance/testYield.st (100%) rename SmalltalkSources/{SBE-Testing.package => SBE-Tests.package}/SBEScriptBuilderTest.class/methodProperties.json (100%) rename SmalltalkSources/{SBE-Testing.package => SBE-Tests.package}/SBEScriptBuilderTest.class/properties.json (88%) create mode 100644 SmalltalkSources/SBE-Tests.package/monticello.meta/categories.st create mode 100644 SmalltalkSources/SBE-Tests.package/monticello.meta/initializers.st create mode 100644 SmalltalkSources/SBE-Tests.package/properties.json diff --git a/.squot b/.squot index caf4291d..093c099b 100644 --- a/.squot +++ b/.squot @@ -7,5 +7,6 @@ OrderedDictionary { 'SmalltalkSources\/SBE-Testing.package' : #SquotCypressCodeSerializer, 'SmalltalkSources\/SBE-Extract.package' : #SquotCypressCodeSerializer, 'SmalltalkSources\/BaselineOfSBE.package' : #SquotCypressCodeSerializer, - 'SmalltalkSources\/SBE-Monticello.package' : #SquotCypressCodeSerializer + 'SmalltalkSources\/SBE-Monticello.package' : #SquotCypressCodeSerializer, + 'SmalltalkSources\/SBE-Tests.package' : #SquotCypressCodeSerializer } \ No newline at end of file diff --git a/SmalltalkSources/SBE-Tests.package/.filetree b/SmalltalkSources/SBE-Tests.package/.filetree new file mode 100644 index 00000000..8998102c --- /dev/null +++ b/SmalltalkSources/SBE-Tests.package/.filetree @@ -0,0 +1,4 @@ +{ + "noMethodMetaData" : true, + "separateMethodMetaAndSource" : false, + "useCypressPropertiesFile" : true } diff --git a/SmalltalkSources/SBE-Tests.package/.squot-contents b/SmalltalkSources/SBE-Tests.package/.squot-contents new file mode 100644 index 00000000..239ddebb --- /dev/null +++ b/SmalltalkSources/SBE-Tests.package/.squot-contents @@ -0,0 +1,5 @@ +SquotTrackedObjectMetadata { + #objectClassName : #PackageInfo, + #objectsReplacedByNames : true, + #serializer : #SquotCypressCodeSerializer +} \ No newline at end of file diff --git a/SmalltalkSources/SBE-Testing.package/SBEScriptBuilderTest.class/README.md b/SmalltalkSources/SBE-Tests.package/SBEScriptBuilderTest.class/README.md similarity index 100% rename from SmalltalkSources/SBE-Testing.package/SBEScriptBuilderTest.class/README.md rename to SmalltalkSources/SBE-Tests.package/SBEScriptBuilderTest.class/README.md diff --git a/SmalltalkSources/SBE-Testing.package/SBEScriptBuilderTest.class/instance/executeShould.inScopeOf.where..st b/SmalltalkSources/SBE-Tests.package/SBEScriptBuilderTest.class/instance/executeShould.inScopeOf.where..st similarity index 100% rename from SmalltalkSources/SBE-Testing.package/SBEScriptBuilderTest.class/instance/executeShould.inScopeOf.where..st rename to SmalltalkSources/SBE-Tests.package/SBEScriptBuilderTest.class/instance/executeShould.inScopeOf.where..st diff --git a/SmalltalkSources/SBE-Testing.package/SBEScriptBuilderTest.class/instance/executeShould.inScopeOfDebuggerThat.thenDo..st b/SmalltalkSources/SBE-Tests.package/SBEScriptBuilderTest.class/instance/executeShould.inScopeOfDebuggerThat.thenDo..st similarity index 100% rename from SmalltalkSources/SBE-Testing.package/SBEScriptBuilderTest.class/instance/executeShould.inScopeOfDebuggerThat.thenDo..st rename to SmalltalkSources/SBE-Tests.package/SBEScriptBuilderTest.class/instance/executeShould.inScopeOfDebuggerThat.thenDo..st diff --git a/SmalltalkSources/SBE-Testing.package/SBEScriptBuilderTest.class/instance/expectedFailures.st b/SmalltalkSources/SBE-Tests.package/SBEScriptBuilderTest.class/instance/expectedFailures.st similarity index 100% rename from SmalltalkSources/SBE-Testing.package/SBEScriptBuilderTest.class/instance/expectedFailures.st rename to SmalltalkSources/SBE-Tests.package/SBEScriptBuilderTest.class/instance/expectedFailures.st diff --git a/SmalltalkSources/SBE-Testing.package/SBEScriptBuilderTest.class/instance/findDebuggersThat..st b/SmalltalkSources/SBE-Tests.package/SBEScriptBuilderTest.class/instance/findDebuggersThat..st similarity index 100% rename from SmalltalkSources/SBE-Testing.package/SBEScriptBuilderTest.class/instance/findDebuggersThat..st rename to SmalltalkSources/SBE-Tests.package/SBEScriptBuilderTest.class/instance/findDebuggersThat..st diff --git a/SmalltalkSources/SBE-Testing.package/SBEScriptBuilderTest.class/instance/performTest.st b/SmalltalkSources/SBE-Tests.package/SBEScriptBuilderTest.class/instance/performTest.st similarity index 100% rename from SmalltalkSources/SBE-Testing.package/SBEScriptBuilderTest.class/instance/performTest.st rename to SmalltalkSources/SBE-Tests.package/SBEScriptBuilderTest.class/instance/performTest.st diff --git a/SmalltalkSources/SBE-Testing.package/SBEScriptBuilderTest.class/instance/setUp.st b/SmalltalkSources/SBE-Tests.package/SBEScriptBuilderTest.class/instance/setUp.st similarity index 100% rename from SmalltalkSources/SBE-Testing.package/SBEScriptBuilderTest.class/instance/setUp.st rename to SmalltalkSources/SBE-Tests.package/SBEScriptBuilderTest.class/instance/setUp.st diff --git a/SmalltalkSources/SBE-Testing.package/SBEScriptBuilderTest.class/instance/should.raise.where..st b/SmalltalkSources/SBE-Tests.package/SBEScriptBuilderTest.class/instance/should.raise.where..st similarity index 100% rename from SmalltalkSources/SBE-Testing.package/SBEScriptBuilderTest.class/instance/should.raise.where..st rename to SmalltalkSources/SBE-Tests.package/SBEScriptBuilderTest.class/instance/should.raise.where..st diff --git a/SmalltalkSources/SBE-Testing.package/SBEScriptBuilderTest.class/instance/shouldOpenDebugger..st b/SmalltalkSources/SBE-Tests.package/SBEScriptBuilderTest.class/instance/shouldOpenDebugger..st similarity index 100% rename from SmalltalkSources/SBE-Testing.package/SBEScriptBuilderTest.class/instance/shouldOpenDebugger..st rename to SmalltalkSources/SBE-Tests.package/SBEScriptBuilderTest.class/instance/shouldOpenDebugger..st diff --git a/SmalltalkSources/SBE-Testing.package/SBEScriptBuilderTest.class/instance/shouldOpenDebugger.that.thenDo..st b/SmalltalkSources/SBE-Tests.package/SBEScriptBuilderTest.class/instance/shouldOpenDebugger.that.thenDo..st similarity index 100% rename from SmalltalkSources/SBE-Testing.package/SBEScriptBuilderTest.class/instance/shouldOpenDebugger.that.thenDo..st rename to SmalltalkSources/SBE-Tests.package/SBEScriptBuilderTest.class/instance/shouldOpenDebugger.that.thenDo..st diff --git a/SmalltalkSources/SBE-Testing.package/SBEScriptBuilderTest.class/instance/shouldOpenDebugger.thenDo..st b/SmalltalkSources/SBE-Tests.package/SBEScriptBuilderTest.class/instance/shouldOpenDebugger.thenDo..st similarity index 100% rename from SmalltalkSources/SBE-Testing.package/SBEScriptBuilderTest.class/instance/shouldOpenDebugger.thenDo..st rename to SmalltalkSources/SBE-Tests.package/SBEScriptBuilderTest.class/instance/shouldOpenDebugger.thenDo..st diff --git a/SmalltalkSources/SBE-Testing.package/SBEScriptBuilderTest.class/instance/shouldntMessUpProcesses..st b/SmalltalkSources/SBE-Tests.package/SBEScriptBuilderTest.class/instance/shouldntMessUpProcesses..st similarity index 100% rename from SmalltalkSources/SBE-Testing.package/SBEScriptBuilderTest.class/instance/shouldntMessUpProcesses..st rename to SmalltalkSources/SBE-Tests.package/SBEScriptBuilderTest.class/instance/shouldntMessUpProcesses..st diff --git a/SmalltalkSources/SBE-Testing.package/SBEScriptBuilderTest.class/instance/testAbandonDebugger.st b/SmalltalkSources/SBE-Tests.package/SBEScriptBuilderTest.class/instance/testAbandonDebugger.st similarity index 100% rename from SmalltalkSources/SBE-Testing.package/SBEScriptBuilderTest.class/instance/testAbandonDebugger.st rename to SmalltalkSources/SBE-Tests.package/SBEScriptBuilderTest.class/instance/testAbandonDebugger.st diff --git a/SmalltalkSources/SBE-Testing.package/SBEScriptBuilderTest.class/instance/testHandleNotification.st b/SmalltalkSources/SBE-Tests.package/SBEScriptBuilderTest.class/instance/testHandleNotification.st similarity index 100% rename from SmalltalkSources/SBE-Testing.package/SBEScriptBuilderTest.class/instance/testHandleNotification.st rename to SmalltalkSources/SBE-Tests.package/SBEScriptBuilderTest.class/instance/testHandleNotification.st diff --git a/SmalltalkSources/SBE-Testing.package/SBEScriptBuilderTest.class/instance/testInform.st b/SmalltalkSources/SBE-Tests.package/SBEScriptBuilderTest.class/instance/testInform.st similarity index 100% rename from SmalltalkSources/SBE-Testing.package/SBEScriptBuilderTest.class/instance/testInform.st rename to SmalltalkSources/SBE-Tests.package/SBEScriptBuilderTest.class/instance/testInform.st diff --git a/SmalltalkSources/SBE-Testing.package/SBEScriptBuilderTest.class/instance/testNoop.st b/SmalltalkSources/SBE-Tests.package/SBEScriptBuilderTest.class/instance/testNoop.st similarity index 100% rename from SmalltalkSources/SBE-Testing.package/SBEScriptBuilderTest.class/instance/testNoop.st rename to SmalltalkSources/SBE-Tests.package/SBEScriptBuilderTest.class/instance/testNoop.st diff --git a/SmalltalkSources/SBE-Testing.package/SBEScriptBuilderTest.class/instance/testResumeDebugger.st b/SmalltalkSources/SBE-Tests.package/SBEScriptBuilderTest.class/instance/testResumeDebugger.st similarity index 100% rename from SmalltalkSources/SBE-Testing.package/SBEScriptBuilderTest.class/instance/testResumeDebugger.st rename to SmalltalkSources/SBE-Tests.package/SBEScriptBuilderTest.class/instance/testResumeDebugger.st diff --git a/SmalltalkSources/SBE-Testing.package/SBEScriptBuilderTest.class/instance/testResumeNotification.st b/SmalltalkSources/SBE-Tests.package/SBEScriptBuilderTest.class/instance/testResumeNotification.st similarity index 100% rename from SmalltalkSources/SBE-Testing.package/SBEScriptBuilderTest.class/instance/testResumeNotification.st rename to SmalltalkSources/SBE-Tests.package/SBEScriptBuilderTest.class/instance/testResumeNotification.st diff --git a/SmalltalkSources/SBE-Testing.package/SBEScriptBuilderTest.class/instance/testSimple.st b/SmalltalkSources/SBE-Tests.package/SBEScriptBuilderTest.class/instance/testSimple.st similarity index 100% rename from SmalltalkSources/SBE-Testing.package/SBEScriptBuilderTest.class/instance/testSimple.st rename to SmalltalkSources/SBE-Tests.package/SBEScriptBuilderTest.class/instance/testSimple.st diff --git a/SmalltalkSources/SBE-Testing.package/SBEScriptBuilderTest.class/instance/testTerminate.st b/SmalltalkSources/SBE-Tests.package/SBEScriptBuilderTest.class/instance/testTerminate.st similarity index 100% rename from SmalltalkSources/SBE-Testing.package/SBEScriptBuilderTest.class/instance/testTerminate.st rename to SmalltalkSources/SBE-Tests.package/SBEScriptBuilderTest.class/instance/testTerminate.st diff --git a/SmalltalkSources/SBE-Testing.package/SBEScriptBuilderTest.class/instance/testYield.st b/SmalltalkSources/SBE-Tests.package/SBEScriptBuilderTest.class/instance/testYield.st similarity index 100% rename from SmalltalkSources/SBE-Testing.package/SBEScriptBuilderTest.class/instance/testYield.st rename to SmalltalkSources/SBE-Tests.package/SBEScriptBuilderTest.class/instance/testYield.st diff --git a/SmalltalkSources/SBE-Testing.package/SBEScriptBuilderTest.class/methodProperties.json b/SmalltalkSources/SBE-Tests.package/SBEScriptBuilderTest.class/methodProperties.json similarity index 100% rename from SmalltalkSources/SBE-Testing.package/SBEScriptBuilderTest.class/methodProperties.json rename to SmalltalkSources/SBE-Tests.package/SBEScriptBuilderTest.class/methodProperties.json diff --git a/SmalltalkSources/SBE-Testing.package/SBEScriptBuilderTest.class/properties.json b/SmalltalkSources/SBE-Tests.package/SBEScriptBuilderTest.class/properties.json similarity index 88% rename from SmalltalkSources/SBE-Testing.package/SBEScriptBuilderTest.class/properties.json rename to SmalltalkSources/SBE-Tests.package/SBEScriptBuilderTest.class/properties.json index fd9c144f..4c95284d 100644 --- a/SmalltalkSources/SBE-Testing.package/SBEScriptBuilderTest.class/properties.json +++ b/SmalltalkSources/SBE-Tests.package/SBEScriptBuilderTest.class/properties.json @@ -1,5 +1,5 @@ { - "category" : "SBE-Testing", + "category" : "SBE-Tests", "classinstvars" : [ ], "classvars" : [ diff --git a/SmalltalkSources/SBE-Tests.package/monticello.meta/categories.st b/SmalltalkSources/SBE-Tests.package/monticello.meta/categories.st new file mode 100644 index 00000000..46d653e1 --- /dev/null +++ b/SmalltalkSources/SBE-Tests.package/monticello.meta/categories.st @@ -0,0 +1 @@ +SystemOrganization addCategory: #'SBE-Tests'! diff --git a/SmalltalkSources/SBE-Tests.package/monticello.meta/initializers.st b/SmalltalkSources/SBE-Tests.package/monticello.meta/initializers.st new file mode 100644 index 00000000..e69de29b diff --git a/SmalltalkSources/SBE-Tests.package/properties.json b/SmalltalkSources/SBE-Tests.package/properties.json new file mode 100644 index 00000000..f037444a --- /dev/null +++ b/SmalltalkSources/SBE-Tests.package/properties.json @@ -0,0 +1,2 @@ +{ + } From c4b3087133f315d3a1982956293ee53e7a6cf46b Mon Sep 17 00:00:00 2001 From: Christoph Thiede Date: Tue, 16 Mar 2021 21:06:54 +0100 Subject: [PATCH 16/58] Split up .smalltalk.ston files --- .github/workflows/build.yml | 6 +++--- .smalltalk.ston => SBE-Extract.smalltalk.ston | 4 ++-- SBE-Testing.smalltalk.ston | 16 ++++++++++++++++ SBE-Tests.smalltalk.ston | 14 ++++++++++++++ .../{prepareSuite.st => prepareSuiteFigures.st} | 2 -- build_scripts/prepareSuiteTesting.st | 1 + 6 files changed, 36 insertions(+), 7 deletions(-) rename .smalltalk.ston => SBE-Extract.smalltalk.ston (72%) create mode 100644 SBE-Testing.smalltalk.ston create mode 100644 SBE-Tests.smalltalk.ston rename build_scripts/{prepareSuite.st => prepareSuiteFigures.st} (86%) mode change 100755 => 100644 create mode 100644 build_scripts/prepareSuiteTesting.st diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 29955a67..d1507cfe 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -27,7 +27,7 @@ jobs: with: smalltalk-version: Squeak64-${{ matrix.smalltalk }} - name: Run SmalltalkSources tests - run: smalltalkci -s Squeak64-${{ matrix.smalltalk }} SBETests.smalltalk.ston + run: smalltalkci -s Squeak64-${{ matrix.smalltalk }} SmalltalkSources/SBE-Tests.smalltalk.ston timeout-minutes: 15 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # for coverage reports @@ -45,7 +45,7 @@ jobs: with: smalltalk-version: Squeak64-${{ matrix.smalltalk }} - name: Run assertion tests - run: smalltalkci -s Squeak64-${{ matrix.smalltalk }} assertions.smalltalk.ston + run: smalltalkci -s Squeak64-${{ matrix.smalltalk }} SmalltalkSources/SBE-Testing.smalltalk.ston timeout-minutes: 15 listings: name: ๐Ÿ“„ Collect listings from SmalltalkSources @@ -72,7 +72,7 @@ jobs: with: smalltalk-version: Squeak64-${{ matrix.smalltalk }} - name: Build figures - run: smalltalkci -s Squeak64-${{ matrix.smalltalk }} figures.smalltalk.ston + run: smalltalkci -s Squeak64-${{ matrix.smalltalk }} SmalltalkSources/SBE-Extract.smalltalk.ston timeout-minutes: 15 - name: Store figures uses: actions/upload-artifact@master diff --git a/.smalltalk.ston b/SBE-Extract.smalltalk.ston similarity index 72% rename from .smalltalk.ston rename to SBE-Extract.smalltalk.ston index c8ca4dbe..c3dfbc31 100644 --- a/.smalltalk.ston +++ b/SBE-Extract.smalltalk.ston @@ -8,9 +8,9 @@ SmalltalkCISpec { #useLatestMetacello : true } ], - #preTesting : 'build_scripts/prepareSuite.st', + #preTesting : 'build_scripts/prepareSuiteFigures.st', #testing : { #failOnSCIDeprecationWarnings : false, - #categories : [ 'SBE-Testing', 'SBEGenerated*' ] + #categories : [ 'SBEGenerated-Figures' ] } } diff --git a/SBE-Testing.smalltalk.ston b/SBE-Testing.smalltalk.ston new file mode 100644 index 00000000..fea6402c --- /dev/null +++ b/SBE-Testing.smalltalk.ston @@ -0,0 +1,16 @@ +SmalltalkCISpec { + #loading : [ + SCIMetacelloLoadSpec { + #baseline : 'SBE', + #directory : 'SmalltalkSources', + #platforms : [ #squeak ], + #load : [ 'ci' ], + #useLatestMetacello : true + } + ], + #preTesting : 'build_scripts/prepareSuiteTesting.st', + #testing : { + #failOnSCIDeprecationWarnings : false, + #categories : [ 'SBEGenerated-Tests' ] + } +} diff --git a/SBE-Tests.smalltalk.ston b/SBE-Tests.smalltalk.ston new file mode 100644 index 00000000..f70b54ca --- /dev/null +++ b/SBE-Tests.smalltalk.ston @@ -0,0 +1,14 @@ +SmalltalkCISpec { + #loading : [ + SCIMetacelloLoadSpec { + #baseline : 'SBE', + #directory : 'SmalltalkSources', + #platforms : [ #squeak ], + #load : [ 'ci' ], + #useLatestMetacello : true + } + ], + #testing : { + #categories : [ 'SBE-Tests' ] + } +} diff --git a/build_scripts/prepareSuite.st b/build_scripts/prepareSuiteFigures.st old mode 100755 new mode 100644 similarity index 86% rename from build_scripts/prepareSuite.st rename to build_scripts/prepareSuiteFigures.st index 71adf82a..088716a1 --- a/build_scripts/prepareSuite.st +++ b/build_scripts/prepareSuiteFigures.st @@ -1,4 +1,2 @@ [SBEFigureBuilder generateBuildersIn: SBEFigureBuilder resourceDirectory] valueSuppressingMessages: #('*safety checks*'). - -SBEmain new setUp. diff --git a/build_scripts/prepareSuiteTesting.st b/build_scripts/prepareSuiteTesting.st new file mode 100644 index 00000000..2aa4738f --- /dev/null +++ b/build_scripts/prepareSuiteTesting.st @@ -0,0 +1 @@ +SBEmain new setUp. From d091a8022e8da30630b917f307c18f1a1b195572 Mon Sep 17 00:00:00 2001 From: Christoph Thiede Date: Tue, 16 Mar 2021 23:05:55 +0100 Subject: [PATCH 17/58] Move .smalltalk.ston files --- .../SBE-Extract.smalltalk.ston | 0 .../SBE-Testing.smalltalk.ston | 0 .../SBE-Tests.smalltalk.ston | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename SBE-Extract.smalltalk.ston => SmalltalkSources/SBE-Extract.smalltalk.ston (100%) rename SBE-Testing.smalltalk.ston => SmalltalkSources/SBE-Testing.smalltalk.ston (100%) rename SBE-Tests.smalltalk.ston => SmalltalkSources/SBE-Tests.smalltalk.ston (100%) diff --git a/SBE-Extract.smalltalk.ston b/SmalltalkSources/SBE-Extract.smalltalk.ston similarity index 100% rename from SBE-Extract.smalltalk.ston rename to SmalltalkSources/SBE-Extract.smalltalk.ston diff --git a/SBE-Testing.smalltalk.ston b/SmalltalkSources/SBE-Testing.smalltalk.ston similarity index 100% rename from SBE-Testing.smalltalk.ston rename to SmalltalkSources/SBE-Testing.smalltalk.ston diff --git a/SBE-Tests.smalltalk.ston b/SmalltalkSources/SBE-Tests.smalltalk.ston similarity index 100% rename from SBE-Tests.smalltalk.ston rename to SmalltalkSources/SBE-Tests.smalltalk.ston From 975ff78e20027ebe615f90d4d93f4691d14c57ce Mon Sep 17 00:00:00 2001 From: Christoph Thiede Date: Tue, 16 Mar 2021 23:09:09 +0100 Subject: [PATCH 18/58] Use relative path in .smalltalk.ston files --- SmalltalkSources/SBE-Extract.smalltalk.ston | 2 +- SmalltalkSources/SBE-Testing.smalltalk.ston | 2 +- SmalltalkSources/SBE-Tests.smalltalk.ston | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/SmalltalkSources/SBE-Extract.smalltalk.ston b/SmalltalkSources/SBE-Extract.smalltalk.ston index c3dfbc31..76426c88 100644 --- a/SmalltalkSources/SBE-Extract.smalltalk.ston +++ b/SmalltalkSources/SBE-Extract.smalltalk.ston @@ -2,7 +2,7 @@ SmalltalkCISpec { #loading : [ SCIMetacelloLoadSpec { #baseline : 'SBE', - #directory : 'SmalltalkSources', + #directory : '.', #platforms : [ #squeak ], #load : [ 'ci' ], #useLatestMetacello : true diff --git a/SmalltalkSources/SBE-Testing.smalltalk.ston b/SmalltalkSources/SBE-Testing.smalltalk.ston index fea6402c..28abee8a 100644 --- a/SmalltalkSources/SBE-Testing.smalltalk.ston +++ b/SmalltalkSources/SBE-Testing.smalltalk.ston @@ -2,7 +2,7 @@ SmalltalkCISpec { #loading : [ SCIMetacelloLoadSpec { #baseline : 'SBE', - #directory : 'SmalltalkSources', + #directory : '.', #platforms : [ #squeak ], #load : [ 'ci' ], #useLatestMetacello : true diff --git a/SmalltalkSources/SBE-Tests.smalltalk.ston b/SmalltalkSources/SBE-Tests.smalltalk.ston index f70b54ca..efe6f239 100644 --- a/SmalltalkSources/SBE-Tests.smalltalk.ston +++ b/SmalltalkSources/SBE-Tests.smalltalk.ston @@ -2,7 +2,7 @@ SmalltalkCISpec { #loading : [ SCIMetacelloLoadSpec { #baseline : 'SBE', - #directory : 'SmalltalkSources', + #directory : '.', #platforms : [ #squeak ], #load : [ 'ci' ], #useLatestMetacello : true From 07204e864f4692bedf7942785c6bce0f478c12b6 Mon Sep 17 00:00:00 2001 From: Christoph Thiede Date: Tue, 16 Mar 2021 23:14:19 +0100 Subject: [PATCH 19/58] Add SBE-Tests package to baseline --- .../BaselineOfSBE.class/instance/baseline..st | 6 ++++-- .../BaselineOfSBE.class/methodProperties.json | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/SmalltalkSources/BaselineOfSBE.package/BaselineOfSBE.class/instance/baseline..st b/SmalltalkSources/BaselineOfSBE.package/BaselineOfSBE.class/instance/baseline..st index ba9140c5..c9b38ddb 100644 --- a/SmalltalkSources/BaselineOfSBE.package/BaselineOfSBE.class/instance/baseline..st +++ b/SmalltalkSources/BaselineOfSBE.package/BaselineOfSBE.class/instance/baseline..st @@ -13,7 +13,8 @@ baseline: spec package: #'SBE-Quinto'; package: #'SBE-QuickTour'; package: #'SBE-Streams'; - package: #'SBE-Testing'. + package: #'SBE-Testing'; + package: #'SBE-Tests'. spec group: #ci with: #( #'SBE-Environment' #'SBE-Extract' @@ -22,4 +23,5 @@ baseline: spec #'SBE-Quinto' #'SBE-QuickTour' #'SBE-Streams' - #'SBE-Testing')]. \ No newline at end of file + #'SBE-Testing'; + #'SBE-Tests')]. \ No newline at end of file diff --git a/SmalltalkSources/BaselineOfSBE.package/BaselineOfSBE.class/methodProperties.json b/SmalltalkSources/BaselineOfSBE.package/BaselineOfSBE.class/methodProperties.json index 3455b108..dfa28fa1 100644 --- a/SmalltalkSources/BaselineOfSBE.package/BaselineOfSBE.class/methodProperties.json +++ b/SmalltalkSources/BaselineOfSBE.package/BaselineOfSBE.class/methodProperties.json @@ -2,4 +2,4 @@ "class" : { }, "instance" : { - "baseline:" : "ct 9/22/2020 19:18" } } + "baseline:" : "ct 3/16/2021 23:13" } } From 4c8f12342e83d34fa55a05e4ee65d35558761afc Mon Sep 17 00:00:00 2001 From: Christoph Thiede Date: Tue, 16 Mar 2021 23:16:22 +0100 Subject: [PATCH 20/58] Fix syntax error (8) --- .../BaselineOfSBE.class/instance/baseline..st | 2 +- .../BaselineOfSBE.class/methodProperties.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/SmalltalkSources/BaselineOfSBE.package/BaselineOfSBE.class/instance/baseline..st b/SmalltalkSources/BaselineOfSBE.package/BaselineOfSBE.class/instance/baseline..st index c9b38ddb..49c5ea56 100644 --- a/SmalltalkSources/BaselineOfSBE.package/BaselineOfSBE.class/instance/baseline..st +++ b/SmalltalkSources/BaselineOfSBE.package/BaselineOfSBE.class/instance/baseline..st @@ -23,5 +23,5 @@ baseline: spec #'SBE-Quinto' #'SBE-QuickTour' #'SBE-Streams' - #'SBE-Testing'; + #'SBE-Testing' #'SBE-Tests')]. \ No newline at end of file diff --git a/SmalltalkSources/BaselineOfSBE.package/BaselineOfSBE.class/methodProperties.json b/SmalltalkSources/BaselineOfSBE.package/BaselineOfSBE.class/methodProperties.json index dfa28fa1..f36ad516 100644 --- a/SmalltalkSources/BaselineOfSBE.package/BaselineOfSBE.class/methodProperties.json +++ b/SmalltalkSources/BaselineOfSBE.package/BaselineOfSBE.class/methodProperties.json @@ -2,4 +2,4 @@ "class" : { }, "instance" : { - "baseline:" : "ct 3/16/2021 23:13" } } + "baseline:" : "ct 3/16/2021 23:15" } } From 0d5597bd8bc5f95b65255342a7b9e22ea0a1a1f9 Mon Sep 17 00:00:00 2001 From: Christoph Thiede Date: Wed, 17 Mar 2021 00:00:46 +0100 Subject: [PATCH 21/58] Disable trunk builds for testing --- .github/workflows/build.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d1507cfe..db518b37 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -10,7 +10,7 @@ on: #env: # os: ubuntu-latest # fail-fast: false # facilitates debugging -# smalltalks: "[Trunk, 5.3]" +# smalltalks: "[5.3] # [Trunk, 5.3] # DEBUG" #--- jobs: @@ -20,7 +20,7 @@ jobs: strategy: fail-fast: false # facilitates debugging matrix: - smalltalk: [Trunk, 5.3] + smalltalk: [5.3] # [Trunk, 5.3] # DEBUG steps: - uses: actions/checkout@v2 - uses: hpi-swa/setup-smalltalkCI@v1 @@ -38,7 +38,7 @@ jobs: strategy: fail-fast: false # facilitates debugging matrix: - smalltalk: [Trunk, 5.3] + smalltalk: [5.3] # [Trunk, 5.3] # DEBUG steps: - uses: actions/checkout@v2 - uses: hpi-swa/setup-smalltalkCI@v1 @@ -65,7 +65,7 @@ jobs: strategy: fail-fast: false # facilitates debugging matrix: - smalltalk: [Trunk, 5.3] + smalltalk: [5.3] # [Trunk, 5.3] # DEBUG steps: - uses: actions/checkout@v2 - uses: hpi-swa/setup-smalltalkCI@v1 @@ -86,7 +86,7 @@ jobs: strategy: fail-fast: false # facilitates debugging matrix: - smalltalk: [Trunk, 5.3] + smalltalk: [5.3] # [Trunk, 5.3] # DEBUG steps: - uses: actions/checkout@v2 - name: Load listings From 3d7a25fda13dc0912a2a8c544739cea6a33ea914 Mon Sep 17 00:00:00 2001 From: Christoph Thiede Date: Wed, 17 Mar 2021 00:23:16 +0100 Subject: [PATCH 22/58] Rearrange .smalltalk.ston files and build_scripts --- .../SBE-Extract.smalltalk.ston => SBE-Extract.smalltalk.ston | 4 ++-- .../SBE-Testing.smalltalk.ston => SBE-Testing.smalltalk.ston | 4 ++-- .../SBE-Tests.smalltalk.ston => SBE-Tests.smalltalk.ston | 2 +- .../{prepareSuiteFigures.st => prepareFiguresSuite.st} | 0 .../{prepareSuiteTesting.st => prepareTestingSuite.st} | 0 5 files changed, 5 insertions(+), 5 deletions(-) rename SmalltalkSources/SBE-Extract.smalltalk.ston => SBE-Extract.smalltalk.ston (74%) rename SmalltalkSources/SBE-Testing.smalltalk.ston => SBE-Testing.smalltalk.ston (74%) rename SmalltalkSources/SBE-Tests.smalltalk.ston => SBE-Tests.smalltalk.ston (85%) rename build_scripts/{prepareSuiteFigures.st => prepareFiguresSuite.st} (100%) rename build_scripts/{prepareSuiteTesting.st => prepareTestingSuite.st} (100%) diff --git a/SmalltalkSources/SBE-Extract.smalltalk.ston b/SBE-Extract.smalltalk.ston similarity index 74% rename from SmalltalkSources/SBE-Extract.smalltalk.ston rename to SBE-Extract.smalltalk.ston index 76426c88..7fcd5d50 100644 --- a/SmalltalkSources/SBE-Extract.smalltalk.ston +++ b/SBE-Extract.smalltalk.ston @@ -2,13 +2,13 @@ SmalltalkCISpec { #loading : [ SCIMetacelloLoadSpec { #baseline : 'SBE', - #directory : '.', + #directory : 'SmalltalkSources', #platforms : [ #squeak ], #load : [ 'ci' ], #useLatestMetacello : true } ], - #preTesting : 'build_scripts/prepareSuiteFigures.st', + #preTesting : 'build_scripts/prepareFiguresSuite.st', #testing : { #failOnSCIDeprecationWarnings : false, #categories : [ 'SBEGenerated-Figures' ] diff --git a/SmalltalkSources/SBE-Testing.smalltalk.ston b/SBE-Testing.smalltalk.ston similarity index 74% rename from SmalltalkSources/SBE-Testing.smalltalk.ston rename to SBE-Testing.smalltalk.ston index 28abee8a..47394a70 100644 --- a/SmalltalkSources/SBE-Testing.smalltalk.ston +++ b/SBE-Testing.smalltalk.ston @@ -2,13 +2,13 @@ SmalltalkCISpec { #loading : [ SCIMetacelloLoadSpec { #baseline : 'SBE', - #directory : '.', + #directory : 'SmalltalkSources', #platforms : [ #squeak ], #load : [ 'ci' ], #useLatestMetacello : true } ], - #preTesting : 'build_scripts/prepareSuiteTesting.st', + #preTesting : 'build_scripts/prepareTestingSuite.st', #testing : { #failOnSCIDeprecationWarnings : false, #categories : [ 'SBEGenerated-Tests' ] diff --git a/SmalltalkSources/SBE-Tests.smalltalk.ston b/SBE-Tests.smalltalk.ston similarity index 85% rename from SmalltalkSources/SBE-Tests.smalltalk.ston rename to SBE-Tests.smalltalk.ston index efe6f239..f70b54ca 100644 --- a/SmalltalkSources/SBE-Tests.smalltalk.ston +++ b/SBE-Tests.smalltalk.ston @@ -2,7 +2,7 @@ SmalltalkCISpec { #loading : [ SCIMetacelloLoadSpec { #baseline : 'SBE', - #directory : '.', + #directory : 'SmalltalkSources', #platforms : [ #squeak ], #load : [ 'ci' ], #useLatestMetacello : true diff --git a/build_scripts/prepareSuiteFigures.st b/build_scripts/prepareFiguresSuite.st similarity index 100% rename from build_scripts/prepareSuiteFigures.st rename to build_scripts/prepareFiguresSuite.st diff --git a/build_scripts/prepareSuiteTesting.st b/build_scripts/prepareTestingSuite.st similarity index 100% rename from build_scripts/prepareSuiteTesting.st rename to build_scripts/prepareTestingSuite.st From 10cd3b794e9cb4b2bbcbee5c20cb498ecf5849da Mon Sep 17 00:00:00 2001 From: Christoph Thiede Date: Wed, 17 Mar 2021 00:24:48 +0100 Subject: [PATCH 23/58] Complements 3d7a25fda13dc0912a2a8c544739cea6a33ea914 --- .github/workflows/build.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index db518b37..69c53c8b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -27,7 +27,7 @@ jobs: with: smalltalk-version: Squeak64-${{ matrix.smalltalk }} - name: Run SmalltalkSources tests - run: smalltalkci -s Squeak64-${{ matrix.smalltalk }} SmalltalkSources/SBE-Tests.smalltalk.ston + run: smalltalkci -s Squeak64-${{ matrix.smalltalk }} SBE-Tests.smalltalk.ston timeout-minutes: 15 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # for coverage reports @@ -45,7 +45,7 @@ jobs: with: smalltalk-version: Squeak64-${{ matrix.smalltalk }} - name: Run assertion tests - run: smalltalkci -s Squeak64-${{ matrix.smalltalk }} SmalltalkSources/SBE-Testing.smalltalk.ston + run: smalltalkci -s Squeak64-${{ matrix.smalltalk }} SBE-Testing.smalltalk.ston timeout-minutes: 15 listings: name: ๐Ÿ“„ Collect listings from SmalltalkSources @@ -72,7 +72,7 @@ jobs: with: smalltalk-version: Squeak64-${{ matrix.smalltalk }} - name: Build figures - run: smalltalkci -s Squeak64-${{ matrix.smalltalk }} SmalltalkSources/SBE-Extract.smalltalk.ston + run: smalltalkci -s Squeak64-${{ matrix.smalltalk }} SBE-Extract.smalltalk.ston timeout-minutes: 15 - name: Store figures uses: actions/upload-artifact@master From b7bb137048f4b81058b82dd3420bcf0314536703 Mon Sep 17 00:00:00 2001 From: Christoph Thiede Date: Wed, 17 Mar 2021 00:36:21 +0100 Subject: [PATCH 24/58] Add support for GitHub actions in SBEScriptBuilder class >> #resourceDirectory --- .../SBEScriptBuilder.class/class/resourceDirectory.st | 9 ++++++--- .../SBEScriptBuilder.class/methodProperties.json | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/SmalltalkSources/SBE-Extract.package/SBEScriptBuilder.class/class/resourceDirectory.st b/SmalltalkSources/SBE-Extract.package/SBEScriptBuilder.class/class/resourceDirectory.st index 059916c5..3a84b583 100644 --- a/SmalltalkSources/SBE-Extract.package/SBEScriptBuilder.class/class/resourceDirectory.st +++ b/SmalltalkSources/SBE-Extract.package/SBEScriptBuilder.class/class/resourceDirectory.st @@ -4,7 +4,10 @@ resourceDirectory ^ ResourceDirectory ifNil: [ | directory | - Smalltalk globals at: #SmalltalkCI - ifPresent: [:sci | (sci perform: #getEnv: with: #TRAVIS_BUILD_DIR) - ifNotNil: [:path | directory := FileSystem disk referenceTo: path]]. + (Smalltalk classNamed: #SmalltalkCI) ifNotNil: [:sci | | path | + #(GITHUB_WORKSPACE TRAVIS_BUILD_DIR) + detect: [:key | (path := sci getEnv: key) notNil] + ifNone: []. + path ifNotNil: [ + directory := FileSystem disk referenceTo: path]]. directory ifNil: [FileDirectory default asFSReference]] \ No newline at end of file diff --git a/SmalltalkSources/SBE-Extract.package/SBEScriptBuilder.class/methodProperties.json b/SmalltalkSources/SBE-Extract.package/SBEScriptBuilder.class/methodProperties.json index 48c8322b..1a49738b 100644 --- a/SmalltalkSources/SBE-Extract.package/SBEScriptBuilder.class/methodProperties.json +++ b/SmalltalkSources/SBE-Extract.package/SBEScriptBuilder.class/methodProperties.json @@ -16,7 +16,7 @@ "nameForBuilderScript:" : "ct 1/17/2020 22:46", "nameForBuilderWith:" : "ct 11/4/2019 00:54", "okToGenerate" : "ct 9/22/2020 18:54", - "resourceDirectory" : "ct 11/18/2019 13:53", + "resourceDirectory" : "ct 3/17/2021 00:34", "resourceDirectory:" : "ct 11/18/2019 13:53", "runSuite:" : "ct 11/2/2019 03:26", "totalSuite" : "ct 10/30/2019 11:02", From ecac15ac0c119624eacc28c0d3b7c03ebeb19709 Mon Sep 17 00:00:00 2001 From: Christoph Thiede Date: Wed, 17 Mar 2021 01:22:18 +0100 Subject: [PATCH 25/58] Fix download-artifact path for listings --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 69c53c8b..ea7a03f1 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -93,7 +93,7 @@ jobs: uses: actions/download-artifact@master with: name: listings - path: SmalltalkSources + path: ListingSources - name: Load figures uses: actions/download-artifact@master with: From a44590b6feac4689f3db807d066cbbeb938992bc Mon Sep 17 00:00:00 2001 From: Christoph Thiede Date: Wed, 17 Mar 2021 01:22:40 +0100 Subject: [PATCH 26/58] Add support for DEBUG_FIGURES --- .github/workflows/build.yml | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ea7a03f1..d42b1511 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -75,6 +75,7 @@ jobs: run: smalltalkci -s Squeak64-${{ matrix.smalltalk }} SBE-Extract.smalltalk.ston timeout-minutes: 15 - name: Store figures + if: always() uses: actions/upload-artifact@master with: name: figures-${{ matrix.smalltalk }} @@ -82,6 +83,7 @@ jobs: build: name: ๐Ÿ“– Build book [Squeak ${{ matrix.smalltalk }}] needs: [listings, figures] + if: (needs.listings.result == 'success') # build book even if figures did not succeed, see DEBUG_FIGURES below runs-on: ubuntu-latest strategy: fail-fast: false # facilitates debugging @@ -99,10 +101,17 @@ jobs: with: name: figures-${{ matrix.smalltalk }} path: . + - if: (needs.figures.result != 'success') + run: | + echo ::warning::jobs.figures has failed, compiling PDF with missing figures + echo "DEBUG_FIGURES=true" >> $GITHUB_ENV - name: Compile PDF uses: xu-cheng/latex-action@v2 + # We want to use our custom Makefile here which supports DEBUG_FIGURES and filtered warnings. Thus deliberately abuse the arguments of this action ... with: - root_file: SBE.tex + root_file: pseudo + args: "-v" + post_compile: "make book-pages" - name: Rename PDF run: mv SBE,{-${{ matrix.smalltalk }}}.pdf env: @@ -112,6 +121,11 @@ jobs: with: name: book-${{ matrix.smalltalk }} path: SBE-${{ matrix.smalltalk }}.pdf + - if: (needs.figures.result != 'success') + run: | + echo ::error::jobs.figures has failed, so the compiled PDF might miss some figures! + echo "DEBUG_FIGURES=true" >> $GITHUB_ENV + exit 1 notify: name: ๐Ÿ“ฃ Notify community on failure needs: [build, tex-assertions] From 6b8456756e8885b569faa17812a6c5b6410ec04c Mon Sep 17 00:00:00 2001 From: Christoph Thiede Date: Wed, 17 Mar 2021 01:32:10 +0100 Subject: [PATCH 27/58] Use existing pseudo tex file --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d42b1511..5a0e7dba 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -109,7 +109,7 @@ jobs: uses: xu-cheng/latex-action@v2 # We want to use our custom Makefile here which supports DEBUG_FIGURES and filtered warnings. Thus deliberately abuse the arguments of this action ... with: - root_file: pseudo + root_file: common.tex args: "-v" post_compile: "make book-pages" - name: Rename PDF From 5e32bc6d5d6285ead50935e19f5fc010a41c4d2c Mon Sep 17 00:00:00 2001 From: Christoph Thiede Date: Wed, 17 Mar 2021 01:39:39 +0100 Subject: [PATCH 28/58] Name remaining steps --- .github/workflows/build.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 5a0e7dba..947a8636 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -102,6 +102,7 @@ jobs: name: figures-${{ matrix.smalltalk }} path: . - if: (needs.figures.result != 'success') + name: Configure DEBUG_FIGURES run: | echo ::warning::jobs.figures has failed, compiling PDF with missing figures echo "DEBUG_FIGURES=true" >> $GITHUB_ENV @@ -122,6 +123,7 @@ jobs: name: book-${{ matrix.smalltalk }} path: SBE-${{ matrix.smalltalk }}.pdf - if: (needs.figures.result != 'success') + name: Check DEBUG_FIGURES run: | echo ::error::jobs.figures has failed, so the compiled PDF might miss some figures! echo "DEBUG_FIGURES=true" >> $GITHUB_ENV From d995be0e4a68a6ba358192a8bef4a18511fa51f0 Mon Sep 17 00:00:00 2001 From: Christoph Thiede Date: Wed, 17 Mar 2021 01:43:39 +0100 Subject: [PATCH 29/58] Use texlive-action instead of latex-action --- .github/workflows/build.yml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 947a8636..a187e35d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -107,12 +107,11 @@ jobs: echo ::warning::jobs.figures has failed, compiling PDF with missing figures echo "DEBUG_FIGURES=true" >> $GITHUB_ENV - name: Compile PDF - uses: xu-cheng/latex-action@v2 - # We want to use our custom Makefile here which supports DEBUG_FIGURES and filtered warnings. Thus deliberately abuse the arguments of this action ... + uses: xu-cheng/texlive-action/full@v1 with: - root_file: common.tex - args: "-v" - post_compile: "make book-pages" + run: | + apk add make + make book-pages - name: Rename PDF run: mv SBE,{-${{ matrix.smalltalk }}}.pdf env: From 819731e05d9a036df60272b3f5ddce16226b4276 Mon Sep 17 00:00:00 2001 From: Christoph Thiede Date: Wed, 17 Mar 2021 02:05:28 +0100 Subject: [PATCH 30/58] Specify missing SQUEAKVERSION for make target --- .github/workflows/build.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a187e35d..79426943 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -112,6 +112,8 @@ jobs: run: | apk add make make book-pages + env: + SQUEAKVERSION: matrix.smalltalk - name: Rename PDF run: mv SBE,{-${{ matrix.smalltalk }}}.pdf env: From 81317c6a50e2e9aa9c71c8072f791625faaa0f26 Mon Sep 17 00:00:00 2001 From: Christoph Thiede Date: Wed, 17 Mar 2021 02:06:14 +0100 Subject: [PATCH 31/58] Debug escape sequences --- .github/workflows/build.yml | 4 ++++ Makefile | 8 ++++++++ 2 files changed, 12 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 79426943..6dd0c18b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -111,6 +111,10 @@ jobs: with: run: | apk add make + # DEBUG + echo '\\' + bash -v + # GUBED make book-pages env: SQUEAKVERSION: matrix.smalltalk diff --git a/Makefile b/Makefile index c984a05d..7c8f2aa1 100644 --- a/Makefile +++ b/Makefile @@ -36,6 +36,14 @@ all : book book: clean listings book-pages book-pages : + # DEBUG + echo '\\' + echo $(shell echo '\\newcommand') + echo $(shell echo "'\\newcommand'") + echo $(shell echo "$$(echo '\\\\newcommand')") + # GUBED + echo '${TEXINPUT}' + time ${PDFLATEX} '${TEXINPUT}' time ${BIBTEX} ${BOOK} time ${PDFLATEX} '${TEXINPUT}' From 682e1c7c58cf2d679858a210ed52499585852db9 Mon Sep 17 00:00:00 2001 From: Christoph Thiede Date: Wed, 17 Mar 2021 13:14:36 +0100 Subject: [PATCH 32/58] Debug escape sequences (2) --- Makefile | 4 +++- texput.log | 22 ++++++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 texput.log diff --git a/Makefile b/Makefile index 7c8f2aa1..a3aa647e 100644 --- a/Makefile +++ b/Makefile @@ -31,16 +31,18 @@ TEXINPUT=$(shell echo "$$([ "$$DEBUG_FIGURES" = true ] && echo '\\\\AtBeginDocum all : book # NB: be sure to use texlive and to set the TEXINPUTS variable accordingly -# See README.txt +# See README.md book: clean listings book-pages book-pages : # DEBUG + bash -v echo '\\' echo $(shell echo '\\newcommand') echo $(shell echo "'\\newcommand'") echo $(shell echo "$$(echo '\\\\newcommand')") + echo $(shell echo "$$(echo '$\$\newcommand')") # GUBED echo '${TEXINPUT}' diff --git a/texput.log b/texput.log new file mode 100644 index 00000000..f3e00b6c --- /dev/null +++ b/texput.log @@ -0,0 +1,22 @@ +This is pdfTeX, Version 3.14159265-2.6-1.40.18 (TeX Live 2017/Debian) (preloaded format=pdflatex 2021.1.18) 17 MAR 2021 13:09 +entering extended mode + restricted \write18 enabled. + file:line:error style messages enabled. + %&-line parsing enabled. +**input{SBE} + +! Emergency stop. +<*> input{SBE} + +*** (job aborted, file error in nonstop mode) + + +Here is how much of TeX's memory you used: + 3 strings out of 494923 + 112 string characters out of 6180742 + 45839 words of memory out of 5000000 + 3421 multiletter control sequences out of 15000+600000 + 3640 words of font info for 14 fonts, out of 8000000 for 9000 + 14 hyphenation exceptions out of 8191 + 0i,0n,0p,1b,6s stack positions out of 5000i,500n,10000p,200000b,80000s +! ==> Fatal error occurred, no output PDF file produced! From d3e954bed0e77acce6ec983c6429935361bc1727 Mon Sep 17 00:00:00 2001 From: Christoph Thiede Date: Wed, 17 Mar 2021 13:26:13 +0100 Subject: [PATCH 33/58] Fix bash --version --- Makefile | 2 +- texput.log | 22 ---------------------- 2 files changed, 1 insertion(+), 23 deletions(-) delete mode 100644 texput.log diff --git a/Makefile b/Makefile index a3aa647e..5ad0527a 100644 --- a/Makefile +++ b/Makefile @@ -37,7 +37,7 @@ book: clean listings book-pages book-pages : # DEBUG - bash -v + bash --version echo '\\' echo $(shell echo '\\newcommand') echo $(shell echo "'\\newcommand'") diff --git a/texput.log b/texput.log deleted file mode 100644 index f3e00b6c..00000000 --- a/texput.log +++ /dev/null @@ -1,22 +0,0 @@ -This is pdfTeX, Version 3.14159265-2.6-1.40.18 (TeX Live 2017/Debian) (preloaded format=pdflatex 2021.1.18) 17 MAR 2021 13:09 -entering extended mode - restricted \write18 enabled. - file:line:error style messages enabled. - %&-line parsing enabled. -**input{SBE} - -! Emergency stop. -<*> input{SBE} - -*** (job aborted, file error in nonstop mode) - - -Here is how much of TeX's memory you used: - 3 strings out of 494923 - 112 string characters out of 6180742 - 45839 words of memory out of 5000000 - 3421 multiletter control sequences out of 15000+600000 - 3640 words of font info for 14 fonts, out of 8000000 for 9000 - 14 hyphenation exceptions out of 8191 - 0i,0n,0p,1b,6s stack positions out of 5000i,500n,10000p,200000b,80000s -! ==> Fatal error occurred, no output PDF file produced! From fff485f510f4eef327c414ca15b6f402b602a532 Mon Sep 17 00:00:00 2001 From: Christoph Thiede Date: Wed, 17 Mar 2021 13:57:34 +0100 Subject: [PATCH 34/58] Support bash v5 escaping --- .github/workflows/build.yml | 1 + Makefile | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6dd0c18b..c34ebfee 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -118,6 +118,7 @@ jobs: make book-pages env: SQUEAKVERSION: matrix.smalltalk + BASH_V5: true - name: Rename PDF run: mv SBE,{-${{ matrix.smalltalk }}}.pdf env: diff --git a/Makefile b/Makefile index 5ad0527a..669434c1 100644 --- a/Makefile +++ b/Makefile @@ -25,7 +25,11 @@ endif BOOK=SBE ETC=SBE-etc -TEXINPUT=$(shell echo "$$([ "$$DEBUG_FIGURES" = true ] && echo '\\\\AtBeginDocument{\\\\include{robustize-figures}}')$$([ -z "$$SQUEAK_VERSION" ] || echo '\\\\newcommand{\\\\SQUEAKVERSION}{${SQUEAK_VERSION}}')\\\\input{${BOOK}}") +ifdef BASH_V5 + TEXINPUT=$(shell echo "$$([ "$$DEBUG_FIGURES" = true ] && echo '\\AtBeginDocument{\\include{robustize-figures}}')$$([ -z "$$SQUEAK_VERSION" ] || echo '\\newcommand{\\SQUEAKVERSION}{${SQUEAK_VERSION}}')\\input{${BOOK}}") +else + TEXINPUT=$(shell echo "$$([ "$$DEBUG_FIGURES" = true ] && echo '\\\\AtBeginDocument{\\\\include{robustize-figures}}')$$([ -z "$$SQUEAK_VERSION" ] || echo '\\\\newcommand{\\\\SQUEAKVERSION}{${SQUEAK_VERSION}}')\\\\input{${BOOK}}") +endif # -------------------------------------------------------------------------------- all : book From b89d5d176ceabdc642920c8fcd99fe45e7756aa1 Mon Sep 17 00:00:00 2001 From: Christoph Thiede Date: Wed, 17 Mar 2021 14:07:40 +0100 Subject: [PATCH 35/58] Don't use fancy bash expansion syntax for "rename PDF" --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c34ebfee..2b41f9b8 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -120,7 +120,7 @@ jobs: SQUEAKVERSION: matrix.smalltalk BASH_V5: true - name: Rename PDF - run: mv SBE,{-${{ matrix.smalltalk }}}.pdf + run: mv SBE.pdf SBE-${{ matrix.smalltalk }}.pdf env: SQUEAK_VERSION: ${{ matrix.smalltalk }} - name: Store book From fd9fa6e39ea9de987724a9c0eef91d8bb1ac5391 Mon Sep 17 00:00:00 2001 From: Christoph Thiede Date: Wed, 17 Mar 2021 14:09:09 +0100 Subject: [PATCH 36/58] Remove debugging artifacts and document magic --- .github/workflows/build.yml | 4 ---- Makefile | 12 +----------- 2 files changed, 1 insertion(+), 15 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 2b41f9b8..2b0e1695 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -111,10 +111,6 @@ jobs: with: run: | apk add make - # DEBUG - echo '\\' - bash -v - # GUBED make book-pages env: SQUEAKVERSION: matrix.smalltalk diff --git a/Makefile b/Makefile index 669434c1..98d8f8d7 100644 --- a/Makefile +++ b/Makefile @@ -25,7 +25,7 @@ endif BOOK=SBE ETC=SBE-etc -ifdef BASH_V5 +ifdef BASH_V5 # Bash v5 interprets escape characters differently ๐Ÿ™„ TEXINPUT=$(shell echo "$$([ "$$DEBUG_FIGURES" = true ] && echo '\\AtBeginDocument{\\include{robustize-figures}}')$$([ -z "$$SQUEAK_VERSION" ] || echo '\\newcommand{\\SQUEAKVERSION}{${SQUEAK_VERSION}}')\\input{${BOOK}}") else TEXINPUT=$(shell echo "$$([ "$$DEBUG_FIGURES" = true ] && echo '\\\\AtBeginDocument{\\\\include{robustize-figures}}')$$([ -z "$$SQUEAK_VERSION" ] || echo '\\\\newcommand{\\\\SQUEAKVERSION}{${SQUEAK_VERSION}}')\\\\input{${BOOK}}") @@ -40,16 +40,6 @@ all : book book: clean listings book-pages book-pages : - # DEBUG - bash --version - echo '\\' - echo $(shell echo '\\newcommand') - echo $(shell echo "'\\newcommand'") - echo $(shell echo "$$(echo '\\\\newcommand')") - echo $(shell echo "$$(echo '$\$\newcommand')") - # GUBED - echo '${TEXINPUT}' - time ${PDFLATEX} '${TEXINPUT}' time ${BIBTEX} ${BOOK} time ${PDFLATEX} '${TEXINPUT}' From 44459b6a496b7758f28b5efb4603de8bf9182d15 Mon Sep 17 00:00:00 2001 From: Christoph Thiede Date: Wed, 17 Mar 2021 14:10:20 +0100 Subject: [PATCH 37/58] Reenable trunk builds This reverts commit 0d5597bd8bc5f95b65255342a7b9e22ea0a1a1f9. --- .github/workflows/build.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 2b0e1695..420a7df1 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -10,7 +10,7 @@ on: #env: # os: ubuntu-latest # fail-fast: false # facilitates debugging -# smalltalks: "[5.3] # [Trunk, 5.3] # DEBUG" +# smalltalks: "[Trunk, 5.3]" #--- jobs: @@ -20,7 +20,7 @@ jobs: strategy: fail-fast: false # facilitates debugging matrix: - smalltalk: [5.3] # [Trunk, 5.3] # DEBUG + smalltalk: [Trunk, 5.3] steps: - uses: actions/checkout@v2 - uses: hpi-swa/setup-smalltalkCI@v1 @@ -38,7 +38,7 @@ jobs: strategy: fail-fast: false # facilitates debugging matrix: - smalltalk: [5.3] # [Trunk, 5.3] # DEBUG + smalltalk: [Trunk, 5.3] steps: - uses: actions/checkout@v2 - uses: hpi-swa/setup-smalltalkCI@v1 @@ -65,7 +65,7 @@ jobs: strategy: fail-fast: false # facilitates debugging matrix: - smalltalk: [5.3] # [Trunk, 5.3] # DEBUG + smalltalk: [Trunk, 5.3] steps: - uses: actions/checkout@v2 - uses: hpi-swa/setup-smalltalkCI@v1 @@ -88,7 +88,7 @@ jobs: strategy: fail-fast: false # facilitates debugging matrix: - smalltalk: [5.3] # [Trunk, 5.3] # DEBUG + smalltalk: [Trunk, 5.3] steps: - uses: actions/checkout@v2 - name: Load listings From 7f73c24532d0723bc9ae90a272fa7308291eb8d1 Mon Sep 17 00:00:00 2001 From: Christoph Thiede Date: Wed, 17 Mar 2021 14:16:23 +0100 Subject: [PATCH 38/58] Updates setup-smalltalkCI parameter Complements hpi-swa/setup-smalltalkCI@387e0a5. --- .github/workflows/build.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 420a7df1..96aa2b3c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -25,7 +25,7 @@ jobs: - uses: actions/checkout@v2 - uses: hpi-swa/setup-smalltalkCI@v1 with: - smalltalk-version: Squeak64-${{ matrix.smalltalk }} + smalltalk-image: Squeak64-${{ matrix.smalltalk }} - name: Run SmalltalkSources tests run: smalltalkci -s Squeak64-${{ matrix.smalltalk }} SBE-Tests.smalltalk.ston timeout-minutes: 15 @@ -43,7 +43,7 @@ jobs: - uses: actions/checkout@v2 - uses: hpi-swa/setup-smalltalkCI@v1 with: - smalltalk-version: Squeak64-${{ matrix.smalltalk }} + smalltalk-image: Squeak64-${{ matrix.smalltalk }} - name: Run assertion tests run: smalltalkci -s Squeak64-${{ matrix.smalltalk }} SBE-Testing.smalltalk.ston timeout-minutes: 15 @@ -70,7 +70,7 @@ jobs: - uses: actions/checkout@v2 - uses: hpi-swa/setup-smalltalkCI@v1 with: - smalltalk-version: Squeak64-${{ matrix.smalltalk }} + smalltalk-image: Squeak64-${{ matrix.smalltalk }} - name: Build figures run: smalltalkci -s Squeak64-${{ matrix.smalltalk }} SBE-Extract.smalltalk.ston timeout-minutes: 15 From 6fe83793ddeeddbe577293215606931e925f21f4 Mon Sep 17 00:00:00 2001 From: Christoph Thiede Date: Wed, 17 Mar 2021 15:15:39 +0100 Subject: [PATCH 39/58] Liberalize job dependencies to improve parallelization, union jobs build + figures --- .github/workflows/build.yml | 57 +++++++++++-------------------------- 1 file changed, 16 insertions(+), 41 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 96aa2b3c..174247bc 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -9,7 +9,7 @@ on: # --- #env: # os: ubuntu-latest -# fail-fast: false # facilitates debugging +# fail-fast: false # smalltalks: "[Trunk, 5.3]" #--- @@ -18,7 +18,7 @@ jobs: name: ๐Ÿž Internal tests [Squeak ${{ matrix.smalltalk }}] runs-on: ubuntu-latest strategy: - fail-fast: false # facilitates debugging + fail-fast: false matrix: smalltalk: [Trunk, 5.3] steps: @@ -33,10 +33,9 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # for coverage reports tex-assertions: name: ๐Ÿงช Inline TEX assertions (@TEST) [Squeak ${{ matrix.smalltalk }}] - needs: tests runs-on: ubuntu-latest strategy: - fail-fast: false # facilitates debugging + fail-fast: false matrix: smalltalk: [Trunk, 5.3] steps: @@ -44,7 +43,7 @@ jobs: - uses: hpi-swa/setup-smalltalkCI@v1 with: smalltalk-image: Squeak64-${{ matrix.smalltalk }} - - name: Run assertion tests + - name: Run TEX assertions run: smalltalkci -s Squeak64-${{ matrix.smalltalk }} SBE-Testing.smalltalk.ston timeout-minutes: 15 listings: @@ -58,12 +57,12 @@ jobs: with: name: listings path: ListingSources - figures: - name: ๐Ÿ–ผ Build Squeak figures [Squeak ${{ matrix.smalltalk }}] - needs: tests + build: + name: ๐Ÿ“– Build book [Squeak ${{ matrix.smalltalk }}] + needs: [listings] runs-on: ubuntu-latest strategy: - fail-fast: false # facilitates debugging + fail-fast: false matrix: smalltalk: [Trunk, 5.3] steps: @@ -71,42 +70,17 @@ jobs: - uses: hpi-swa/setup-smalltalkCI@v1 with: smalltalk-image: Squeak64-${{ matrix.smalltalk }} - - name: Build figures + - id: figures + name: ๐Ÿ–ผ Build Squeak figures run: smalltalkci -s Squeak64-${{ matrix.smalltalk }} SBE-Extract.smalltalk.ston timeout-minutes: 15 - - name: Store figures - if: always() - uses: actions/upload-artifact@master - with: - name: figures-${{ matrix.smalltalk }} - path: '**/figures/*.png' - build: - name: ๐Ÿ“– Build book [Squeak ${{ matrix.smalltalk }}] - needs: [listings, figures] - if: (needs.listings.result == 'success') # build book even if figures did not succeed, see DEBUG_FIGURES below - runs-on: ubuntu-latest - strategy: - fail-fast: false # facilitates debugging - matrix: - smalltalk: [Trunk, 5.3] - steps: - - uses: actions/checkout@v2 - - name: Load listings - uses: actions/download-artifact@master - with: - name: listings - path: ListingSources - - name: Load figures - uses: actions/download-artifact@master - with: - name: figures-${{ matrix.smalltalk }} - path: . - - if: (needs.figures.result != 'success') + continue-on-error: true + - if: (steps.figures.outcome == 'failure') name: Configure DEBUG_FIGURES run: | echo ::warning::jobs.figures has failed, compiling PDF with missing figures echo "DEBUG_FIGURES=true" >> $GITHUB_ENV - - name: Compile PDF + - name: โš™ Compile PDF uses: xu-cheng/texlive-action/full@v1 with: run: | @@ -132,10 +106,11 @@ jobs: exit 1 notify: name: ๐Ÿ“ฃ Notify community on failure - needs: [build, tex-assertions] + needs: [tests, tex-assertions, build] if: | github.event_name == 'schedule' && ( - needs.build.result == 'failure' + needs.tests.result == 'failure' + || needs.build.result == 'failure' || needs.tex-assertions.result == 'failure') runs-on: ubuntu-latest steps: From 39dd4f2503c9bae48ee28e5cf6fda1d7f4109db2 Mon Sep 17 00:00:00 2001 From: Christoph Thiede Date: Wed, 17 Mar 2021 15:23:59 +0100 Subject: [PATCH 40/58] Restore load listings step (was removed by accident) --- .github/workflows/build.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 174247bc..8ba2a3ff 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -80,6 +80,11 @@ jobs: run: | echo ::warning::jobs.figures has failed, compiling PDF with missing figures echo "DEBUG_FIGURES=true" >> $GITHUB_ENV + - name: Load listings + uses: actions/download-artifact@master + with: + name: listings + path: ListingSources - name: โš™ Compile PDF uses: xu-cheng/texlive-action/full@v1 with: From e24bea4fa8d5014e3178c5147425e94760bb723f Mon Sep 17 00:00:00 2001 From: Christoph Thiede Date: Wed, 17 Mar 2021 15:25:52 +0100 Subject: [PATCH 41/58] Abbreviate job names --- .github/workflows/build.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8ba2a3ff..2e52b954 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -15,7 +15,7 @@ on: jobs: tests: - name: ๐Ÿž Internal tests [Squeak ${{ matrix.smalltalk }}] + name: ๐Ÿž Internal tests [${{ matrix.smalltalk }}] runs-on: ubuntu-latest strategy: fail-fast: false @@ -32,7 +32,7 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # for coverage reports tex-assertions: - name: ๐Ÿงช Inline TEX assertions (@TEST) [Squeak ${{ matrix.smalltalk }}] + name: ๐Ÿงช @TEST assertions [${{ matrix.smalltalk }}] runs-on: ubuntu-latest strategy: fail-fast: false @@ -58,7 +58,7 @@ jobs: name: listings path: ListingSources build: - name: ๐Ÿ“– Build book [Squeak ${{ matrix.smalltalk }}] + name: ๐Ÿ“– Build book [${{ matrix.smalltalk }}] needs: [listings] runs-on: ubuntu-latest strategy: From 38c0054b8b5fe3c36aa6a807d38f5f334eabd77a Mon Sep 17 00:00:00 2001 From: Christoph Thiede Date: Wed, 17 Mar 2021 15:30:53 +0100 Subject: [PATCH 42/58] Unicode --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 2e52b954..e3fd6574 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -52,7 +52,7 @@ jobs: steps: - uses: actions/checkout@v2 - run: make listings - - name: Store listings + - name: ๐Ÿ’พ Store listings uses: actions/upload-artifact@master with: name: listings @@ -98,7 +98,7 @@ jobs: run: mv SBE.pdf SBE-${{ matrix.smalltalk }}.pdf env: SQUEAK_VERSION: ${{ matrix.smalltalk }} - - name: Store book + - name: ๐Ÿ’พ Store book uses: actions/upload-artifact@master with: name: book-${{ matrix.smalltalk }} From 1559823d485ce8e0fbd13d6718d739e8cc48c54c Mon Sep 17 00:00:00 2001 From: Christoph Thiede Date: Wed, 17 Mar 2021 15:54:09 +0100 Subject: [PATCH 43/58] Enables coveralls for SBE-Tests --- SBE-Tests.smalltalk.ston | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/SBE-Tests.smalltalk.ston b/SBE-Tests.smalltalk.ston index f70b54ca..a97def3f 100644 --- a/SBE-Tests.smalltalk.ston +++ b/SBE-Tests.smalltalk.ston @@ -9,6 +9,10 @@ SmalltalkCISpec { } ], #testing : { - #categories : [ 'SBE-Tests' ] + #categories : [ 'SBE-Tests' ], + #coverage : { + #packages : [ 'SBE-Extract' ], + #format : #coveralls + } } } From c91b6e96bb321a8fea08212e033b7e192943acd7 Mon Sep 17 00:00:00 2001 From: Christoph Thiede Date: Wed, 17 Mar 2021 16:08:44 +0100 Subject: [PATCH 44/58] Fix a slip in "Check DEBUG_FIGURES" --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e3fd6574..20985e4b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -103,7 +103,7 @@ jobs: with: name: book-${{ matrix.smalltalk }} path: SBE-${{ matrix.smalltalk }}.pdf - - if: (needs.figures.result != 'success') + - if: (steps.figures.outcome == 'failure') name: Check DEBUG_FIGURES run: | echo ::error::jobs.figures has failed, so the compiled PDF might miss some figures! From 0031cc02f624ca6c9887e46c69c6e0a8aac3ea43 Mon Sep 17 00:00:00 2001 From: Christoph Thiede Date: Wed, 17 Mar 2021 16:08:54 +0100 Subject: [PATCH 45/58] Try to fix notify job --- .github/workflows/build.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 20985e4b..dde0e151 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -112,14 +112,14 @@ jobs: notify: name: ๐Ÿ“ฃ Notify community on failure needs: [tests, tex-assertions, build] - if: | - github.event_name == 'schedule' && ( - needs.tests.result == 'failure' - || needs.build.result == 'failure' - || needs.tex-assertions.result == 'failure') + if: always() && github.event_name == 'schedule' runs-on: ubuntu-latest steps: - uses: voxmedia/github-action-slack-notify-build@v1 + if: | + needs.tests.result == 'failure' + || needs.build.result == 'failure' + || needs.tex-assertions.result == 'failure') with: channel: squeak status: FAILED From f9b884cb25b785091e0a32a35934cf01e165d7cd Mon Sep 17 00:00:00 2001 From: Christoph Thiede Date: Wed, 17 Mar 2021 16:12:39 +0100 Subject: [PATCH 46/58] Fix syntax error (9) --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index dde0e151..ce2e9dc3 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -119,7 +119,7 @@ jobs: if: | needs.tests.result == 'failure' || needs.build.result == 'failure' - || needs.tex-assertions.result == 'failure') + || needs.tex-assertions.result == 'failure' with: channel: squeak status: FAILED From 093015fe1443ee8349bdedbfb4411dc7ce6ef1ff Mon Sep 17 00:00:00 2001 From: Christoph Thiede Date: Wed, 17 Mar 2021 17:48:54 +0100 Subject: [PATCH 47/58] More escaping fixes --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 98d8f8d7..7ca160f1 100644 --- a/Makefile +++ b/Makefile @@ -26,7 +26,7 @@ endif BOOK=SBE ETC=SBE-etc ifdef BASH_V5 # Bash v5 interprets escape characters differently ๐Ÿ™„ - TEXINPUT=$(shell echo "$$([ "$$DEBUG_FIGURES" = true ] && echo '\\AtBeginDocument{\\include{robustize-figures}}')$$([ -z "$$SQUEAK_VERSION" ] || echo '\\newcommand{\\SQUEAKVERSION}{${SQUEAK_VERSION}}')\\input{${BOOK}}") + TEXINPUT=$(shell echo "$$([ "$$DEBUG_FIGURES" = true ] && echo '\AtBeginDocument{\include{robustize-figures}}')$$([ -z "$$SQUEAK_VERSION" ] || echo '\newcommand{\SQUEAKVERSION}{${SQUEAK_VERSION}}')\\input{${BOOK}}") else TEXINPUT=$(shell echo "$$([ "$$DEBUG_FIGURES" = true ] && echo '\\\\AtBeginDocument{\\\\include{robustize-figures}}')$$([ -z "$$SQUEAK_VERSION" ] || echo '\\\\newcommand{\\\\SQUEAKVERSION}{${SQUEAK_VERSION}}')\\\\input{${BOOK}}") endif From e89643dfb96f5b594dcdf5dd1248ac367088b956 Mon Sep 17 00:00:00 2001 From: Christoph Thiede Date: Wed, 17 Mar 2021 17:49:04 +0100 Subject: [PATCH 48/58] Fix name of env var --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ce2e9dc3..9cc0aa7a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -92,7 +92,7 @@ jobs: apk add make make book-pages env: - SQUEAKVERSION: matrix.smalltalk + SQUEAK_VERSION: matrix.smalltalk BASH_V5: true - name: Rename PDF run: mv SBE.pdf SBE-${{ matrix.smalltalk }}.pdf From 9a90444ffa6cd92b3116ed8741f986e0ee46a5b1 Mon Sep 17 00:00:00 2001 From: Christoph Thiede Date: Wed, 17 Mar 2021 17:49:46 +0100 Subject: [PATCH 49/58] Try to fix notify condition --- .github/workflows/build.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 9cc0aa7a..8847c317 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -112,14 +112,15 @@ jobs: notify: name: ๐Ÿ“ฃ Notify community on failure needs: [tests, tex-assertions, build] - if: always() && github.event_name == 'schedule' + if: always() runs-on: ubuntu-latest steps: - uses: voxmedia/github-action-slack-notify-build@v1 if: | - needs.tests.result == 'failure' - || needs.build.result == 'failure' - || needs.tex-assertions.result == 'failure' + github.event_name == 'schedule' && ( + needs.tests.result == 'failure' + || needs.build.result == 'failure' + || needs.tex-assertions.result == 'failure') with: channel: squeak status: FAILED From 65b74efdc1d351fb37f573a8259e28ae074e8bc3 Mon Sep 17 00:00:00 2001 From: Christoph Thiede Date: Wed, 17 Mar 2021 18:08:36 +0100 Subject: [PATCH 50/58] Fix syntax error (10) --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8847c317..985988e3 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -92,7 +92,7 @@ jobs: apk add make make book-pages env: - SQUEAK_VERSION: matrix.smalltalk + SQUEAK_VERSION: ${{ matrix.smalltalk }} BASH_V5: true - name: Rename PDF run: mv SBE.pdf SBE-${{ matrix.smalltalk }}.pdf From 7974de4eedaeb368acec6427e5c1f990611d5256 Mon Sep 17 00:00:00 2001 From: Christoph Thiede Date: Wed, 17 Mar 2021 18:08:50 +0100 Subject: [PATCH 51/58] Debug notifications --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 985988e3..f60b350b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -117,7 +117,7 @@ jobs: steps: - uses: voxmedia/github-action-slack-notify-build@v1 if: | - github.event_name == 'schedule' && ( + github.event_name != 'schedule' && ( # DEBUG needs.tests.result == 'failure' || needs.build.result == 'failure' || needs.tex-assertions.result == 'failure') From ca001585b808438b935db9e4c02de8537c14d0a6 Mon Sep 17 00:00:00 2001 From: Christoph Thiede Date: Wed, 17 Mar 2021 18:09:28 +0100 Subject: [PATCH 52/58] Fix syntax error (11) --- .github/workflows/build.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f60b350b..141fbe52 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -116,8 +116,9 @@ jobs: runs-on: ubuntu-latest steps: - uses: voxmedia/github-action-slack-notify-build@v1 + # DEBUG if: | - github.event_name != 'schedule' && ( # DEBUG + github.event_name != 'schedule' && ( needs.tests.result == 'failure' || needs.build.result == 'failure' || needs.tex-assertions.result == 'failure') From 27496e416256172b4668548f04282ee5c411fcaf Mon Sep 17 00:00:00 2001 From: Christoph Thiede Date: Wed, 17 Mar 2021 19:58:21 +0100 Subject: [PATCH 53/58] Update \imagetest to reflect changes in graphicx package Based on the excellent answer of Axel Krypton (https://tex.stackexchange.com/a/567990/221054). --- robustize-figures.tex | 107 ++++++++++++++++++++++++++---------------- 1 file changed, 66 insertions(+), 41 deletions(-) diff --git a/robustize-figures.tex b/robustize-figures.tex index 1732232c..782745b7 100644 --- a/robustize-figures.tex +++ b/robustize-figures.tex @@ -1,48 +1,73 @@ \let\StandardIncludeGraphics\includegraphics %========================================== -% CREDITS: https://tex.stackexchange.com/questions/99070/check-for-a-valid-file-before-using-includegraphics/99099#99099 +% CREDITS: https://tex.stackexchange.com/a/567990/221054 \makeatletter \newif\ifgraphicexist - \catcode`\*=11 \newcommand\imagetest[1]{% - \begingroup - \global\graphicexisttrue - \let\input@path\Ginput@path - \filename@parse{#1}% - \ifx\filename@ext\relax - \@for\Gin@temp:=\Gin@extensions\do{% - \ifx\Gin@ext\relax - \Gin@getbase\Gin@temp - \fi}% - \else - \Gin@getbase{\Gin@sepdefault\filename@ext}% - \ifx\Gin@ext\relax - \global\graphicexistfalse - \def\Gin@base{\filename@area\filename@base}% - \edef\Gin@ext{\Gin@sepdefault\filename@ext}% - \fi - \fi - \ifx\Gin@ext\relax - \global\graphicexistfalse - \else - \@ifundefined{Gin@rule@\Gin@ext}% - {\global\graphicexistfalse}% - {}% - \fi - \ifx\Gin@ext\relax - \gdef\imageextension{unknown}% - \else - \xdef\imageextension{\Gin@ext}% - \fi - \endgroup - \ifgraphicexist - \expandafter \@firstoftwo - \else - \expandafter \@secondoftwo - \fi - } + \begingroup + \global\graphicexisttrue + \ifx\detokenize\@undefined\else + \edef\Gin@extensions{\detokenize\expandafter{\Gin@extensions}}% + \fi + \let\input@path\Ginput@path + \expandafter\filename@parse\expandafter{#1}% + \ifx\filename@ext\Gin@gzext + \expandafter\filename@parse\expandafter{\filename@base}% + \ifx\filename@ext\relax + \let\filename@ext\Gin@gzext + \else + \edef\Gin@ext{\Gin@ext\Gin@sepdefault\Gin@gzext}% + \fi + \fi + \ifx\filename@ext\relax + \@for\Gin@temp:=\Gin@extensions\do{% + \ifx\Gin@ext\relax + \Gin@getbase\Gin@temp + \fi}% + \else + \Gin@getbase{\Gin@sepdefault\filename@ext}% + \ifx\Gin@ext\relax + \global\graphicexistfalse + \let\Gin@savedbase\filename@base + \let\Gin@savedext\filename@ext + \edef\filename@base{\filename@base\Gin@sepdefault\filename@ext}% + \let\filename@ext\relax + \@for\Gin@temp:=\Gin@extensions\do{% + \ifx\Gin@ext\relax + \Gin@getbase\Gin@temp + \fi}% + \ifx\Gin@ext\relax + \let\filename@base\Gin@savedbase + \let\filename@ext\Gin@savedext + \fi + \fi + \ifx\Gin@ext\relax + \global\graphicexistfalse + \def\Gin@base{\filename@area\filename@base}% + \edef\Gin@ext{\Gin@sepdefault\filename@ext}% + \fi + \fi + \ifx\Gin@ext\relax + \global\graphicexistfalse + \else + \@ifundefined{Gin@rule@\Gin@ext}% + {\global\graphicexistfalse}% + {}% + \fi + \ifx\Gin@ext\relax + \gdef\imageextension{unknown}% + \else + \xdef\imageextension{\Gin@ext}% + \fi + \endgroup + \ifgraphicexist + \expandafter \@firstoftwo + \else + \expandafter \@secondoftwo + \fi +} \catcode`\*=12 \makeatother %========================================== @@ -62,11 +87,11 @@ \centering Missing figure - \texttt{#2} + \texttt{#2} - \medskip + \medskip - \shrug + \shrug \vspace*{\fill} \end{minipage}} } From 78dfd54f34afc9295fce548b3a658a92a666a734 Mon Sep 17 00:00:00 2001 From: Christoph Thiede Date: Wed, 17 Mar 2021 20:31:13 +0100 Subject: [PATCH 54/58] Switch slack notifications to rtCamp/action-slack-notify --- .github/workflows/build.yml | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 141fbe52..b30e319d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -115,16 +115,20 @@ jobs: if: always() runs-on: ubuntu-latest steps: - - uses: voxmedia/github-action-slack-notify-build@v1 # DEBUG - if: | + - if: | github.event_name != 'schedule' && ( needs.tests.result == 'failure' || needs.build.result == 'failure' || needs.tex-assertions.result == 'failure') + uses: rtCamp/action-slack-notify@v2 + env: + SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }} + SLACK_USERNAME: "GitHub Actions" + SLACK_COLOR: red + SLACK_MESSAGE: "Build failed!" + SLACK_TITLE: "Oh no, the latest CI build for SqueakByExample failed! ๐Ÿ˜ฑ" with: channel: squeak status: FAILED color: danger - env: - SLACK_BOT_TOKEN: ${{ secrets.SLACK_NOTIFICATIONS_BOT_TOKEN }} From d22e8d625a9df047704787954d77817169b7582b Mon Sep 17 00:00:00 2001 From: Christoph Thiede Date: Wed, 17 Mar 2021 22:51:00 +0100 Subject: [PATCH 55/58] Beautify slack notifications --- .github/workflows/build.yml | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b30e319d..d8cdd921 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -125,10 +125,7 @@ jobs: env: SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }} SLACK_USERNAME: "GitHub Actions" - SLACK_COLOR: red - SLACK_MESSAGE: "Build failed!" - SLACK_TITLE: "Oh no, the latest CI build for SqueakByExample failed! ๐Ÿ˜ฑ" - with: - channel: squeak - status: FAILED - color: danger + SLACK_COLOR: danger + SLACK_ICON: https://avatars1.githubusercontent.com/u/65916846?v=4 + SLACK_TITLE: "Build failed!" + SLACK_MESSAGE: "Oh no, the latest CI build for SqueakByExample failed! ๐Ÿ˜ฑ" From 24c42e7b512bab9cba74457430b694d5e99f79ca Mon Sep 17 00:00:00 2001 From: Christoph Thiede Date: Wed, 17 Mar 2021 22:52:41 +0100 Subject: [PATCH 56/58] Revert "Debug notifications" This reverts commit 7974de4eedaeb368acec6427e5c1f990611d5256. --- .github/workflows/build.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d8cdd921..cc3e0264 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -115,12 +115,10 @@ jobs: if: always() runs-on: ubuntu-latest steps: - # DEBUG - if: | - github.event_name != 'schedule' && ( needs.tests.result == 'failure' || needs.build.result == 'failure' - || needs.tex-assertions.result == 'failure') + || needs.tex-assertions.result == 'failure' uses: rtCamp/action-slack-notify@v2 env: SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }} From 6c13bd02df8c21fd0a8fc7600627165f4d014d1e Mon Sep 17 00:00:00 2001 From: Christoph Thiede Date: Thu, 18 Mar 2021 18:21:31 +0100 Subject: [PATCH 57/58] Patch \imagetest again to support \includepdf Co-authored-by: Alessandro Sciarra --- robustize-figures.tex | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/robustize-figures.tex b/robustize-figures.tex index 782745b7..50cb623e 100644 --- a/robustize-figures.tex +++ b/robustize-figures.tex @@ -12,7 +12,8 @@ \edef\Gin@extensions{\detokenize\expandafter{\Gin@extensions}}% \fi \let\input@path\Ginput@path - \expandafter\filename@parse\expandafter{#1}% + \set@curr@file{#1}% + \expandafter\filename@parse\expandafter{\@curr@file}% \ifx\filename@ext\Gin@gzext \expandafter\filename@parse\expandafter{\filename@base}% \ifx\filename@ext\relax @@ -61,7 +62,7 @@ \else \xdef\imageextension{\Gin@ext}% \fi - \endgroup + \endgroup \ifgraphicexist \expandafter \@firstoftwo \else @@ -87,11 +88,11 @@ \centering Missing figure - \texttt{#2} - - \medskip - - \shrug + \texttt{#2} + + \medskip + + \shrug \vspace*{\fill} \end{minipage}} } From 6128824543107777a318a61edba09f00ba7e50b6 Mon Sep 17 00:00:00 2001 From: Christoph Thiede Date: Thu, 18 Mar 2021 18:37:29 +0100 Subject: [PATCH 58/58] Turn off notifications unless build was scheduled --- .github/workflows/build.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index cc3e0264..8cfba5cb 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -116,9 +116,10 @@ jobs: runs-on: ubuntu-latest steps: - if: | - needs.tests.result == 'failure' - || needs.build.result == 'failure' - || needs.tex-assertions.result == 'failure' + github.event_name == 'schedule' && ( + needs.tests.result == 'failure' + || needs.build.result == 'failure' + || needs.tex-assertions.result == 'failure') uses: rtCamp/action-slack-notify@v2 env: SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }} @@ -126,4 +127,4 @@ jobs: SLACK_COLOR: danger SLACK_ICON: https://avatars1.githubusercontent.com/u/65916846?v=4 SLACK_TITLE: "Build failed!" - SLACK_MESSAGE: "Oh no, the latest CI build for SqueakByExample failed! ๐Ÿ˜ฑ" + SLACK_MESSAGE: "Oh no, the latest scheduled CI build for SqueakByExample failed! ๐Ÿ˜ฑ"