Skip to content

Commit

Permalink
Merge branch 'master' into feat/enumerable-to_set-block
Browse files Browse the repository at this point in the history
  • Loading branch information
straight-shoota authored Dec 13, 2023
2 parents 6567e3b + f5a5e5a commit c03ca4a
Show file tree
Hide file tree
Showing 1,060 changed files with 62,384 additions and 22,856 deletions.
32 changes: 23 additions & 9 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,18 @@
version: 2.1

parameters:
distribution-scripts-repo:
description: "Git url https://github.com/crystal-lang/distribution-scripts/"
type: string
default: "https://github.com/crystal-lang/distribution-scripts.git"
distribution-scripts-version:
description: "Git ref for version of https://github.com/crystal-lang/distribution-scripts/"
type: string
default: "f567925d4d36be64b7e211d0c166af9bdd92c75f"
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.6.1/crystal-1.6.1-1"
default: "https://github.com/crystal-lang/crystal/releases/download/1.10.1/crystal-1.10.1-1"

defaults:
environment: &env
Expand All @@ -19,7 +23,9 @@ defaults:
- run: bin/ci prepare_system
- run: echo 'export CURRENT_TAG="$CIRCLE_TAG"' >> $BASH_ENV
- run: bin/ci prepare_build
- run: bin/ci build
- run:
command: bin/ci build
no_output_timeout: 30m
- run:
when: always
command: |
Expand All @@ -45,7 +51,9 @@ jobs:
- run: bin/ci prepare_system
- run: echo 'export CURRENT_TAG="$CIRCLE_TAG"' >> $BASH_ENV
- run: bin/ci prepare_build
- run: bin/ci build
- run:
command: bin/ci build
no_output_timeout: 30m
- run:
when: always
command: |
Expand Down Expand Up @@ -87,7 +95,9 @@ jobs:
- run: echo 'export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/local/opt/openssl@1.1/lib/pkgconfig"' >> $BASH_ENV
- run: echo 'export CURRENT_TAG="$CIRCLE_TAG"' >> $BASH_ENV
- run: bin/ci prepare_build
- run: bin/ci build
- run:
command: bin/ci build
no_output_timeout: 30m
- run:
when: always
command: |
Expand Down Expand Up @@ -117,7 +127,9 @@ jobs:
- run: echo 'export CURRENT_TAG="$CIRCLE_TAG"' >> $BASH_ENV
- run: bin/ci prepare_build
- run: bin/ci with_build_env 'make crystal'
- run: bin/ci with_build_env 'CRYSTAL_WORKERS=4 make std_spec threads=1 FLAGS="-D preview_mt" junit_output=.junit/std_spec.xml'
- run:
command: bin/ci with_build_env 'CRYSTAL_WORKERS=4 make std_spec threads=1 FLAGS="-D preview_mt" junit_output=.junit/std_spec.xml'
no_output_timeout: 30m
- run:
when: always
command: |
Expand All @@ -134,7 +146,7 @@ jobs:
steps:
# checkout specific distribution-scripts version to perform releases and nightly
- run: |
git clone https://github.com/crystal-lang/distribution-scripts.git ~/distribution-scripts
git clone << pipeline.parameters.distribution-scripts-repo >> ~/distribution-scripts
cd ~/distribution-scripts
git checkout << pipeline.parameters.distribution-scripts-version >>
# persist relevant information for build process
Expand Down Expand Up @@ -428,7 +440,7 @@ jobs:
- image: manastech/s3cmd:2.2-alpine
environment:
<<: *env
AWS_ACCESS_KEY_ID: AKIA2EEIIRCJCMOSW2XH
AWS_ACCESS_KEY_ID: AKIA2EEIIRCJDEDGK6MQ
steps:
- attach_workspace:
at: /tmp/workspace
Expand Down Expand Up @@ -470,7 +482,9 @@ jobs:
- run: bin/ci prepare_system
- run: echo 'export CURRENT_TAG="$CIRCLE_TAG"' >> $BASH_ENV
- run: bin/ci prepare_build
- run: bin/ci build
- run:
command: bin/ci build
no_output_timeout: 30m

workflows:
version: 2
Expand Down
30 changes: 30 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
## Sources

*.cr text eol=lf

## Sourced-in dependencies

lib/** linguist-vendored

## Generated files

# produced by scripts/generate_windows_zone_names.cr
src/crystal/system/win32/zone_names.cr linguist-generated
# produced by scripts/generate_html_entities.cr
src/html/entities.cr linguist-generated
# produced by scripts/generate_ssl_server_defaults.cr
src/openssl/ssl/defaults.cr linguist-generated
# produced by scripts/generate_grapheme_properties.cr
src/string/grapheme/properties.cr linguist-generated
# produced by scripts/generate_unicode_data.cr
src/unicode/data.cr linguist-generated
# produced by spec/generate_interpreter_spec.sh
spec/interpreter_std_spec.cr linguist-generated
# produced by scripts/generate_grapheme_break_specs.cr
spec/std/string/grapheme_break_spec.cr linguist-generated
# produced by spec/generate_wasm32_spec.sh
spec/wasm32_std_spec.cr linguist-generated

## Syntax highlighting

Makefile.win linguist-language=makefile
2 changes: 2 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,5 @@ We thank you for helping improve Crystal. In order to ease the reviewing process
2. Focus the PR to the referred issue, and restraint from adding unrelated changes/additions. We do welcome another PR if you fixed another issue.

3. If your change is big, consider breaking it into several smaller PRs. In general, the smaller the change, the quicker we can review it.

4. ⚠️ Please do not amend previous commits and force push to the PR branch. This makes reviews much harder because reference to previous state is hidden.
16 changes: 16 additions & 0 deletions .github/renovate.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": ["config:base"],
"separateMajorMinor": false,
"packageRules": [
{
"matchDatasources": ["docker"],
"enabled": false
},
{
"groupName": "GH Actions",
"matchManagers": ["github-actions"],
"schedule": ["after 5am and before 8am on Wednesday"]
}
]
}
30 changes: 17 additions & 13 deletions .github/workflows/aarch64.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,23 @@ name: AArch64 CI

on: [push, pull_request]

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/master' }}

jobs:
aarch64-musl-build:
runs-on: [linux, ARM64]
if: github.repository == 'crystal-lang/crystal'
steps:
- name: Download Crystal source
uses: actions/checkout@v2
uses: actions/checkout@v4
- name: Build Crystal
uses: docker://jhass/crystal:1.0.0-alpine-build
with:
args: make crystal
- name: Upload Crystal executable
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
with:
name: crystal-aarch64-musl
path: |
Expand All @@ -26,26 +30,26 @@ jobs:
if: github.repository == 'crystal-lang/crystal'
steps:
- name: Download Crystal source
uses: actions/checkout@v2
uses: actions/checkout@v4
- name: Download Crystal executable
uses: actions/download-artifact@v2
uses: actions/download-artifact@v3
with:
name: crystal-aarch64-musl
- name: Mark downloaded compiler as executable
run: chmod +x .build/crystal
- name: Run stdlib specs
uses: docker://jhass/crystal:1.0.0-alpine-build
with:
args: make std_spec
args: make std_spec FLAGS=-Duse_pcre
aarch64-musl-test-compiler:
needs: aarch64-musl-build
runs-on: [linux, ARM64]
if: github.repository == 'crystal-lang/crystal'
steps:
- name: Download Crystal source
uses: actions/checkout@v2
uses: actions/checkout@v4
- name: Download Crystal executable
uses: actions/download-artifact@v2
uses: actions/download-artifact@v3
with:
name: crystal-aarch64-musl
- name: Mark downloaded compiler as executable
Expand All @@ -59,13 +63,13 @@ jobs:
if: github.repository == 'crystal-lang/crystal'
steps:
- name: Download Crystal source
uses: actions/checkout@v2
uses: actions/checkout@v4
- name: Build Crystal
uses: docker://jhass/crystal:1.0.0-build
with:
args: make crystal
- name: Upload Crystal executable
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
with:
name: crystal-aarch64-gnu
path: |
Expand All @@ -77,9 +81,9 @@ jobs:
if: github.repository == 'crystal-lang/crystal'
steps:
- name: Download Crystal source
uses: actions/checkout@v2
uses: actions/checkout@v4
- name: Download Crystal executable
uses: actions/download-artifact@v2
uses: actions/download-artifact@v3
with:
name: crystal-aarch64-gnu
- name: Mark downloaded compiler as executable
Expand All @@ -94,9 +98,9 @@ jobs:
if: github.repository == 'crystal-lang/crystal'
steps:
- name: Download Crystal source
uses: actions/checkout@v2
uses: actions/checkout@v4
- name: Download Crystal executable
uses: actions/download-artifact@v2
uses: actions/download-artifact@v3
with:
name: crystal-aarch64-gnu
- name: Mark downloaded compiler as executable
Expand Down
64 changes: 64 additions & 0 deletions .github/workflows/interpreter.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
name: Interpreter Test

on: [push, pull_request]

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/master' }}

env:
SPEC_SPLIT_DOTS: 160

jobs:
test-interpreter_spec:
runs-on: ubuntu-22.04
container:
image: crystallang/crystal:1.10.1-build
name: "Test Interpreter"
steps:
- uses: actions/checkout@v4

- name: Test interpreter_spec
run: make interpreter_spec junit_output=.junit/interpreter_spec.xml

build-interpreter:
runs-on: ubuntu-22.04
container:
image: crystallang/crystal:1.10.1-build
name: Build interpreter
steps:
- uses: actions/checkout@v4

- name: Build compiler
run: make interpreter=1 release=1

- name: Upload compiler artifact
uses: actions/upload-artifact@v3
with:
name: crystal-interpreter
path: |
.build/crystal
test-interpreter-std_spec:
needs: build-interpreter
runs-on: ubuntu-22.04
container:
image: crystallang/crystal:1.10.1-build
strategy:
matrix:
part: [0, 1, 2, 3]
name: "Test std_spec with interpreter (${{ matrix.part }})"
steps:
- uses: actions/checkout@v4

- name: Download compiler artifact
uses: actions/download-artifact@v3
with:
name: crystal-interpreter
path: .build/

- name: Mark downloaded compiler as executable
run: chmod +x .build/crystal

- name: Run std_spec with interpreter
run: SPEC_SPLIT="${{ matrix.part }}%4" bin/crystal i spec/interpreter_std_spec.cr -- --junit_output .junit/interpreter-std_spec.${{ matrix.part }}.xml
Loading

0 comments on commit c03ca4a

Please sign in to comment.