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

Upgrade Pharo Exercism track to Pharo 10 #537

Merged
merged 7 commits into from
Apr 25, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
22 changes: 12 additions & 10 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,22 +1,24 @@
name: CI
name: Pharo track CI

on:
push:
branches: [main]
pull_request:


jobs:
test:
name: Test
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
smalltalk: [ Pharo64-10, Pharo64-9.0, Pharo64-8.0 ]
name: ${{ matrix.smalltalk }}
steps:
- uses: actions/checkout@v3

- name: Fetch smalltalkCI
uses: hpi-swa/setup-smalltalkCI@a89a05efc1acb01977b6acf27bd1fa506cacaacb
id: smalltalkci
with:
smalltalk-image: 'Pharo64-9.0'
- run: smalltalkci -s ${{ steps.smalltalkci.outputs.smalltalk-image }}
- uses: hpi-swa/setup-smalltalkCI@a89a05efc1acb01977b6acf27bd1fa506cacaacb
with:
smalltalk-image: ${{ matrix.smalltalk }}
- run: smalltalkci -s ${{ matrix.smalltalk }}
shell: bash
timeout-minutes: 15
10 changes: 7 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
# Exercism Pharo Track

![build status](https://travis-ci.org/exercism/pharo-smalltalk.svg?branch=master)
[![Build & Unit tests](https://github.com/exercism/pharo-smalltalk/actions/workflows/ci.yml/badge.svg)](https://github.com/exercism/pharo-smalltalk/actions/workflows/ci.yml)
[![GitHub release](https://img.shields.io/github/release/exercism/pharo-smalltalk.svg)](https://github.com/exercism/pharo-smalltalk/releases/latest)
[![Pharo 10](https://img.shields.io/badge/Pharo-10-informational)](https://get.pharo.org)
[![Pharo 9.0](https://img.shields.io/badge/Pharo-9.0-informational)](https://get.pharo.org/64)
[![Pharo 8.0](https://img.shields.io/badge/Pharo-8.0-informational)](https://get.pharo.org/archive/80)

This repository is for the development of [Exercism](http://exercism.io) exercises running in the [Pharo Smalltalk](http://pharo.org) programming environment.

Expand All @@ -15,7 +19,7 @@ If you are familiar with Pharo, but not quite sure about developing exercises, w

If you sign up as a [Pharo Mentor](https://exercism.io/mentor/registrations/new) by choosing Pharo in the mentor list, you then need to [update your bio](https://github.com/exercism/website-copy/blob/master/mentors/README.md#mentors) and load up a special (dev-light) image.

Simply evalaluate the following in a fresh Pharo image:
Simply evalaluate the following in a fresh Pharo image (e.g. created from [Pharo Launcher](https://pharo.org/download) - choose latest stable release from Official distributions):

```smalltalk
Metacello new
Expand All @@ -42,7 +46,7 @@ To begin, you need to ensure that you have a complete exercism development envir

Next setup a Pharo environment for creating the actual coding examples. You need to load a development exercism baseline:

1. Use [PharoLauncher](https://github.com/pharo-project/pharo-launcher) to create a fresh 7.0 (stable) development image, and launch it (you can also use [zerconf](https://get.pharo.org/) if you are familiar with it)
1. Use [PharoLauncher](https://pharo.org/download) to create a fresh 10.0 (stable) development image from `Official distributions` category, and launch it (you can also use [zerconf](https://get.pharo.org/) if you are familiar with it)
1. Fork `https://exercism/pharo-smalltalk` on github
1. Clone `https://<your id>/pharo-smalltalk` as a GitHub project and specify `<your id>` as the owner name, `pharo-smalltalk` as the project name
1. Install the Metacello baseline `dev` (not the default) in Iceberg using the Metacello context menu. (e.g. right click on the "pharo-smalltalk" project you just cloned, and select the second option in the Metacello menu, and type `dev`)
Expand Down
16 changes: 8 additions & 8 deletions docs/INSTALLATION.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@
## Installation

The simplest way to install [Pharo](http://pharo.org) is to use a [zero conf](http://pharo.org/download#//*[@id="main"]/div/h2[3]) download from a terminal command line.
<br/>_Note: If you are trying to upgrade an existing installation see the [upgrade instructions](https://github.com/exercism/pharo-smalltalk/blob/master/docs/UPGRADE.md)._
<br/>_Note: If you are trying to upgrade an existing installation see the [upgrade instructions](https://github.com/exercism/pharo-smalltalk/blob/main/docs/UPGRADE.md)._

Windows users who do not have a UNIX style shell installed should skip to the [Windows Installation](#windows-installation-skip-for-osxlinux) instructions (below).<br/>
More advanced Linux users may want to refer to the [Linux Hackers Installation](https://github.com/exercism/pharo-smalltalk/blob/master/docs/LINUX.md).
More advanced Linux users may want to refer to the [Linux Hackers Installation](https://github.com/exercism/pharo-smalltalk/blob/main/docs/LINUX.md).

### Linux/OSX Installation

Expand Down Expand Up @@ -54,16 +54,16 @@ We are still working out the best command line tool prerequisites for windows, h
2. Run Pharo launcher.
3. On the top-left corner click "New".
4. In window select "Official distributions" from template categories.
5. For Exercism exercises, choose from list of Pharo image templates: "Pharo 9.0 64-bit (stable)" as recommended.
5. For Exercism exercises, choose from list of Pharo image templates latest stable release (currently "Pharo 10.0 64-bit (stable)" as recommended).
6. Click to highlight an image template, give it a name, then click the create image button at the bottom (an orange cog shape).
![obrazek](https://user-images.githubusercontent.com/45875448/134194300-4c3be6ec-13a7-44c7-b759-c3aa0c25a20f.png)
![Create image from launcher](https://github.com/exercism/pharo-smalltalk/raw/main/docs/images/Create-image-from-launcher.png)
7. Once the template is downloaded it will appear on the right in the Existing Images table. Click on it, and then click the launch button at the top (a green _play_ arrow).
![obrazek](https://user-images.githubusercontent.com/45875448/134194728-abd6e719-b301-4e42-85de-71d50da1be98.png)
![Launch image](https://github.com/exercism/pharo-smalltalk/raw/main/docs/images/Launch-image.png)


8. Once the Pharo image has started, open a Playground by choosing the _Browse_ menu, and selecting _Playground_, or use
`ctrl + o + w`.
![obrazek](https://user-images.githubusercontent.com/45875448/134195126-e2101771-1228-4d61-a165-f9e4c4ca8eeb.png)
![Open playground](https://github.com/exercism/pharo-smalltalk/raw/main/docs/images/Open-Playground.png)


9. Finally, copy and paste the following snippet into the playground:
Expand All @@ -86,7 +86,7 @@ Then evaluate the pasted code by highlighting all of it, right clicking then sel
When you launch Pharo, you will see a Welcome project, in a [System Browser](https://medium.com/@richardeng/pharo-quick-start-5bab70944ce2#3099) (_tip:_ if you ever lose this window you can open a new one from the Tools|System Browser menu).


![Pharo Welcome Screen](https://github.com/exercism/pharo-smalltalk/raw/master/docs/images/PharoWelcomeScreen.png)
![Pharo Welcome Screen](https://github.com/exercism/pharo-smalltalk/raw/main/docs/images/PharoWelcomeScreen.png)

The top, left hand panel of the System browser shows packages in your environment, and you will notice the install script has already configured
a package called `Exercism`, which contains a sub-project tag called `Welcome`. The second panel shows classes, which also has a class called `Welcome`. Underneath the classes panel there are 4 radio buttons, "Flat" (shows the classes in the package), "Hier." (shows a class hierarchy), "Inst. side" (shows instance methods), "Class side" (shows class methods/constructors).
Expand All @@ -110,7 +110,7 @@ you to begin [coding with tests](tests.md).

When all your tests are passing, you can submit your solution using the same context menu for your exercise package (right click on the package tag and select `Exercism | Submit Exercise...`)

![Exercism Submit Menu](https://github.com/exercism/pharo-smalltalk/raw/master/docs/images/SubmitExercise.png)
![Exercism Submit Menu](https://github.com/exercism/pharo-smalltalk/raw/main/docs/images/SubmitExercise.png)

Finally use the `Exercism | View Track Progress` menu to visit the exercism website and see what other exercises have been unlocked for you, as well as post questions about your submission for mentors to read.

Expand Down
Binary file added docs/images/Create-image-from-launcher.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/Launch-image.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/Open-Playground.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.