Skip to content

..

.. #10

Workflow file for this run

name: macos-smoke
on:
push:
pull_request:
jobs:
smoke:
permissions:
contents: read
name: smoke-${{ matrix.runner }}
runs-on: ${{ matrix.runner }}
strategy:
fail-fast: false
matrix:
runner: [macos-13, macos-14]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install Ferret
shell: bash
run: |
set -euo pipefail
export FERRET_INSTALL_DIR="$RUNNER_TEMP/ferret"
INSTALLER="$RUNNER_TEMP/install-ferret.sh"
curl -fsSL "https://raw.githubusercontent.com/Ferret-Language/Ferret/main/installers/install.sh" -o "$INSTALLER"
chmod +x "$INSTALLER"
"$INSTALLER"
echo "$FERRET_INSTALL_DIR/core/bin" >> "$GITHUB_PATH"
- name: Verify Ferret on PATH
shell: bash
run: |
set -euo pipefail
which ferret
ferret --version
- name: Initialize and run sample project
shell: bash
run: |
set -euo pipefail
export FERRET_INSTALL_DIR="$RUNNER_TEMP/ferret"
export PATH="$FERRET_INSTALL_DIR/toolchain/bin:$FERRET_INSTALL_DIR/core/bin:$PATH"
WORKDIR="$RUNNER_TEMP/ferret-smoke"
rm -rf "$WORKDIR"
mkdir -p "$WORKDIR"
cd "$WORKDIR"
printf '\n\n' | ferret init smokeproject
test -f fer.ret
test -f main.fer
OUTPUT="$(ferret run)"
printf '%s\n' "$OUTPUT"
echo "$OUTPUT" | grep -F "Hello from Ferret!"