Forward Compatibility #22
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Forward Compatibility | |
on: | |
push: | |
paths: | |
- .github/workflows/forward-compatibility.yml | |
schedule: | |
- cron: '0 3 * * *' | |
workflow_dispatch: | |
permissions: {} | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name }} | |
cancel-in-progress: ${{ github.ref != 'refs/heads/master' }} | |
env: | |
TRAVIS_OS_NAME: linux | |
SPEC_SPLIT_DOTS: 160 | |
jobs: | |
# Test against *each* supported Crystal version for forward compatibility. | |
# | |
# This workflow runs on a nightly schedule on `master`. | |
# It can also be dispatched manually when necessary. | |
# | |
# We run a basic version of this test on every commit which covers only the earliest and latest supported versions in `linux.yml#x86_64-gnu-test`. | |
x86_64-gnu-test-forward_compatibility: | |
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: | |
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.1] | |
flags: [""] | |
include: | |
# libffi is only available starting from the 1.2.2 build images | |
- 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 |