diff --git a/scripts/postLoading.st b/.github/scripts/postLoading.st similarity index 100% rename from scripts/postLoading.st rename to .github/scripts/postLoading.st diff --git a/.github/scripts/preLoading.st b/.github/scripts/preLoading.st index 3eb1cbe92e..2714f931b9 100644 --- a/.github/scripts/preLoading.st +++ b/.github/scripts/preLoading.st @@ -1,3 +1,45 @@ -#( 'BaselineOfLibGit' 'BaselineOfIceberg' ) do: [ :each | - (RPackageOrganizer default packageNamed: each ifAbsent: [ nil ]) - ifNotNil: [ :aPackage | aPackage removeFromSystem ] ] +"Shutdown Libgit" +LGitLibrary shutDown: true. + +"Unregister all iceberg repository adapters since we are going to unload all code related to it. +Otherwise obsolete instances will stay". +IceMetacelloRepositoryAdapter allInstances do: #unregister. +Smalltalk globals at: #IceSystemEventListener ifPresent: #unregisterSystemAnnouncements. + +"Workaround to avoid keeping an entry in World Menu to the obsolete class." +(IceTipRepositoriesBrowser class>>#menuCommandOn:) removeFromSystem. + +"Remove iceberg from system (so I can reload it)" +MetacelloPharoPlatform select. +#( + 'BaselineOfLibGit' + 'BaselineOfIceberg' + 'Iceberg-UI' + 'Iceberg-TipUI' + 'Iceberg-Plugin-Pharo' + 'Iceberg-Plugin-Metacello' + 'Iceberg-Plugin-GitHub' + 'Iceberg-Plugin-Migration' + 'Iceberg-Plugin' + 'Iceberg-Metacello-Integration' + 'Iceberg-Libgit-Tonel' + 'Iceberg-Libgit-Filetree' + 'Iceberg-Libgit' + 'Iceberg-Tests' + 'Iceberg-Memory' + 'Iceberg-UI-Tests' + 'Iceberg-Core' + 'Iceberg-Changes' + 'Iceberg-Adapters' + 'Iceberg' + 'Iceberg-GitCommand' + 'Iceberg-SmartUI' + 'Iceberg-Pharo6' + 'LibGit-Core') +do: [ :each | + (each asPackageIfAbsent: [ + (each , ' not found') traceCr. + nil ]) + ifNotNil: [ :package | + ('Removing ', each) traceCr. + package removeFromSystem ] ] diff --git a/.github/scripts/preTesting.st b/.github/scripts/preTesting.st deleted file mode 100644 index 7136993914..0000000000 --- a/.github/scripts/preTesting.st +++ /dev/null @@ -1,3 +0,0 @@ -"Adding this to pass a release test that does not has sense to run here" -(FileLocator imageDirectory / 'pharo.version') writeStreamDo: [ :stream | - stream << (SystemVersion current major asString, SystemVersion current minor asString) ] diff --git a/scripts/sync-wiki.sh b/.github/scripts/sync-wiki.sh similarity index 100% rename from scripts/sync-wiki.sh rename to .github/scripts/sync-wiki.sh diff --git a/scripts/testUpdateIceberg.sh b/.github/scripts/testUpdateIceberg.sh similarity index 100% rename from scripts/testUpdateIceberg.sh rename to .github/scripts/testUpdateIceberg.sh diff --git a/.github/workflows/sync-wiki.yml b/.github/workflows/sync-wiki.yml index 32e23003e6..7ba5ec0ae3 100644 --- a/.github/workflows/sync-wiki.yml +++ b/.github/workflows/sync-wiki.yml @@ -13,7 +13,7 @@ jobs: runs-on: ubuntu-latest name: Sync GitHub Wiki from Sources steps: - - run: ./scripts/sync-wiki.sh + - run: ./.github/scripts/sync-wiki.sh env: GH_PERSONAL_ACCESS_TOKEN: ${{ secrets.GH_PERSONAL_ACCESS_TOKEN }} shell: bash diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 1592af0894..89c428c23a 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -32,16 +32,11 @@ jobs: runs-on: ${{ matrix.os }} name: ${{ matrix.smalltalk }} on ${{ matrix.os }} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Setup smalltalkCI uses: hpi-swa/setup-smalltalkCI@v1 with: - smalltalk-image: ${{ matrix.smalltalk }} -# - name: Load Image and Run Release Tests -# run: smalltalkci -s ${{ matrix.smalltalk }} .smalltalk.release.ston -# timeout-minutes: 10 -# - name: Clean Up -# run: rm -Rf ${{ env.SMALLTALK_CI_BUILD }} + smalltalk-version: ${{ matrix.smalltalk }} - name: Load Image and Run Tests run: smalltalkci -s ${{ matrix.smalltalk }} ${{ matrix.ston }} shell: bash diff --git a/.project b/.project index 078c63e532..ac2d93a83c 100644 --- a/.project +++ b/.project @@ -1,4 +1,3 @@ { - 'srcDirectory' : '', - 'tags' : [ #system ] + 'srcDirectory' : '' } diff --git a/.smalltalk.release.ston b/.smalltalk.release.ston deleted file mode 100644 index 9ec58385eb..0000000000 --- a/.smalltalk.release.ston +++ /dev/null @@ -1,18 +0,0 @@ -SmalltalkCISpec { - #loading : [ - SCIMetacelloLoadSpec { - #baseline : 'Iceberg', - #onConflict : #useIncoming, - #onUpgrade : #useIncoming, - #ignoreImage : true, - #onWarningLog : true, - #load : [ 'development' ] - } - ], - #preTesting : [ '.github/scripts/preTesting.st' ], - #testing : { - #packages : [ - 'System-Settings-Tests.*', - 'ReleaseTests.*' ] - } -} diff --git a/.smalltalk.ston b/.smalltalk.ston index 1e26ca81b4..b147c319bf 100644 --- a/.smalltalk.ston +++ b/.smalltalk.ston @@ -1,7 +1,7 @@ SmalltalkCISpec { #name: 'Iceberg', - #preLoading: 'scripts/preLoading.st', - #postLoading: 'scripts/postLoading.st', + #preLoading: '.github/scripts/preLoading.st', + #postLoading: '.github/scripts/postLoading.st', #loading : [ SCIMetacelloLoadSpec { #baseline : 'Iceberg', diff --git a/.smalltalk.windows.ston b/.smalltalk.windows.ston index c2c7ac2dcd..b966023674 100644 --- a/.smalltalk.windows.ston +++ b/.smalltalk.windows.ston @@ -1,7 +1,7 @@ SmalltalkCISpec { #name: 'Iceberg', - #preLoading: 'scripts/preLoading.st', - #postLoading: 'scripts/postLoading.st', + #preLoading: '.github/scripts/preLoading.st', + #postLoading: '.github/scripts/postLoading.st', #loading : [ SCIMetacelloLoadSpec { #baseline : 'Iceberg', diff --git a/docs/Contributing-to-Iceberg.md b/docs/Contributing-to-Iceberg.md index d581603e7c..3cd634e009 100644 --- a/docs/Contributing-to-Iceberg.md +++ b/docs/Contributing-to-Iceberg.md @@ -16,11 +16,11 @@ To do that, it's needed to create a pull request to one of the following branche Loading Iceberg in Pharo is more difficult than updating other projects -that just use a "Metacello script"- since normally Metacello will rely on Iceberg to update Iceberg. -That's the reason to have [a bash update script](../scripts/testUpdateIceberg.sh) that performs some pre- and post-load actions. +That's the reason to have [a bash update script](../.github/scripts/testUpdateIceberg.sh) that performs some pre- and post-load actions. Steps to use it: 1. Open a terminal 2. Clone this repository and checkout the desired branch -3. Execute `./scripts/testUpdateIceberg.sh --dev` +3. Execute `./.github/scripts/testUpdateIceberg.sh --dev` 4. Execute `./pharo-ui Pharo.image` Also, the script loads the `development` Metacello group, which contains some tests that are not present in the Pharo image normally. @@ -30,14 +30,14 @@ About Windows platform, we know it worked in the MINGW64 Bash Console that came ## Contributions to Wiki -We count with [a bash script](../scripts/sync-wiki.sh) that deploys the markdown files in `doc/` directory to the Wiki section. +We count with [a bash script](../.github/scripts/sync-wiki.sh) that deploys the markdown files in `doc/` directory to the Wiki section. The entry point for the wiki is the [Home page](Home.md). A while ago, Travis CI executed such bash script each time the `master` branch changed. This is not working for the moment, but contributors can execute the following command in a terminal: ```bash -export GH_TOKEN=<> && ./scripts/sync-wiki.sh +export GH_TOKEN=<> && ./.github/scripts/sync-wiki.sh ``` where `<>` is a [GitHub Personal Token](https://docs.github.com/en/github/authenticating-to-github/creating-a-personal-access-token) with repo:write permissions on this repository. diff --git a/scripts/preLoading.st b/scripts/preLoading.st deleted file mode 100644 index 2714f931b9..0000000000 --- a/scripts/preLoading.st +++ /dev/null @@ -1,45 +0,0 @@ -"Shutdown Libgit" -LGitLibrary shutDown: true. - -"Unregister all iceberg repository adapters since we are going to unload all code related to it. -Otherwise obsolete instances will stay". -IceMetacelloRepositoryAdapter allInstances do: #unregister. -Smalltalk globals at: #IceSystemEventListener ifPresent: #unregisterSystemAnnouncements. - -"Workaround to avoid keeping an entry in World Menu to the obsolete class." -(IceTipRepositoriesBrowser class>>#menuCommandOn:) removeFromSystem. - -"Remove iceberg from system (so I can reload it)" -MetacelloPharoPlatform select. -#( - 'BaselineOfLibGit' - 'BaselineOfIceberg' - 'Iceberg-UI' - 'Iceberg-TipUI' - 'Iceberg-Plugin-Pharo' - 'Iceberg-Plugin-Metacello' - 'Iceberg-Plugin-GitHub' - 'Iceberg-Plugin-Migration' - 'Iceberg-Plugin' - 'Iceberg-Metacello-Integration' - 'Iceberg-Libgit-Tonel' - 'Iceberg-Libgit-Filetree' - 'Iceberg-Libgit' - 'Iceberg-Tests' - 'Iceberg-Memory' - 'Iceberg-UI-Tests' - 'Iceberg-Core' - 'Iceberg-Changes' - 'Iceberg-Adapters' - 'Iceberg' - 'Iceberg-GitCommand' - 'Iceberg-SmartUI' - 'Iceberg-Pharo6' - 'LibGit-Core') -do: [ :each | - (each asPackageIfAbsent: [ - (each , ' not found') traceCr. - nil ]) - ifNotNil: [ :package | - ('Removing ', each) traceCr. - package removeFromSystem ] ]