Skip to content
Draft
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
50 changes: 20 additions & 30 deletions .github/workflows/linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,17 +21,21 @@ jobs:
env:
ARCH: x86_64
ARCH_CMD: linux64
DOCKER_TEST_PREFIX: crystallang/crystal:${{ matrix.crystal_bootstrap_version }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
flags: [""]
env:
- FLAGS: ""
- FLAGS: "-Devloop=libevent"
- FLAGS: "-Dpreview_mt -Dexecution_context"
include:
# libffi is only available starting from the 1.2.2 build images
- crystal_bootstrap_version: 1.0.0
flags: "FLAGS=-Dwithout_ffi USE_PCRE1=true"
- crystal_bootstrap_version: 1.18.2 # LATEST RELEASE
- env:
CRYSTAL_BOOTSTRAP_VERSION: 1.0.0
# libffi is only available starting from the 1.2.2 build images
FLAGS: "-Dwithout_ffi"
# pcre2 is only available starting from the 1.8.0 build images
USE_PCRE1: true
steps:
- name: Download Crystal source
uses: actions/checkout@v5
Expand All @@ -45,13 +49,21 @@ jobs:
run: bin/ci prepare_build

- name: Test
run: ${{ matrix.flags }} bin/ci build
run: bin/ci build
env: ${{ matrix.env }}

x86_64-musl-test:
env:
ARCH: x86_64-musl
ARCH_CMD: linux64
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
env:
- FLAGS: ""
- FLAGS: "-Devloop=libevent"
- FLAGS: "-Dpreview_mt -Dexecution_context"
steps:
- name: Download Crystal source
uses: actions/checkout@v5
Expand All @@ -66,29 +78,7 @@ jobs:

- name: Test
run: bin/ci build

x86_64-gnu-test-preview_mt:
env:
ARCH: x86_64
ARCH_CMD: linux64
runs-on: ubuntu-latest
steps:
- name: Download Crystal source
uses: actions/checkout@v5
with:
persist-credentials: false

- name: Prepare System
run: bin/ci prepare_system

- name: Prepare Build
run: bin/ci prepare_build

- name: Make Crystal
run: bin/ci with_build_env 'make crystal'

- name: Test
run: bin/ci with_build_env 'CRYSTAL_WORKERS=4 make std_spec threads=1 FLAGS="-D preview_mt"'
env: ${{ matrix.env }}

check_format:
env:
Expand Down
15 changes: 7 additions & 8 deletions .github/workflows/macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,16 +15,13 @@ env:
jobs:
darwin-test:
runs-on: ${{ matrix.runs-on }}
name: "${{ matrix.runs-on }} (${{ matrix.arch }})"
strategy:
matrix:
include:
- runs-on: macos-15-intel
arch: x86_64-darwin
- runs-on: macos-14
arch: aarch64-darwin
- runs-on: macos-15
arch: aarch64-darwin
runs-on: [macos-15-intel, macos-15]
env:
- FLAGS: ""
- FLAGS: "-Devloop=libevent"
- FLAGS: "-Dpreview_mt -Dexecution_context"
fail-fast: false
steps:
- name: Download Crystal source
Expand All @@ -50,6 +47,8 @@ jobs:

- name: Test
run: bin/ci build
env: ${{ matrix.env }}

- name: Test interpreter
run: bin/ci with_build_env 'make interpreter_spec'
env: ${{ matrix.env }}
7 changes: 7 additions & 0 deletions .github/workflows/mingw-w64-steps.yml
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,12 @@ jobs:

test-stdlib:
runs-on: ${{ inputs.runs-on }}
strategy:
fail-fast: false
matrix:
env:
- FLAGS: ""
- FLAGS: "-Dpreview_mt -Dexecution_context"
steps:
- name: Setup MSYS2
id: msys2
Expand Down Expand Up @@ -109,6 +115,7 @@ jobs:
run: |
export CRYSTAL_SPEC_COMPILER_BIN="$(which crystal.exe)"
make std_spec
env: ${{ matrix.env }}

test-compiler:
runs-on: ${{ inputs.runs-on }}
Expand Down
9 changes: 8 additions & 1 deletion .github/workflows/smoke.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,6 @@ env:

jobs:
smoke-test:
name: ${{ matrix.target }}
runs-on: ubuntu-latest

strategy:
Expand All @@ -74,6 +73,13 @@ jobs:
- x86_64-netbsd
- x86_64-openbsd
- x86_64-solaris
env:
- FLAGS: ""
- FLAGS: "-Dpreview_mt -Dexecution_context"
include:
- target: x86_64-freebsd
env:
FLAGS: "-Devloop=libevent"

steps:
- name: Download Crystal source
Expand All @@ -86,3 +92,4 @@ jobs:

- name: Run smoke test
run: bin/ci with_build_env make smoke_test target=${{ matrix.target }}
env: ${{ matrix.env }}
7 changes: 7 additions & 0 deletions .github/workflows/win.yml
Original file line number Diff line number Diff line change
Expand Up @@ -228,6 +228,13 @@ jobs:
x86_64-windows-test:
runs-on: windows-2025
needs: [x86_64-windows-release]
strategy:
fail-fast: false
matrix:
env:
- FLAGS: ""
- FLAGS: "-Dpreview_mt -Dexecution_context"
env: ${{ matrix.env }}
steps:
- name: Disable CRLF line ending substitution
run: |
Expand Down
2 changes: 1 addition & 1 deletion bin/ci
Original file line number Diff line number Diff line change
Expand Up @@ -189,7 +189,7 @@ with_build_env() {

on_linux verify_linux_environment

export DOCKER_TEST_PREFIX="${DOCKER_TEST_PREFIX:=crystallang/crystal:1.18.2}"
export DOCKER_TEST_PREFIX="${DOCKER_TEST_PREFIX:="crystallang/crystal:${CRYSTAL_BOOTSTRAP_VERSION:-1.18.2}"}"

case $ARCH in
x86_64)
Expand Down
Loading