Coder Social home page Coder Social logo

hpi-swa / setup-smalltalkci Goto Github PK

View Code? Open in Web Editor NEW
23.0 8.0 13.0 770 KB

Use smalltalkCI to test your Smalltalk projects.

Home Page: https://github.com/hpi-swa/smalltalkCI

License: MIT License

JavaScript 100.00%
actions github-actions smalltalk gemstone moose pharo squeak

setup-smalltalkci's People

Contributors

demarey avatar dependabot[bot] avatar fniephaus avatar gcotelli avatar hogoww avatar jecisc avatar linqlover avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

setup-smalltalkci's Issues

Allow to configure smalltalkCI repo and version to use

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.

Bug: Action breaks on windows-latest, but is displayed as success

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.

add-path is deprecated

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:

command_1.issueCommand('add-path', {}, inputPath);
process.env['PATH'] = `${inputPath}${path.delimiter}${process.env['PATH']}`;

Why an extra setup action?

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? :-)

Smalltalk CI started to fail on Pharo 9 after version update to 1.3.5

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?

Validate Smalltalk version

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.