Skip to content

Commit

Permalink
Merge branch 'trunk' into syncv2/experiments
Browse files Browse the repository at this point in the history
  • Loading branch information
ChrisPenner committed Dec 3, 2024
2 parents 6cf6f4c + ce0e9af commit fb12103
Show file tree
Hide file tree
Showing 1,193 changed files with 78,538 additions and 72,197 deletions.
23 changes: 4 additions & 19 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,33 +8,18 @@ assignees: ''
---

**Describe and demonstrate the bug**
Please attach a [ucm transcript](https://www.unison-lang.org/docs/tooling/transcripts/) if possible, calling out the unexpected behavior in the text. e.g.
This should be written as a [ucm transcript](https://www.unison-lang.org/docs/tooling/transcripts/) if possible, calling out the unexpected behavior in the text. e.g.

Input:
````
```unison:hide
a = 1
```
Here I typo the next command and `ucm` silently does nothing. I would have expected an error message:
```ucm
.> add b
```
````

Output:
````
```unison
``` unison :hide
a = 1
```

Here I typo the next command and `ucm` silently does nothing, I would have expected an error message:
```ucm
.> add b

``` ucm
scratch/main> add b
```
````

**Screenshots**
If applicable, add screenshots to help explain your problem.
Expand Down
40 changes: 30 additions & 10 deletions .github/workflows/bundle-ucm.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ on:
required: true

env:
racket_version: "8.7"
racket_version: "8.14"

defaults:
run:
Expand All @@ -25,7 +25,7 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [ubuntu-20.04, macos-12, windows-2019]
os: [ubuntu-20.04, macos-13, macos-14, windows-2019]
runs-on: ${{matrix.os}}
steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -56,7 +56,7 @@ jobs:
tries=5
for (( i = 0; i < $tries; i++ )); do
stack build :unison \
--flag unison-parser-typechecker:optimized \
--ghc-options='-O2' \
--local-bin-path ucm-bin \
--copy-bins \
&& break;
Expand Down Expand Up @@ -91,7 +91,16 @@ jobs:
runs-on: ${{matrix.os}}
steps:
- name: set up environment
run: echo "ucm=${{ runner.temp }}/unison" >> $GITHUB_ENV
run: |
echo "ucm=${{ runner.temp }}/unison" >> $GITHUB_ENV
case "$RUNNER_ARCH" in
X86) racket_arch=x86 ;;
X64) racket_arch=x64 ;;
ARM) racket_arch=arm32 ;;
ARM64) racket_arch=arm64 ;;
*) echo "Unsupported architecture: ${{runner.arch}}"; exit 1 ;;
esac
echo "racket_arch=$racket_arch" >> $GITHUB_ENV
- name: download racket `unison` source
uses: actions/checkout@v4
with:
Expand All @@ -107,7 +116,7 @@ jobs:
${{ env.ucm }} transcript unison-src/transcripts-manual/gen-racket-libs.md
- uses: Bogdanp/[email protected]
with:
architecture: "x64"
architecture: ${{ env.racket_arch }}
distribution: "full"
variant: "CS"
version: ${{env.racket_version}}
Expand All @@ -132,7 +141,8 @@ jobs:
matrix:
os:
- ubuntu-20.04
- macos-12
- macos-13
- macos-14
- windows-2019
runs-on: ${{matrix.os}}
steps:
Expand All @@ -155,9 +165,19 @@ jobs:
# This isn't right because unison.zip is going to include different dates each time.
# Maybe we can unpack it and hash the contents.
key: ${{ runner.os }}-racket-${{env.racket_version}}-${{hashFiles('scheme-libs/racket/unison.zip')}}
- name: set up environment
run: |
case "$RUNNER_ARCH" in
X86) racket_arch=x86 ;;
X64) racket_arch=x64 ;;
ARM) racket_arch=arm32 ;;
ARM64) racket_arch=arm64 ;;
*) echo "Unsupported architecture: ${{runner.arch}}"; exit 1 ;;
esac
echo "racket_arch=$racket_arch" >> $GITHUB_ENV
- uses: Bogdanp/[email protected]
with:
architecture: "x64"
architecture: ${{ env.racket_arch }}
distribution: "full"
variant: "CS"
version: ${{env.racket_version}}
Expand Down Expand Up @@ -191,12 +211,12 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [ubuntu-20.04, macos-12, windows-2019]
os: [ubuntu-20.04, macos-13, macos-14, windows-2019]
steps:
- name: set up environment
run: |
staging_dir="${RUNNER_TEMP//\\//}/ucm-staging"
artifact_os="$(echo $RUNNER_OS | tr '[:upper:]' '[:lower:]')"
artifact_os="$(echo "${RUNNER_OS}-${RUNNER_ARCH}" | tr '[:upper:]' '[:lower:]')"
echo "staging_dir=$staging_dir" >> $GITHUB_ENV
echo "artifact_os=$artifact_os" >> $GITHUB_ENV
- name: download ucm
Expand Down Expand Up @@ -246,7 +266,7 @@ jobs:
file: ucm.cmd
content: |
@echo off
SET UCM_WEB_UI="%~dp0ui"
SET UCM_WEB_UI=%~dp0ui
"%~dp0unison\unison.exe" --runtime-path "%~dp0runtime\unison-runtime.exe" %*
- name: package everything together
run: |
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/ci-build-jit-binary.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,15 @@ defaults:
env:
jit_src: unison-jit-src/
jit_dist: unison-jit-dist/
racket_version: "8.7"
racket_version: "8.14"

jobs:
build-jit-binary:
name: build jit binary
strategy:
fail-fast: false
matrix:
os: [ubuntu-20.04, macOS-12, windows-2019]
os: [ubuntu-20.04, macOS-13, windows-2019]
runs-on: ${{matrix.os}}
steps:
- name: set up environment
Expand Down Expand Up @@ -54,7 +54,7 @@ jobs:
with:
name: jit-source
path: ${{ env.jit_src }}

- name: cache/restore jit binaries
id: cache-jit-binaries
uses: actions/cache/restore@v4
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/ci-test-jit.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ on:
workflow_call:

env:
runtime_tests_version: "@unison/runtime-tests/main"
runtime_tests_version: "@unison/runtime-tests/releases/0.0.1"
# for best results, this should match the path in ci.yaml too; but GH doesn't make it easy to share them.
runtime_tests_codebase: "~/.cache/unisonlanguage/runtime-tests.unison"

Expand All @@ -24,7 +24,7 @@ jobs:
matrix:
os:
- ubuntu-20.04
- macOS-12
- macOS-13
# - windows-2019
runs-on: ${{matrix.os}}
steps:
Expand Down
22 changes: 11 additions & 11 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ on:
env:
## Some version numbers that are used during CI
ormolu_version: 0.7.2.0
jit_version: "@unison/internal/releases/0.0.18"
runtime_tests_version: "@unison/runtime-tests/main"
jit_version: "@unison/internal/releases/0.0.25"
runtime_tests_version: "@unison/runtime-tests/releases/0.0.1"

## Some cached directories
# a temp path for caching a built `ucm`
Expand All @@ -38,7 +38,6 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@v44
with:
# globs copied from default settings for run-ormolu
Expand Down Expand Up @@ -72,7 +71,7 @@ jobs:
os:
# While iterating on this file, you can disable one or more of these to speed things up
- ubuntu-20.04
- macOS-12
- macOS-13
- windows-2019
# - windows-2022
steps:
Expand All @@ -97,7 +96,8 @@ jobs:
uses: actions/cache@v4
with:
path: ${{env.ucm_local_bin}}
key: ucm-${{ matrix.os }}-${{ hashFiles('**/stack.yaml', '**/package.yaml', '**/*.hs')}}
key: ucm-${{ matrix.os }}-${{ hashFiles('**/stack.yaml', '**/package.yaml', '**/*.hs', '**/unison-cli-integration/integrationtests/IntegrationTests/*')}}
# added the integration test dependencies here as if they were source, for simplicity

- name: restore stack caches
if: steps.cache-ucm-binaries.outputs.cache-hit != 'true'
Expand Down Expand Up @@ -218,7 +218,7 @@ jobs:
os:
# While iterating on this file, you can disable one or more of these to speed things up
- ubuntu-20.04
- macOS-12
- macos-13
- windows-2019
# - windows-2022
steps:
Expand All @@ -244,7 +244,7 @@ jobs:
uses: actions/cache@v4
with:
path: ${{env.transcript_test_results}}
key: transcripts-results-${{ matrix.os }}-${{ hashFiles('**/stack.yaml', '**/package.yaml', '**/*.hs')}}-${{ hashFiles('**/unison-src/**/*.md') }}
key: transcripts-results-${{ matrix.os }}-${{ hashFiles('**/stack.yaml', '**/package.yaml', '**/*.hs')}}-${{ hashFiles('**/unison-src/**/*.md', '**/unison-src/**/*.u') }}
- name: restore binaries
uses: actions/cache/restore@v4
if: steps.cache-transcript-test-results.outputs.cache-hit != 'true'
Expand Down Expand Up @@ -297,7 +297,7 @@ jobs:
os:
# While iterating on this file, you can disable one or more of these to speed things up
- ubuntu-20.04
- macOS-12
- macos-13
# - windows-2019
# - windows-2022
steps:
Expand Down Expand Up @@ -387,14 +387,14 @@ jobs:
path: ${{ runner.temp }}/setup-jit.md
write-mode: overwrite
contents: |
```ucm
``` ucm
scratch/main> project.create-empty jit-setup
jit-setup/main> lib.install ${{ env.jit_version }}
```
```unison
``` unison
go = generateSchemeBoot "${{ env.jit_generated_src_scheme }}"
```
```ucm
``` ucm
jit-setup/main> run go
```
- name: download ucm artifact
Expand Down
22 changes: 12 additions & 10 deletions .github/workflows/nix-dev-cache.yaml
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
name: Nix development cache

on:
# Build on every pull request (and new PR commit)
pull_request:
# Build on new pushes to trunk (E.g. Merge commits)
# Without the branch filter, each commit on a branch with a PR is triggered twice.
# See: https://github.community/t/how-to-trigger-an-action-on-push-or-pull-request-but-not-both/16662
push:
branches:
- trunk
workflow_dispatch:
# # Build on every pull request (and new PR commit)
# pull_request:
# # Build on new pushes to trunk (E.g. Merge commits)
# # Without the branch filter, each commit on a branch with a PR is triggered twice.
# # See: https://github.community/t/how-to-trigger-an-action-on-push-or-pull-request-but-not-both/16662
# push:
# branches:
# - trunk

jobs:
nix:
Expand All @@ -20,8 +21,8 @@ jobs:
matrix:
os:
- ubuntu-20.04
- macOS-12
- macOS-14
- macOS-13
# - macOS-14
steps:
- uses: actions/checkout@v4
- name: mount Nix store on larger partition
Expand All @@ -45,4 +46,5 @@ jobs:
- name: build all packages and development shells
run: nix -L build --accept-flake-config --no-link --keep-going '.#all'
- name: print disk free status
if: always()
run: df -h
2 changes: 1 addition & 1 deletion .github/workflows/ormolu.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ on:
workflow_dispatch:

env:
ormolu_version: "0.5.2.0"
ormolu_version: "0.7.2.0"

jobs:
ormolu:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/update-transcripts.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
strategy:
matrix:
os:
- macOS-12
- macOS-13
steps:
- uses: actions/checkout@v4
- uses: unisonweb/actions/stack/cache/restore@main
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ dist-newstyle
*.prof
*.prof.html
*.profiterole.*
*.hp
*.ps
/.direnv/
/.envrc

Expand Down
10 changes: 5 additions & 5 deletions .mergify.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,20 +3,20 @@ pull_request_rules:
conditions:
- check-success=check-contributor
- check-success=build ucm (ubuntu-20.04)
- check-success=build ucm (macOS-12)
- check-success=build ucm (macos-13)
- check-success=build ucm (windows-2019)
- check-success=run transcripts (ubuntu-20.04)
- check-success=run transcripts (macOS-12)
- check-success=run transcripts (macos-13)
- check-success=run transcripts (windows-2019)
- check-success=run interpreter tests (ubuntu-20.04)
- check-success=run interpreter tests (macOS-12)
- check-success=run interpreter tests (macos-13)
# - check-success=run interpreter tests (windows-2019)
- check-success=generate jit source
- check-success=build jit binary / build jit binary (ubuntu-20.04)
- check-success=build jit binary / build jit binary (macOS-12)
- check-success=build jit binary / build jit binary (macos-13)
- check-success=build jit binary / build jit binary (windows-2019)
- check-success=test jit / test jit (ubuntu-20.04)
- check-success=test jit / test jit (macOS-12)
- check-success=test jit / test jit (macos-13)
# - check-success=test jit / test jit (windows-2019)
- label=ready-to-merge
- "#approved-reviews-by>=1"
Expand Down
2 changes: 2 additions & 0 deletions CONTRIBUTORS.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -87,3 +87,5 @@ The format for this list: name, GitHub handle
* Dan Doel (@dolio)
* Eric Torreborre (@etorreborre)
* Eduard Nicodei (@neduard)
* Brian McKenna (@puffnfresh)
* Ruslan Simchuk (@SimaDovakin)
1 change: 0 additions & 1 deletion CREDITS.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,6 @@ These are listed in alphabetical order.
| [comonad-5.0.6](https://hackage.haskell.org/package/comonad-5.0.6) | [BSD3](https://hackage.haskell.org/package/comonad-5.0.6/src/LICENSE) |
| [concurrent-supply-0.1.8](https://hackage.haskell.org/package/concurrent-supply-0.1.8) | [BSD3](https://hackage.haskell.org/package/concurrent-supply-0.1.8/src/LICENSE) |
| [conduit-1.3.2](https://hackage.haskell.org/package/conduit-1.3.2) | [MIT](https://hackage.haskell.org/package/conduit-1.3.2/src/LICENSE) |
| [configurator-0.3.0.0](https://hackage.haskell.org/package/configurator-0.3.0.0) | [BSD3](https://hackage.haskell.org/package/configurator-0.3.0.0/src/LICENSE) |
| [containers-0.6.2.1](https://hackage.haskell.org/package/containers-0.6.2.1) | [BSD3](https://hackage.haskell.org/package/containers-0.6.2.1/src/LICENSE) |
| [contravariant-1.5.2](https://hackage.haskell.org/package/contravariant-1.5.2) | [BSD3](https://hackage.haskell.org/package/contravariant-1.5.2/src/LICENSE) |
| [cryptohash-md5-0.11.100.1](https://hackage.haskell.org/package/cryptohash-md5-0.11.100.1) | [BSD3](https://hackage.haskell.org/package/cryptohash-md5-0.11.100.1/src/LICENSE) |
Expand Down
Loading

0 comments on commit fb12103

Please sign in to comment.