mirror of
https://github.com/roc-lang/roc.git
synced 2024-11-11 05:34:11 +03:00
put back old ci files, re-enable cron
This commit is contained in:
parent
13f8dda6b0
commit
a86a7e7969
47
.github/workflows/benchmarks.yml
vendored
Normal file
47
.github/workflows/benchmarks.yml
vendored
Normal file
@ -0,0 +1,47 @@
|
||||
on: [pull_request]
|
||||
|
||||
name: Benchmarks
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
env:
|
||||
RUST_BACKTRACE: 1
|
||||
ROC_NUM_WORKERS: 1
|
||||
|
||||
jobs:
|
||||
prep-dependency-container:
|
||||
name: benchmark roc programs
|
||||
runs-on: [self-hosted, i7-6700K]
|
||||
timeout-minutes: 60
|
||||
env:
|
||||
FORCE_COLOR: 1
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
ref: "main"
|
||||
clean: "true"
|
||||
|
||||
- name: Earthly version
|
||||
run: earthly --version
|
||||
|
||||
- name: on main; prepare a self-contained benchmark folder
|
||||
run: ./ci/safe-earthly.sh --build-arg BENCH_SUFFIX=main +prep-bench-folder
|
||||
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
clean: "false" # we want to keep the benchmark folder
|
||||
|
||||
- name: on current branch; prepare a self-contained benchmark folder
|
||||
run: ./ci/safe-earthly.sh +prep-bench-folder
|
||||
|
||||
- uses: actions-rs/toolchain@v1
|
||||
with:
|
||||
toolchain: stable
|
||||
|
||||
- name: build benchmark runner
|
||||
run: cd ci/bench-runner && cargo build --release && cd ../..
|
||||
|
||||
- name: run benchmarks with regression check
|
||||
run: ./ci/bench-runner/target/release/bench-runner --check-executables-changed
|
23
.github/workflows/nix_linux_x86_64.yml
vendored
Normal file
23
.github/workflows/nix_linux_x86_64.yml
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
on: [pull_request]
|
||||
|
||||
name: Nix linux x86_64 cargo test
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
env:
|
||||
RUST_BACKTRACE: 1
|
||||
|
||||
jobs:
|
||||
nix-linux-x86:
|
||||
name: nix-linux-x86
|
||||
runs-on: [self-hosted, i7-6700K]
|
||||
timeout-minutes: 90
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
clean: "true"
|
||||
|
||||
- name: execute tests with --release
|
||||
run: /home/big-ci-user/.nix-profile/bin/nix develop -c cargo test --locked --release
|
36
.github/workflows/nix_macos_apple_silicon.yml
vendored
Normal file
36
.github/workflows/nix_macos_apple_silicon.yml
vendored
Normal file
@ -0,0 +1,36 @@
|
||||
on: [pull_request]
|
||||
|
||||
name: Nix apple silicon cargo test
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
env:
|
||||
RUST_BACKTRACE: 1
|
||||
|
||||
jobs:
|
||||
nix-apple-silicon:
|
||||
name: nix-apple-silicon
|
||||
runs-on: [self-hosted, macOS, ARM64]
|
||||
timeout-minutes: 90
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
clean: "true"
|
||||
|
||||
- name: check formatting with rustfmt
|
||||
run: nix develop -c cargo fmt --all -- --check
|
||||
|
||||
- name: check code style with clippy
|
||||
run: nix develop -c cargo clippy --workspace --tests -- --deny warnings
|
||||
|
||||
- name: check code style with clippy --release
|
||||
run: cargo clippy --workspace --tests --release -- --deny warnings
|
||||
|
||||
- name: execute tests with --release
|
||||
run: nix develop -c cargo test --locked --release
|
||||
|
||||
# we run the llvm wasm tests only on this machine because it is fast and wasm should be cross-platform
|
||||
- name: execute llvm wasm tests with --release
|
||||
run: nix develop -c cargo test-gen-llvm-wasm --locked --release
|
25
.github/workflows/spellcheck.yml
vendored
Normal file
25
.github/workflows/spellcheck.yml
vendored
Normal file
@ -0,0 +1,25 @@
|
||||
on: [pull_request]
|
||||
|
||||
name: SpellCheck
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
env:
|
||||
RUST_BACKTRACE: 1
|
||||
|
||||
jobs:
|
||||
spell-check:
|
||||
name: spell check
|
||||
runs-on: [self-hosted]
|
||||
timeout-minutes: 10
|
||||
env:
|
||||
FORCE_COLOR: 1
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
clean: "true"
|
||||
|
||||
- name: do spell check with typos-cli 1.0.11 # to reproduce locally: cargo install typos-cli --version 1.0.11
|
||||
run: typos
|
18
.github/workflows/test_nightly_many_os.yml
vendored
18
.github/workflows/test_nightly_many_os.yml
vendored
@ -1,6 +1,6 @@
|
||||
on: [pull_request]
|
||||
# schedule:
|
||||
# - cron: '0 13 * * *'
|
||||
on:
|
||||
schedule:
|
||||
- cron: '0 13 * * *'
|
||||
|
||||
name: Test latest nightly release for macOS x86_64
|
||||
|
||||
@ -14,21 +14,21 @@ jobs:
|
||||
timeout-minutes: 90
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
|
||||
- name: fetch releases data and save to file
|
||||
run: curl https://api.github.com/repos/roc-lang/roc/releases --output roc_releases.json
|
||||
|
||||
|
||||
- name: get the url of today`s release for linux x86_64
|
||||
if: startsWith(matrix.os, 'ubuntu')
|
||||
run: echo "RELEASE_URL=$(./ci/get_latest_release_url.sh linux_x86_64)" >> $GITHUB_ENV
|
||||
|
||||
|
||||
- name: get the url of today`s release for macos x86_64
|
||||
if: startsWith(matrix.os, 'macos')
|
||||
run: echo "RELEASE_URL=$(./ci/get_latest_release_url.sh macos_x86_64)" >> $GITHUB_ENV
|
||||
|
||||
|
||||
- name: get the archive from the url
|
||||
run: curl -OL ${{ env.RELEASE_URL }}
|
||||
|
||||
|
||||
- name: remove everything in this dir except the tar # we want to test like a user who would have downloaded the release, so we clean up all files from the repo checkout
|
||||
run: ls | grep -v "roc_nightly.*tar\.gz" | xargs rm -rf
|
||||
|
||||
@ -39,4 +39,4 @@ jobs:
|
||||
run: ./roc examples/hello-world/main.roc
|
||||
|
||||
|
||||
|
||||
|
||||
|
54
.github/workflows/ubuntu_x86_64.yml
vendored
Normal file
54
.github/workflows/ubuntu_x86_64.yml
vendored
Normal file
@ -0,0 +1,54 @@
|
||||
on: [pull_request]
|
||||
|
||||
name: CI
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
env:
|
||||
RUST_BACKTRACE: 1
|
||||
|
||||
jobs:
|
||||
test-zig-rust-wasm:
|
||||
name: test zig, rust, wasm...
|
||||
runs-on: [self-hosted, i5-4690K]
|
||||
timeout-minutes: 90
|
||||
env:
|
||||
RUSTC_WRAPPER: /home/small-ci-user/.cargo/bin/sccache
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
clean: "true"
|
||||
|
||||
- name: Check for duplicate AUTHORS
|
||||
run: diff <(sort AUTHORS) <(sort AUTHORS | uniq) # The < operator treats a string as a file. diff 'succeeds' if no difference.
|
||||
|
||||
- name: zig fmt check, zig tests
|
||||
run: cd crates/compiler/builtins/bitcode && ./run-tests.sh
|
||||
|
||||
- name: zig wasm tests
|
||||
run: cd crates/compiler/builtins/bitcode && ./run-wasm-tests.sh
|
||||
|
||||
- name: regular rust tests
|
||||
run: cargo test --locked --release --features with_sound serde --workspace && sccache --show-stats
|
||||
|
||||
- name: test the dev backend # these tests require an explicit feature flag
|
||||
run: cargo test --locked --release --package test_gen --no-default-features --features gen-dev && sccache --show-stats
|
||||
|
||||
- name: test gen-wasm single threaded # gen-wasm has some multithreading problems to do with the wasmer runtime
|
||||
run: cargo test --locked --release --package test_gen --no-default-features --features gen-wasm -- --test-threads=1 && sccache --show-stats
|
||||
|
||||
- name: run `roc test` on Str builtins
|
||||
run: cargo run --locked --release -- test crates/compiler/builtins/roc/Str.roc && sccache --show-stats
|
||||
|
||||
#TODO pass --locked into the script here as well, this avoids rebuilding dependencies unnecessarily
|
||||
- name: wasm repl test
|
||||
run: crates/repl_test/test_wasm.sh && sccache --show-stats
|
||||
|
||||
#TODO i386 (32-bit linux) cli tests
|
||||
|
||||
#TODO verify-no-git-changes
|
||||
|
||||
- name: test website build script
|
||||
run: REPL_DEBUG=1 bash www/build.sh
|
Loading…
Reference in New Issue
Block a user