hpi-swa / setup-smalltalkci Goto Github PK
View Code? Open in Web Editor NEWUse smalltalkCI to test your Smalltalk projects.
Home Page: https://github.com/hpi-swa/smalltalkCI
License: MIT License
Use smalltalkCI to test your Smalltalk projects.
Home Page: https://github.com/hpi-swa/smalltalkCI
License: MIT License
Sometimes, setup fails (e.g. when apt-get update
fails) and that should fail the build immediately. Otherwise, users may be confused by another error masking the original problem.
Example: https://github.com/tom95/sandblocks/runs/2113675675#step:3:57
Blocked by actions/toolkit#737
The TravisCI integration allows to configure the smalltalkCI repo and version to use, this is very useful for testing changes before they land in the main repo.
I'm proposing to add some optional inputs in the workflow allowing to set the BRANCH and REPO_URL to use.
In my GitHub Actions file, I set up the os
windows-latest
inter alia. While for ubuntu-latest
, smalltalkci
is actually run, for windows, the log output is the following:
2020-10-06T21:12:57.5069545Z ##[group]Run hpi-swa/setup-smalltalkCI@v1
2020-10-06T21:12:57.5070184Z with:
2020-10-06T21:12:57.5070502Z smalltalk-version: Squeak64-Trunk
2020-10-06T21:12:57.5070958Z smalltalkCI-source: hpi-swa/smalltalkCI
2020-10-06T21:12:57.5071385Z smalltalkCI-branch: master
2020-10-06T21:12:57.5071687Z ##[endgroup]
2020-10-06T21:12:57.5860015Z Downloading and extracting smalltalkCI...
2020-10-06T21:12:58.0508143Z [command]C:\windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoLogo -Sta -NoProfile -NonInteractive -ExecutionPolicy Unrestricted -Command "$ErrorActionPreference = 'Stop' ; try { Add-Type -AssemblyName System.IO.Compression.FileSystem } catch { } ; [System.IO.Compression.ZipFile]::ExtractToDirectory('D:\a\_temp\6955034c-e474-489d-afb2-8708cc51c873', 'C:\Users\runneradmin\.smalltalkCI-temp')"
2020-10-06T21:13:01.7495783Z ##[warning]The `add-path` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2020-10-01-github-actions-deprecating-set-env-and-add-path-commands/
2020-10-06T21:13:01.7752456Z ##[group]Run smalltalkci -s Squeak64-Trunk
2020-10-06T21:13:01.7753077Z �[36;1msmalltalkci -s Squeak64-Trunk�[0m
2020-10-06T21:13:01.9129991Z shell: C:\Program Files\PowerShell\7\pwsh.EXE -command ". '{0}'"
2020-10-06T21:13:01.9130426Z ##[endgroup]
2020-10-06T21:13:11.4351087Z Post job cleanup.
Most fatally, the exit code is not reported correctly, so that the job is displayed as a false positive in the repository.
I am getting warnings when using this action in multiple repositories:
.github#L1
The
add-path
command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2020-10-01-github-actions-deprecating-set-env-and-add-path-commands/
It looks as if this repository might be (co-)responsible for this warning:
setup-smalltalkCI/dist/index.js
Lines 1569 to 1570 in 35e0628
Sorry for spamming. I wonder whether it is necessary to have an extra setup action, which does not seem to be the default solution. Asking for curiosity only: What's the reason you decided to build an extra setup action instead of a smalltalkCI action itself? Wouldn't the latter make it easier for GitHub to cache the action? :-)
Summary
On Exercism Pharo project there was PR to update Smalltalk CI from 1.3.4. to 1.3.5. After that Pharo 9 build started to fail for some reason.
Actual
Smalltalk CI is failing for Pharo 9 build - when using 1.3.5 version. See this:
But when merged with main, it stated to fail: https://github.com/exercism/pharo-smalltalk/actions/runs/3459413003
When PR was initiated, job runned ok: https://github.com/exercism/pharo-smalltalk/actions/runs/3415732854
Expected
Job runs ok for Pharo 9
Details
Probably it has something to do with: pharo-vcs/iceberg#1426
So I'm not really sure how it is related to Smalltalk CI - probably just commit message was too long?
While setting up a new GitHub workflow today, I noticed that when you pass an invalid Smalltalk version such as Trunk
, no direct error is raised for this argument but instead, the apt updates are not installed so that I end up with an uninformative libpulse
error when running smalltalkci
in a later step of the job:
/home/runner/.smalltalkCI/_cache/vms/Squeak64-Trunk/sqcogspur64linuxht/lib/squeak/5.0-202003021730/squeak: error while loading shared libraries: libpulse-simple.so.0: cannot open shared object file: No such file or directory
See this build for reference: https://github.com/hpi-swa-lab/SqueakByExample-english/runs/2124919496?check_suite_focus=true
Since the Smalltalk version needs to passed to both steps separately (unfortunately enough - couldn't this info be cached anywhere on the runner?), IMHO also both steps should validate it separately.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.