Basic MinGW-w64 cross-compilation support #12515
Workflow file for this run
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: Linux CI | |
on: [push, pull_request] | |
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] | |
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 | |
deploy_api_docs: | |
if: github.repository_owner == 'crystal-lang' && github.event_name == 'push' && github.ref == 'refs/heads/master' | |
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: Build docs | |
run: bin/ci with_build_env 'make crystal docs threads=1' | |
- name: Set revision | |
run: echo $GITHUB_SHA > ./docs/revision.txt | |
- name: Configure AWS Credentials | |
uses: aws-actions/configure-aws-credentials@v4 | |
with: | |
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
aws-region: us-east-1 | |
- name: Deploy API docs to S3 | |
run: | | |
aws s3 sync ./docs s3://crystal-api/api/master --delete |