Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[AS-11967] pharo12, 13用にmasterの変更を反映 #12

Merged
merged 50 commits into from
Nov 6, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
8e603d8
Fix retrieval of package name for a method in Pharo 12 (#638)
Apr 8, 2024
3b1a8b0
feat: add Pharo13 support
estebanlm Apr 23, 2024
dac3ab7
fix: properly collect classes from packages
theseion Apr 29, 2024
c976244
chore: ignore failures of GemStone64-3.5.3 on macOS
theseion May 7, 2024
523a618
fix: remove flaky SCITestReporterSdtoutTest
theseion May 8, 2024
8c28111
feat: increase job timeout for Squeak64-trunk
theseion May 9, 2024
21cd978
Issue #613: 3.5.8 and 3.6.8 are not expected to run on macos-latest (…
dalehenrich May 11, 2024
b3ee887
Issue #613: continueonerror for for gemstone no longer needed
dalehenrich May 13, 2024
322aef1
[Bug]: GToolkit Download Target Should Include Zip Extension
seandenigris May 16, 2024
4fe5a03
Avoid GT DL if Cached, Discard Output during Zip Extraction
seandenigris May 16, 2024
3fd7325
GT - Declare local smalltalk_version
seandenigris May 16, 2024
2979469
GT: Use smalltalk_version in Cache Overwrite Output Message
seandenigris May 16, 2024
f35fc8f
feat: add PharoXX-13 image selection
theseion May 21, 2024
cdd3710
Merge pull request #643 from theseion/add-pharo-13
theseion May 26, 2024
f153d20
Create allPackageNames.st
Ducasse Jun 11, 2024
570d5d1
fix: replace references to RPackageOrganizer
theseion Jun 11, 2024
25221dd
Merge pull request #644 from Ducasse/patch-1
theseion Jun 12, 2024
9111327
feat: report image info without `StSystemReporter`
theseion Jun 15, 2024
6189fe8
chore: fix indentation in run help
theseion Jun 15, 2024
c37fbbf
fix: `Random` must not be instantiated for multiple invocations
theseion Jun 15, 2024
75da829
Add Moose 12 (#652)
ClotildeToullec Jul 10, 2024
233b8d3
Updated changes because 'Pharo version control should not be used to …
Aug 26, 2024
2800576
Trigger PR update
Aug 26, 2024
807a979
Use at: with a nil check instead of at:ifAbsent: because 'it is not p…
hernanmd Aug 27, 2024
f8e6738
Moose image extraction: add a flag to unzip only files and not direct…
ClotildeToullec Aug 27, 2024
781a1ba
Merge pull request #657 from ClotildeToullec/master
theseion Aug 27, 2024
7625c78
Dispatch ignorePackageNotificationClass through SmalltalkCI platformC…
Aug 27, 2024
73b27a5
Merge branch 'hpi-swa:master' into do_not_use_author_in_P13
hernanmd Aug 27, 2024
e4c6739
Try using includesKey: instead of (at:) ifNil:
Aug 27, 2024
e515bb3
I think we don't need the P13 version of ignorePackageNotificationClass
Aug 27, 2024
7e3bce0
Avoid the mess of using Notification and re-introduce MetacelloIgnore…
Aug 28, 2024
92f5df5
Add missing README.md
Aug 28, 2024
af33caf
Add method to ignore author behavior in P13 but keeping compatibility…
Aug 28, 2024
6c1f844
Fix inconsistency in method extension name
Aug 28, 2024
e43b3c7
Try inconsistency fix again
Aug 28, 2024
57dfe32
Merge pull request #656 from hernanmd/do_not_use_author_in_P13
theseion Aug 28, 2024
2b9b7e9
Remove unsupported Moose images
ClotildeToullec Aug 29, 2024
4e6a4ad
Fix typo
ClotildeToullec Aug 29, 2024
92f7c59
Other typos
ClotildeToullec Aug 29, 2024
5c8aa70
Merge pull request #659 from ClotildeToullec/master
theseion Aug 30, 2024
d84fc1e
Delete unneeded method #imageInfo in P9 causing CI to fail
Sep 3, 2024
b130cb1
Prevent Undeclared system reporter.
Sep 4, 2024
0780adc
Merge pull request #660 from hernanmd/fix_unnecessary_imageInfo_in_P9
theseion Sep 19, 2024
ea80c58
feat: only instantiate test resources once in Pharo
theseion Sep 17, 2024
6c9fcbc
fix: force load SmalltalkCI in images that already contain it
theseion Sep 18, 2024
51ea314
chore: apply review suggestions
theseion Sep 19, 2024
5a2ee92
Merge pull request #662 from theseion/setup-test-resources-only-once
theseion Sep 22, 2024
3320bd4
Merge branch 'master' of https://github.com/hpi-swa/smalltalkCI into …
mumez Oct 30, 2024
25dba76
Changed configure_smalltalk_repository functions: if TRAVIS_BUILD_DIR…
mumez Nov 6, 2024
c23679c
Changed configure_smalltalk_repository functions: if TRAVIS_BUILD_DIR…
mumez Nov 6, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
108 changes: 108 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
name: smalltalkCI Self Test

on:
push:
paths-ignore:
- '**.md'
- 'docs/**'
- '.appveyor.yml'
- '.travis.yml'
pull_request:
paths-ignore:
- '**.md'
- 'docs/**'
- '.appveyor.yml'
- '.travis.yml'
workflow_dispatch:

jobs:
build:
strategy:
matrix:
os: [ ubuntu-20.04, macos-latest, windows-2019 ]
smalltalk:
- Squeak64-trunk
- Squeak64-6.0
- Squeak64-5.3
- Squeak64-5.2
- Squeak64-5.1
- Squeak32-trunk
- Squeak32-6.0
- Squeak32-4.5
- Pharo64-stable
- Pharo64-alpha
- Pharo64-13
- Pharo64-12
- Pharo64-11
- Pharo64-10
- Pharo64-9.0
- Pharo64-8.0
- Pharo64-7.0
- Pharo64-6.1
- Pharo64-6.0
- Pharo32-stable
- Pharo32-alpha
- Pharo32-3.0
- Moose64-12
- Moose64-11
- Moose64-10
- Moose64-9.0
- Moose64-8.0
- GemStone64-3.5.8
- GemStone64-3.6.8
- GemStone64-3.7.1
- GToolkit64-release
exclude: # exclude 32bit builds on macOS and GemStone builds on windows
- os: macos-latest
smalltalk: Squeak32-trunk
- os: macos-latest
smalltalk: Squeak32-6.0
- os: macos-latest
smalltalk: Squeak32-4.5
- os: macos-latest
smalltalk: Pharo32-stable
- os: macos-latest
smalltalk: Pharo32-alpha
- os: macos-latest
smalltalk: Pharo32-3.0
- os: macos-latest
smalltalk: GemStone64-3.5.8
- os: macos-latest
smalltalk: GemStone64-3.6.8
- os: windows-2019
smalltalk: Pharo64-10
- os: windows-2019
smalltalk: Pharo64-6.0
- os: windows-2019
smalltalk: GemStone64-3.5.8
- os: windows-2019
smalltalk: GemStone64-3.6.8
- os: windows-2019
smalltalk: GemStone64-3.7.1
runs-on: ${{ matrix.os }}
name: ${{ matrix.smalltalk }} on ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Setup smalltalkCI
uses: hpi-swa/setup-smalltalkCI@v1
with:
smalltalk-image: ${{ matrix.smalltalk }}
- name: Run smalltalkCI self test
run: |
tests/all_tests.sh
bin/smalltalkci -s ${{ matrix.smalltalk }} --self-test
shell: bash
if: contains(matrix.smalltalk, 'trunk') == false && contains(matrix.smalltalk, 'alpha') == false && contains(matrix.smalltalk, 'Squeak32-6.0') == false && contains(matrix.smalltalk, 'GToolkit64') == false && contains(matrix.smalltalk, 'Pharo64-12') == false
timeout-minutes: 15
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Run smalltalkCI self test and ignore failures
run: bin/smalltalkci -s ${{ matrix.smalltalk }} --self-test || true
shell: bash
if: contains(matrix.smalltalk, 'trunk') || contains(matrix.smalltalk, 'alpha') || contains(matrix.smalltalk, 'Squeak32-6.0') || contains(matrix.smalltalk, 'GToolkit64') || contains(matrix.smalltalk, 'Pharo64-12')
# Builds on macOS are extremely slow for some reason, and the Squeak trunk
# image hits the 15 minute timeout because it needs to update from the repository
# each time, which takes forever.
timeout-minutes: ${{ (matrix.os == 'macos-latest' && contains(matrix.smalltalk, 'trunk')) && 30 || 15 }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
27 changes: 14 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,21 +72,22 @@ they can take up a lot of space on your drive.*

## <a name="images"/>List of Supported Images

| [Squeak][squeak] | [Pharo][pharo] | [GemStone][gemstone] | [Moose][moose] | [GToolkit][gtoolkit] |
| [Squeak][squeak] | [Pharo][pharo] | [GemStone][gemstone] | [Moose][moose] | [GToolkit][gtoolkit] |
| ---------------- | ---------------- | -------------------- | --------------- | -------------------- |
| `Squeak64-trunk` | `Pharo64-alpha` | `GemStone64-3.6.x` | `Moose64-trunk` | `GToolkit64-release` |
| `Squeak64-6.0` | `Pharo64-stable` | `GemStone64-3.5.8` | `Moose64-11` | |
| `Squeak64-5.3` | `Pharo64-12` | `GemStone64-3.5.7` | `Moose64-10` | |
| `Squeak64-5.2` | `Pharo64-11` | `GemStone64-3.5.6` | `Moose64-9.0` | |
| `Squeak64-5.1` | `Pharo64-10` | `GemStone64-3.5.5` | `Moose64-8.0` | |
| `Squeak32-trunk` | `Pharo64-9.0` | `Gemstone64-3.5.4` | `Moose64-7.0` | |
| `Squeak32-6.0` | `Pharo64-8.0` | `GemStone64-3.5.3` | `Moose32-trunk` | |
| `Squeak32-5.3` | `Pharo64-7.0` | | `Moose32-6.1` | |
| `Squeak32-5.2` | `Pharo64-6.1` | | `Moose32-6.0` | |
| `Squeak32-5.1` | `Pharo64-6.0` | | | |
| `Squeak32-5.0` | `Pharo32-alpha` | | | |
| `Squeak32-4.6` | `Pharo32-stable` | | | |
| `Squeak32-4.5` | `Pharo32-12` | | | |
| `Squeak64-6.0` | `Pharo64-stable` | `GemStone64-3.5.8` | `Moose64-12` | |
| `Squeak64-5.3` | `Pharo64-13` | `GemStone64-3.5.7` | `Moose64-11` | |
| `Squeak64-5.2` | `Pharo64-12` | `GemStone64-3.5.6` | `Moose64-10` | |
| `Squeak64-5.1` | `Pharo64-11` | `GemStone64-3.5.5` | `Moose64-9.0` | |
| `Squeak32-trunk` | `Pharo64-10` | `Gemstone64-3.5.4` | `Moose64-8.0` | |
| `Squeak32-6.0` | `Pharo64-9.0` | `GemStone64-3.5.3` | | |
| `Squeak32-5.3` | `Pharo64-8.0` | | | |
| `Squeak32-5.2` | `Pharo64-7.0` | | | |
| `Squeak32-5.1` | `Pharo64-6.1` | | | |
| `Squeak32-5.0` | `Pharo64-6.0` | | | |
| `Squeak32-4.6` | `Pharo32-alpha` | | | |
| `Squeak32-4.5` | `Pharo32-stable` | | | |
| | `Pharo32-12` | | | |
| | `Pharo32-11` | | | |
| | `Pharo32-10` | | | |
| | `Pharo32-9.0` | | | |
Expand Down
42 changes: 28 additions & 14 deletions gtoolkit/run.sh
Original file line number Diff line number Diff line change
Expand Up @@ -107,9 +107,11 @@ gtoolkit::prepare_gt() {
local gtoolkit_image_url
local download_name
local target
local smalltalk_version
gtoolkit_image_url="$(gtoolkit::archive_url)"
smalltalk_version="$(basename "${gtoolkit_image_url}" .zip)"
download_name="$(basename "${gtoolkit_image_url}")"
target="${SMALLTALK_CI_CACHE}/${download_name}"
target="${SMALLTALK_CI_CACHE}/${smalltalk_version}"

if "${config_overwrite_cache}" && is_dir "${target}"; then
print_info "Removing cached image resources for ${smalltalk_name} (update forced)"
Expand All @@ -118,15 +120,15 @@ gtoolkit::prepare_gt() {
if ! is_dir "${target}"; then
mkdir "${target}"
fi
if ! is_file "${target}"/*.image; then
fold_start download_image "Downloading ${smalltalk_name} image..."
download_file "${gtoolkit_image_url}" "${target}"
if ! is_file "${target}/${download_name}"; then
fold_start download_image "Downloading ${smalltalk_version}..."
download_file "${gtoolkit_image_url}" "${target}/${download_name}"
fold_end download_image
fi

print_info "Extracting GT..."
extract_file "${target}" "${SMALLTALK_CI_BUILD}"
echo "${download_name}" > "${SMALLTALK_CI_BUILD}"/version
extract_file "${target}/${download_name}" "${SMALLTALK_CI_BUILD}" > /dev/null
echo "${smalltalk_version}" > "${SMALLTALK_CI_BUILD}"/version

print_info "Preparing GToolkit image..."
if ! is_file "${SMALLTALK_CI_IMAGE}"; then
Expand Down Expand Up @@ -174,13 +176,19 @@ gtoolkit::load_project() {
metacello := Metacello new
baseline: 'SmalltalkCI';
repository: 'filetree://$(resolve_path "${SMALLTALK_CI_HOME}/repository")';
onUpgrade: [ :ex | ex useIncoming ].
onUpgrade: [ :ex | ex useIncoming ];
ignoreImage.
(Metacello canUnderstand: #onConflictUseIncoming)
ifTrue: [ metacello onConflictUseIncoming ]
ifFalse: [ metacello onConflict: [ :ex | ex useIncoming ] ].
metacello load ]
on: Warning
do: [ :w | w resume ].
([ Smalltalk at: #MetacelloIgnorePackageLoaded ]
on: KeyNotFound
do: [ :keyEx | keyEx resumeUnchecked: nil ])
ifNil: [ metacello load ]
ifNotNil: [ :exceptionClass |
[ metacello load ] on: exceptionClass do: [ :ex | ex resume: true ] ] ]
on: Warning
do: [ :w | w resume ].
smalltalkCI := Smalltalk at: #SmalltalkCI.
smalltalkCI load: '$(resolve_path "${config_ston}")'.
(smalltalkCI isHeadless or: [ smalltalkCI promptToProceed ])
Expand All @@ -203,13 +211,19 @@ gtoolkit::test_project() {
metacello := Metacello new
baseline: 'SmalltalkCI';
repository: 'filetree://$(resolve_path "${SMALLTALK_CI_HOME}/repository")';
onUpgrade: [ :ex | ex useIncoming ].
onUpgrade: [ :ex | ex useIncoming ];
ignoreImage.
(Metacello canUnderstand: #onConflictUseIncoming)
ifTrue: [ metacello onConflictUseIncoming ]
ifFalse: [ metacello onConflict: [ :ex | ex useIncoming ] ].
metacello load ]
on: Warning
do: [ :w | w resume ].
([ Smalltalk at: #MetacelloIgnorePackageLoaded ]
on: KeyNotFound
do: [ :keyEx | keyEx resumeUnchecked: nil ])
ifNil: [ metacello load ]
ifNotNil: [ :exceptionClass |
[ metacello load ] on: exceptionClass do: [ :ex | ex resume: true ] ] ]
on: Warning
do: [ :w | w resume ].
Smalltalk at: #SmalltalkCI ].
smalltalkCI test: '$(resolve_path "${config_ston}")'
"
Expand Down
2 changes: 1 addition & 1 deletion helpers.sh
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ print_help() {
--headful Open vm in headful mode and do not close image.
--image Custom image for build (Squeak/Pharo).
--install Install symlink to this smalltalkCI instance.
--overwrite-cache Download the newest image and cache it.
--overwrite-cache Download the newest image and cache it.
--print-env Print all environment variables used by smalltalkCI
--no-color Disable colored output
--no-tracking Disable collection of anonymous build metrics (Travis CI & AppVeyor only).
Expand Down
Loading
Loading