Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hpi-swa/setup-smalltalkci
Use smalltalkCI to test your Smalltalk projects.
https://github.com/hpi-swa/setup-smalltalkci
actions gemstone github-actions moose pharo smalltalk squeak
Last synced: about 6 hours ago
JSON representation
Use smalltalkCI to test your Smalltalk projects.
- Host: GitHub
- URL: https://github.com/hpi-swa/setup-smalltalkci
- Owner: hpi-swa
- License: mit
- Created: 2020-02-08T11:24:12.000Z (almost 5 years ago)
- Default Branch: v1
- Last Pushed: 2024-06-17T11:36:45.000Z (5 months ago)
- Last Synced: 2024-11-14T04:35:28.375Z (1 day ago)
- Topics: actions, gemstone, github-actions, moose, pharo, smalltalk, squeak
- Language: JavaScript
- Homepage: https://github.com/hpi-swa/smalltalkCI
- Size: 752 KB
- Stars: 23
- Watchers: 8
- Forks: 13
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# setup-smalltalkCI
This GitHub Action sets up [smalltalkCI] for testing Smalltalk projects.
## Usage
### Basic
```yaml
steps:
- uses: actions/checkout@v2
- uses: hpi-swa/setup-smalltalkCI@v1
id: smalltalkci
with:
smalltalk-image: 'Squeak64-trunk'
- run: smalltalkci -s ${{ steps.smalltalkci.outputs.smalltalk-image }}
shell: bash
timeout-minutes: 15
```### Testing Different Smalltalk Images
```yaml
jobs:
build:
strategy:
matrix:
smalltalk: [ Squeak64-trunk, Pharo64-stable ]
name: ${{ matrix.smalltalk }}
steps:
- uses: actions/checkout@v2
- uses: hpi-swa/setup-smalltalkCI@v1
with:
smalltalk-image: ${{ matrix.smalltalk }}
- run: smalltalkci -s ${{ matrix.smalltalk }}
shell: bash
timeout-minutes: 15
```### Testing Different Smalltalk Images with Different Configurations
```yaml
jobs:
build:
strategy:
matrix:
smalltalk: [ Squeak64-trunk, Pharo64-stable ]
smalltalk_config: [ .smalltalkA.ston, .smalltalkB.ston ]
name: ${{ matrix.smalltalk }}
steps:
- uses: actions/checkout@v2
- uses: hpi-swa/setup-smalltalkCI@v1
with:
smalltalk-image: ${{ matrix.smalltalk }}
- run: smalltalkci -s ${{ matrix.smalltalk }} ${{ matrix.smalltalk_config }}
shell: bash
timeout-minutes: 15
```### Use a different branch or fork
```yaml
steps:
- uses: actions/checkout@v2
- uses: hpi-swa/setup-smalltalkCI@v1
id: smalltalkci
with:
smalltalk-image: 'Squeak64-trunk'
smalltalkCI-branch: 'testing-branch'
smalltalkCI-source: 'myfork/smalltalkCI'
- run: smalltalkci -s ${{ steps.smalltalkci.outputs.smalltalk-image }}
shell: bash
timeout-minutes: 15
```### Pharos-specific: Registering Repository in Iceberg
Registering a repository in Iceberg allows developers to access the directory of the repository regardless of where it is located in the file system.
This eases access to non-Smalltalk resources.
To register the repository in Iceberg, you need to add `#registerInIceberg : true` to your `.smalltalk.ston` file.```smalltalk
(IceRepository registeredRepositoryIncludingPackage: self class package) location pathString
```However, Iceberg requires the full commit history.
`actions/checkout` provides by default only the latest one.
Therefore we need to use an option to get all commits.
(Only available for Pharo 7 and later version at this time).```yaml
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0 # Option fetching all commits
- uses: hpi-swa/setup-smalltalkCI@v1
id: smalltalkci
with:
smalltalk-image: 'Squeak64-trunk'
- run: smalltalkci -s ${{ steps.smalltalkci.outputs.smalltalk-image }}
shell: bash
timeout-minutes: 15
```[smalltalkCI]: https://github.com/hpi-swa/smalltalkCI