Skip to content

Commit

Permalink
Merge branch 'master' into feature/unicode-15.1.0
Browse files Browse the repository at this point in the history
  • Loading branch information
HertzDevil committed Oct 17, 2023
2 parents ffb3177 + 67885d6 commit ecadb05
Show file tree
Hide file tree
Showing 93 changed files with 2,295 additions and 327 deletions.
4 changes: 2 additions & 2 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@ parameters:
distribution-scripts-version:
description: "Git ref for version of https://github.com/crystal-lang/distribution-scripts/"
type: string
default: "4b3af3fb9ebeb2c74850bc7025a17a38ab82c5f4"
default: "e15cbd3b6b3e1bac1b16905f1b1a15ba6ae4e554"
previous_crystal_base_url:
description: "Prefix for URLs to Crystal bootstrap compiler"
type: string
default: "https://github.com/crystal-lang/crystal/releases/download/1.9.2/crystal-1.9.2-1"
default: "https://github.com/crystal-lang/crystal/releases/download/1.10.1/crystal-1.10.1-1"

defaults:
environment: &env
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/interpreter.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
test-interpreter_spec:
runs-on: ubuntu-22.04
container:
image: crystallang/crystal:1.9.2-build
image: crystallang/crystal:1.10.1-build
name: "Test Interpreter"
steps:
- uses: actions/checkout@v4
Expand All @@ -24,7 +24,7 @@ jobs:
build-interpreter:
runs-on: ubuntu-22.04
container:
image: crystallang/crystal:1.9.2-build
image: crystallang/crystal:1.10.1-build
name: Build interpreter
steps:
- uses: actions/checkout@v4
Expand All @@ -43,7 +43,7 @@ jobs:
needs: build-interpreter
runs-on: ubuntu-22.04
container:
image: crystallang/crystal:1.9.2-build
image: crystallang/crystal:1.10.1-build
strategy:
matrix:
part: [0, 1, 2, 3]
Expand Down
20 changes: 12 additions & 8 deletions .github/workflows/linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,20 +19,24 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
crystal_bootstrap_version: [1.2.2, 1.3.2, 1.4.1, 1.5.1, 1.6.2]
flags: ["USE_PCRE1=true"]
crystal_bootstrap_version: [1.7.3, 1.8.2, 1.9.2, 1.10.1]
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.7.3
flags: ""
- crystal_bootstrap_version: 1.8.2
flags: ""
- crystal_bootstrap_version: 1.9.2
flags: ""
- 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
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/llvm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ jobs:
llvm_ubuntu_version: "18.04"
- llvm_version: "16.0.3"
llvm_ubuntu_version: "22.04"
- llvm_version: "17.0.2"
llvm_ubuntu_version: "22.04"
name: "LLVM ${{ matrix.llvm_version }}"
steps:
- name: Checkout Crystal source
Expand Down Expand Up @@ -54,7 +56,7 @@ jobs:
- name: Install Crystal
uses: crystal-lang/install-crystal@v1
with:
crystal: "1.9.2"
crystal: "1.10.1"

- name: Build libllvm_ext
run: make -B deps
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/openssl.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
openssl3:
runs-on: ubuntu-latest
name: "OpenSSL 3.0"
container: crystallang/crystal:1.9.2-alpine
container: crystallang/crystal:1.10.1-alpine
steps:
- name: Download Crystal source
uses: actions/checkout@v4
Expand All @@ -27,7 +27,7 @@ jobs:
openssl111:
runs-on: ubuntu-latest
name: "OpenSSL 1.1.1"
container: crystallang/crystal:1.9.2-alpine
container: crystallang/crystal:1.10.1-alpine
steps:
- name: Download Crystal source
uses: actions/checkout@v4
Expand All @@ -42,7 +42,7 @@ jobs:
libressl34:
runs-on: ubuntu-latest
name: "LibreSSL 3.4"
container: crystallang/crystal:1.9.2-alpine
container: crystallang/crystal:1.10.1-alpine
steps:
- name: Download Crystal source
uses: actions/checkout@v4
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/regex-engine.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
pcre:
runs-on: ubuntu-latest
name: "PCRE"
container: crystallang/crystal:1.9.2-alpine
container: crystallang/crystal:1.10.1-alpine
steps:
- name: Download Crystal source
uses: actions/checkout@v4
Expand All @@ -25,7 +25,7 @@ jobs:
pcre2:
runs-on: ubuntu-latest
name: "PCRE2"
container: crystallang/crystal:1.9.2-alpine
container: crystallang/crystal:1.10.1-alpine
steps:
- name: Download Crystal source
uses: actions/checkout@v4
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/wasm32.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ env:
jobs:
wasm32-test:
runs-on: ubuntu-latest
container: crystallang/crystal:1.9.2-build
container: crystallang/crystal:1.10.1-build
steps:
- name: Download Crystal source
uses: actions/checkout@v4
Expand Down
22 changes: 14 additions & 8 deletions .github/workflows/win.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@ concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/master' }}

env:
CI_LLVM_VERSION: "17.0.2"

jobs:
x86_64-windows-libs:
runs-on: windows-2022
Expand Down Expand Up @@ -172,12 +175,12 @@ jobs:
uses: actions/cache@v3
with:
path: llvm
key: llvm-libs-16.0.3-msvc
key: llvm-libs-${{ env.CI_LLVM_VERSION }}-msvc

- name: Download LLVM
if: steps.cache-llvm.outputs.cache-hit != 'true'
run: |
iwr https://github.com/llvm/llvm-project/releases/download/llvmorg-16.0.3/llvm-16.0.3.src.tar.xz -OutFile llvm.tar.xz
iwr https://github.com/llvm/llvm-project/releases/download/llvmorg-${{ env.CI_LLVM_VERSION }}/llvm-${{ env.CI_LLVM_VERSION }}.src.tar.xz -OutFile llvm.tar.xz
(Get-FileHash -Algorithm SHA256 .\llvm.tar.xz).hash -eq "D820E63BC3A6F4F833EC69A1EF49A2E81992E90BC23989F98946914B061AB6C7"
7z x llvm.tar.xz
7z x llvm.tar
Expand All @@ -186,25 +189,27 @@ jobs:
- name: Download LLVM's CMake files
if: steps.cache-llvm.outputs.cache-hit != 'true'
run: |
iwr https://github.com/llvm/llvm-project/releases/download/llvmorg-16.0.3/cmake-16.0.3.src.tar.xz -OutFile cmake.tar.xz
iwr https://github.com/llvm/llvm-project/releases/download/llvmorg-${{ env.CI_LLVM_VERSION }}/cmake-${{ env.CI_LLVM_VERSION }}.src.tar.xz -OutFile cmake.tar.xz
(Get-FileHash -Algorithm SHA256 .\cmake.tar.xz).hash -eq "B6D83C91F12757030D8361DEDC5DD84357B3EDB8DA406B5D0850DF8B6F7798B1"
7z x cmake.tar.xz
7z x cmake.tar
mv cmake-* cmake
- name: Build LLVM
if: steps.cache-llvm.outputs.cache-hit != 'true'
working-directory: ./llvm-src
run: |
cmake . -Thost=x64 -DLLVM_TARGETS_TO_BUILD="X86;AArch64" -DLLVM_USE_CRT_RELEASE=MT -DBUILD_SHARED_LIBS=OFF -DCMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH=OFF -DLLVM_INCLUDE_BENCHMARKS=OFF -DLLVM_INCLUDE_TESTS=OFF -DLLVM_ENABLE_ZSTD=OFF
mkdir llvm-build
cd llvm-build
cmake ..\llvm-src -Thost=x64 -DLLVM_TARGETS_TO_BUILD="X86;AArch64" -DLLVM_USE_CRT_RELEASE=MT -DBUILD_SHARED_LIBS=OFF -DCMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH=OFF -DLLVM_INCLUDE_BENCHMARKS=OFF -DLLVM_INCLUDE_TESTS=OFF -DLLVM_ENABLE_ZSTD=OFF
cmake --build . --config Release
cmake -DCMAKE_INSTALL_PREFIX=$(pwd)\llvm -P cmake_install.cmake
cmake "-DCMAKE_INSTALL_PREFIX=$(pwd)\..\llvm" -P cmake_install.cmake
x86_64-windows:
needs: [x86_64-windows-libs, x86_64-windows-dlls, x86_64-windows-llvm]
uses: ./.github/workflows/win_build_portable.yml
with:
release: false
llvm_version: "17.0.2"

x86_64-windows-test:
runs-on: windows-2022
Expand All @@ -230,7 +235,7 @@ jobs:
uses: actions/cache/restore@v3
with:
path: llvm
key: llvm-libs-16.0.3-msvc
key: llvm-libs-${{ env.CI_LLVM_VERSION }}-msvc
fail-on-cache-miss: true

- name: Set up environment
Expand All @@ -257,6 +262,7 @@ jobs:
uses: ./.github/workflows/win_build_portable.yml
with:
release: true
llvm_version: "17.0.2"

x86_64-windows-installer:
if: github.repository_owner == 'crystal-lang' && (startsWith(github.ref, 'refs/tags/') || startsWith(github.ref, 'refs/heads/ci/'))
Expand All @@ -280,7 +286,7 @@ jobs:
uses: actions/cache/restore@v3
with:
path: llvm
key: llvm-libs-16.0.3-msvc
key: llvm-libs-${{ env.CI_LLVM_VERSION }}-msvc
fail-on-cache-miss: true

- name: Set up environment
Expand Down
7 changes: 5 additions & 2 deletions .github/workflows/win_build_portable.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@ on:
release:
required: true
type: boolean
llvm_version:
required: true
type: string

jobs:
build:
Expand All @@ -21,7 +24,7 @@ jobs:
- name: Install Crystal
uses: crystal-lang/install-crystal@v1
with:
crystal: "1.9.2"
crystal: "1.10.1"

- name: Download Crystal source
uses: actions/checkout@v4
Expand Down Expand Up @@ -88,7 +91,7 @@ jobs:
uses: actions/cache/restore@v3
with:
path: llvm
key: llvm-libs-16.0.3-msvc
key: llvm-libs-${{ inputs.llvm_version }}-msvc
fail-on-cache-miss: true

- name: Set up environment
Expand Down
Loading

0 comments on commit ecadb05

Please sign in to comment.