Skip to content

Add CI workflow for cross-compiling Crystal on MSYS2 (#15110) #12623

Add CI workflow for cross-compiling Crystal on MSYS2 (#15110)

Add CI workflow for cross-compiling Crystal on MSYS2 (#15110) #12623

Workflow file for this run

name: Linux CI
on: [push, pull_request]
permissions: {}
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/master' }}
env:
TRAVIS_OS_NAME: linux
SPEC_SPLIT_DOTS: 160
jobs:
x86_64-gnu-test:
env:
ARCH: x86_64
ARCH_CMD: linux64
DOCKER_TEST_PREFIX: crystallang/crystal:${{ matrix.crystal_bootstrap_version }}
runs-on: ubuntu-latest
strategy:
matrix:
crystal_bootstrap_version: [1.7.3, 1.8.2, 1.9.2, 1.10.1, 1.11.2, 1.12.2, 1.13.3, 1.14.0]
flags: [""]
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.1.1
flags: "FLAGS=-Dwithout_ffi USE_PCRE1=true"
- crystal_bootstrap_version: 1.2.2
flags: "USE_PCRE1=true"
- crystal_bootstrap_version: 1.3.2
flags: "USE_PCRE1=true"
- crystal_bootstrap_version: 1.4.1
flags: "USE_PCRE1=true"
- crystal_bootstrap_version: 1.5.1
flags: "USE_PCRE1=true"
- crystal_bootstrap_version: 1.6.2
flags: "USE_PCRE1=true"
steps:
- name: Download Crystal source
uses: actions/checkout@v4
- name: Prepare System
run: bin/ci prepare_system
- name: Prepare Build
run: bin/ci prepare_build
- name: Test
run: ${{ matrix.flags }} bin/ci build
x86_64-musl-test:
env:
ARCH: x86_64-musl
ARCH_CMD: linux64
runs-on: ubuntu-latest
steps:
- name: Download Crystal source
uses: actions/checkout@v4
- name: Prepare System
run: bin/ci prepare_system
- name: Prepare Build
run: bin/ci prepare_build
- 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@v4
- 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"'
check_format:
env:
ARCH: x86_64
ARCH_CMD: linux64
runs-on: ubuntu-latest
steps:
- name: Download Crystal source
uses: actions/checkout@v4
- name: Prepare System
run: bin/ci prepare_system
- name: Prepare Build
run: bin/ci prepare_build
- name: Check Format
run: bin/ci format