-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
2,003 changed files
with
235,341 additions
and
53,456 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
## 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 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 |
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
blank_issues_enabled: false | ||
contact_links: | ||
- name: "\U00002753 Crystal Community Forum" | ||
url: https://forum.crystal-lang.org/c/help-support | ||
about: Questions about installing, using Crystal and any related issues. | ||
- name: "\U0001F4AC Crystal Community Chat" | ||
url: https://gitter.im/crystal-lang/crystal | ||
about: "Get in touch with the community, ask for help and talk about Crystal. (IRC: #crystal-lang on libera.chat)" |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
--- | ||
name: "\U0001F914 Language Improvement Discussion" | ||
about: I want to start a new discussion about improving the language. | ||
labels: status:discussion | ||
--- | ||
|
||
## Discussion | ||
|
||
- What aspect of the language would you like to see improved? | ||
- What are the reasons? | ||
- Include practical examples to illustrate your points. | ||
- Optionally add one (or more) proposals to improve the current situation. |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
--- | ||
name: "\U0001F680 Feature Request" | ||
about: I want to propose a new language feature. | ||
labels: kind:feature | ||
--- | ||
|
||
## Feature Request | ||
|
||
- Is your feature request related to a problem? Please describe clearly and concisely what is it. | ||
- Describe the feature you would like, optionally illustrated by examples, and how it will solve the above problem. | ||
- Describe considered alternative solutions, and the reasons why you have not proposed them as a solution here. | ||
- Does it break backward compatibility, if yes then what's the migration path? | ||
|
||
In case this proposal includes a substantial change to the language, we ask you to go through an [RFC process](https://github.com/crystal-lang/rfcs). | ||
|
||
The best place to start an open discussion about potential changes is the [Crystal forum](https://forum.crystal-lang.org/c/crystal-contrib/6). |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
We thank you for helping improve Crystal. In order to ease the reviewing process, we invite you to read the [guidelines](https://github.com/crystal-lang/crystal/blob/master/CONTRIBUTING.md#making-good-pull-requests) and ask you to consider the following points before submitting a PR: | ||
|
||
1. We prefer to discuss the underlying issue _prior_ to discussing the code. Therefore, we kindly ask you to refer to an existing issue, or an existing discussion in a public space with members of the Core Team (forum, Gitter, Discord, ...). In few cases, we acknowledge that this might not be necessary, for instance when refactoring code or small bug fixes. In this case, the PR must include the same information an issue would have: a clear explanation of the issue, reproducible code, etc. | ||
|
||
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. |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
{ | ||
"$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"] | ||
} | ||
], | ||
"labels": ["topic:infrastructure/ci"] | ||
} |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,111 @@ | ||
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: [runs-on, runner=2cpu-linux-arm64, "run-id=${{ github.run_id }}"] | ||
if: github.repository == 'crystal-lang/crystal' | ||
steps: | ||
- name: Download Crystal source | ||
uses: actions/checkout@v4 | ||
- name: Build Crystal | ||
uses: docker://crystallang/crystal:1.13.2-alpine-84codes-build | ||
with: | ||
args: make crystal | ||
- name: Upload Crystal executable | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: crystal-aarch64-musl | ||
path: | | ||
.build/crystal | ||
src/llvm/ext/llvm_ext.o | ||
aarch64-musl-test-stdlib: | ||
needs: aarch64-musl-build | ||
runs-on: [runs-on, runner=4cpu-linux-arm64, "family=m7g", ram=16, "run-id=${{ github.run_id }}"] | ||
if: github.repository == 'crystal-lang/crystal' | ||
steps: | ||
- name: Download Crystal source | ||
uses: actions/checkout@v4 | ||
- name: Download Crystal executable | ||
uses: actions/download-artifact@v4 | ||
with: | ||
name: crystal-aarch64-musl | ||
- name: Mark downloaded compiler as executable | ||
run: chmod +x .build/crystal | ||
- name: Run stdlib specs | ||
uses: docker://crystallang/crystal:1.13.2-alpine-84codes-build | ||
with: | ||
args: make std_spec | ||
aarch64-musl-test-compiler: | ||
needs: aarch64-musl-build | ||
runs-on: [runs-on, runner=4cpu-linux-arm64, "family=m7g", ram=16, "run-id=${{ github.run_id }}"] | ||
if: github.repository == 'crystal-lang/crystal' | ||
steps: | ||
- name: Download Crystal source | ||
uses: actions/checkout@v4 | ||
- name: Download Crystal executable | ||
uses: actions/download-artifact@v4 | ||
with: | ||
name: crystal-aarch64-musl | ||
- name: Mark downloaded compiler as executable | ||
run: chmod +x .build/crystal | ||
- name: Run compiler specs | ||
uses: docker://crystallang/crystal:1.13.2-alpine-84codes-build | ||
with: | ||
args: make primitives_spec compiler_spec FLAGS=-Dwithout_ffi | ||
aarch64-gnu-build: | ||
runs-on: [runs-on, runner=2cpu-linux-arm64, "run-id=${{ github.run_id }}"] | ||
if: github.repository == 'crystal-lang/crystal' | ||
steps: | ||
- name: Download Crystal source | ||
uses: actions/checkout@v4 | ||
- name: Build Crystal | ||
uses: docker://crystallang/crystal:1.13.2-ubuntu-84codes-build | ||
with: | ||
args: make crystal | ||
- name: Upload Crystal executable | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: crystal-aarch64-gnu | ||
path: | | ||
.build/crystal | ||
src/llvm/ext/llvm_ext.o | ||
aarch64-gnu-test-stdlib: | ||
needs: aarch64-gnu-build | ||
runs-on: [runs-on, runner=4cpu-linux-arm64, "family=m7g", ram=16, "run-id=${{ github.run_id }}"] | ||
if: github.repository == 'crystal-lang/crystal' | ||
steps: | ||
- name: Download Crystal source | ||
uses: actions/checkout@v4 | ||
- name: Download Crystal executable | ||
uses: actions/download-artifact@v4 | ||
with: | ||
name: crystal-aarch64-gnu | ||
- name: Mark downloaded compiler as executable | ||
run: chmod +x .build/crystal | ||
- name: Run stdlib specs | ||
uses: docker://crystallang/crystal:1.13.2-ubuntu-84codes-build | ||
with: | ||
args: make std_spec | ||
aarch64-gnu-test-compiler: | ||
needs: aarch64-gnu-build | ||
runs-on: [runs-on, runner=4cpu-linux-arm64, "family=m7g", ram=16, "run-id=${{ github.run_id }}"] | ||
if: github.repository == 'crystal-lang/crystal' | ||
steps: | ||
- name: Download Crystal source | ||
uses: actions/checkout@v4 | ||
- name: Download Crystal executable | ||
uses: actions/download-artifact@v4 | ||
with: | ||
name: crystal-aarch64-gnu | ||
- name: Mark downloaded compiler as executable | ||
run: chmod +x .build/crystal | ||
- name: Run compiler specs | ||
uses: docker://crystallang/crystal:1.13.2-ubuntu-84codes-build | ||
with: | ||
args: make primitives_spec compiler_spec |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,85 @@ | ||
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.13.3-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.13.3-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@v4 | ||
with: | ||
name: crystal-interpreter | ||
path: | | ||
.build/crystal | ||
test-interpreter-std_spec: | ||
needs: build-interpreter | ||
runs-on: ubuntu-22.04 | ||
container: | ||
image: crystallang/crystal:1.13.3-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@v4 | ||
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/std_spec.cr -- --junit_output .junit/interpreter-std_spec.${{ matrix.part }}.xml | ||
|
||
test-interpreter-primitives_spec: | ||
needs: build-interpreter | ||
runs-on: ubuntu-22.04 | ||
container: | ||
image: crystallang/crystal:1.13.3-build | ||
name: "Test primitives_spec with interpreter" | ||
steps: | ||
- uses: actions/checkout@v4 | ||
|
||
- name: Download compiler artifact | ||
uses: actions/download-artifact@v4 | ||
with: | ||
name: crystal-interpreter | ||
path: .build/ | ||
|
||
- name: Mark downloaded compiler as executable | ||
run: chmod +x .build/crystal | ||
|
||
- name: Run primitives_spec with interpreter | ||
run: bin/crystal i spec/primitives_spec.cr -- --junit_output .junit/interpreter-primitives_spec.xml |
Oops, something went wrong.