https://github.com/linqlover/create-image
GitHub Action for creating and preparing a Squeak image
https://github.com/linqlover/create-image
Last synced: 5 months ago
JSON representation
GitHub Action for creating and preparing a Squeak image
- Host: GitHub
- URL: https://github.com/linqlover/create-image
- Owner: LinqLover
- License: mit
- Created: 2021-08-28T17:48:50.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2024-01-30T08:10:37.000Z (over 2 years ago)
- Last Synced: 2025-06-22T19:08:29.197Z (about 1 year ago)
- Language: Smalltalk
- Size: 48.3 MB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# create-image
[](https://github.com/LinqLover/create-image/actions/workflows/test.yml)
[](https://github.com/LinqLover/create-image/actions/workflows/lint.yml)
[](https://github.com/search?q=LinqLover%2Fcreate-image+path%3A%2F%5E%5C.github%5C%2Fworkflows%5C%2F%2F&ref=opensearch&type=code)
> GitHub Action for creating and preparing an all-in-one image for [Squeak](https://squeak.org/).
You can use this action in your workflow to automatically deploy a **one-click/all-in-one image bundle of Squeak** containing **your app or modifications.**
- The bundle is fetched from and will contain a **ready-to-use image** and **VM binaries** for all supported platforms (head over to [squeak-smalltalk/squeak-app](https://github.com/squeak-smalltalk/squeak-app) for more information).
- You can run **custom scripts** to **prepare** the image before saving it or to **postpare** it when it is opened again.
- You can choose the **Squeak version** and **bitness** of the image.
## Usage
### Example workflow
Below is a simple example workflow that creates an image, loads some code into it, and uploads the image bundle as an artifact of your workflow:
```yml
on:
push:
branches: [master]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: LinqLover/create-image@latest
id: create-image
with:
squeak-version: '6.0'
prepare-script: ./scripts/prepareImage.st
- uses: actions/upload-artifact@master
with:
name: image
path: ${{ steps.create-image.outputs.bundle-path }}
```
In this example, `scripts/prepareImage.st` might look like this:
```smalltalk
"Install something..."
Installer new merge: #ffi.
"Open some welcome contents..."
MovingEyeMorph extraExampleSqueakIsWatchingYou openCenteredInWorld.
```
### Inputs
Parameter
Description
Example
Required?
squeak-version
The version of Squeak to be used.
trunk, '6.0'
required
squeak-bitness
The bitness of the image to be created. Defaults to 64.
64, 32 (⚠ currently not supported on GitHub Actions, see actions/runner#1181)
optional
prepare-script
A script to be filed into the image before saving it.
/path/to/script.st
optional
postpare-script
A script to be executed in the image after saving it, i.e., at the moment the user opens it again.
/path/to/script.st
optional
All the silly mistakes and typos made by you in the prepare/postpare scripts will be caught by the action and displayed in the action log.
### Outputs
Parameter
Description
Example
bundle-path
Indicates the path to the created bundle file.
/path/to/Squeak6.0Alpha-12345-64bit-AllInOne.zip
To browse further usage examples, click [here](https://github.com/search?q=LinqLover%2Fcreate-image+path%3A%2F%5E%5C.github%5C%2Fworkflows%5C%2F%2F&ref=opensearch&type=code).
## Contribution
... is as always very welcome! If you use this action, have any ideas for improvements, or even would like to submit your patch, my issues & PRs are open!
---
Carpe Squeak! 🎈