Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
549 commits
Select commit Hold shift + click to select a range
0a8a230
fixed: MacOS build
brendanfh Jun 20, 2024
82a5f4c
added: short-circuiting boolean operations
brendanfh Jun 24, 2024
c281ab6
fixed: test case
brendanfh Jun 24, 2024
3c2b441
added: unwrap operator (`!`)
brendanfh Jun 26, 2024
30bca30
fixed: minor bug with `io.skip_whitespace`
brendanfh Jun 27, 2024
a1cf93b
fixed: misc
brendanfh Jul 8, 2024
3413d6f
fixed: misc
brendanfh Jul 8, 2024
3bc1b53
added: `core.crypto.hmac`
brendanfh Jul 9, 2024
d3b9f88
added: `os.args` to get CLI arguments
brendanfh Jul 16, 2024
3cdeda1
fixed: bug in WASI version of `os.args`
brendanfh Jul 16, 2024
875d8fd
added: `json.Value.as_entry_array()`
brendanfh Jul 17, 2024
4999418
fixed: bug of `sizeof` being incorrect in polyprocs
brendanfh Jul 18, 2024
c96662c
changed: union tags default to smallest possible int (WIP)
brendanfh Jul 19, 2024
fc0959e
fixed: bugs related to smaller unions
brendanfh Jul 19, 2024
e04d029
fixed: edge cases for smaller unions
brendanfh Jul 19, 2024
60c0859
updated CHANGELOG
brendanfh Jul 23, 2024
aa3842a
fixed: `iter.comp` and `iter.prod` implementations
brendanfh Jul 24, 2024
d5502e5
fixed: bug when injecting onto a distinct type
brendanfh Jul 26, 2024
73fbe23
fixed: parsing error on `struct` in expression
brendanfh Jul 29, 2024
f6edb72
added: missing `__args` procedures for JS platform
brendanfh Jul 31, 2024
f7fea9a
added: `Iterator.from` and `Slice.map`
brendanfh Aug 1, 2024
48b180a
added: overloads to `Slice.map` and `Slice.fold1`
brendanfh Aug 1, 2024
d2a97f2
fixed: small cleanup in `tcp.onyx`
brendanfh Aug 2, 2024
9e43d05
added: ability to add custom sections to the outputted binary
brendanfh Aug 16, 2024
85de6d6
added: printing installed custom subcommands in `onyx help`
brendanfh Aug 16, 2024
085cf9d
changed: display of custom commands
brendanfh Aug 16, 2024
baa36ce
changed: display of custom commands
brendanfh Aug 16, 2024
3dcf576
Merge branch 'master' of github.com:onyx-lang/onyx
brendanfh Aug 16, 2024
bc7d1c4
added: `onyx pkg build` can run shell commands now
brendanfh Aug 19, 2024
acee5bb
added: basics of hooks to extensions and `Stalled` hook
brendanfh Aug 20, 2024
da63101
added: variant of `??` for `Result`
brendanfh Aug 20, 2024
5c0f3f8
fixed: minor bug with some symbols failing to resolve
brendanfh Aug 20, 2024
bd4e92b
fixed: misc things
brendanfh Aug 22, 2024
8251e97
fixed: potential memory corruption in `TCP_Server`
brendanfh Aug 23, 2024
65ba6b3
fixed: minor bugs with procedural expansions in polyprocs
brendanfh Aug 28, 2024
aec208d
fixed: infinite loop in LSP
brendanfh Aug 28, 2024
5aea1a7
fixed: modernization of `onyx pkg`
brendanfh Aug 31, 2024
6393bea
added: installation of "tools" from an Onyx package
brendanfh Sep 1, 2024
397f99f
fixed: minor and infrequent crash opportunity
brendanfh Sep 4, 2024
c629421
updated CHANGELOG; added test case
brendanfh Sep 6, 2024
62ae2eb
added: `debug` allocator; renamed: `memdebug` to `memwatch`
brendanfh Sep 7, 2024
13c25d6
fixed: `Date.add_days`; added: `base64.encode_url`
brendanfh Sep 10, 2024
675f9c3
fixed: many various missing features
brendanfh Sep 10, 2024
18cbafc
added: simple JWT implementation
brendanfh Sep 10, 2024
bad63e4
added: disclaimer to JWT package
brendanfh Sep 10, 2024
134079c
fixed: memory leak
brendanfh Sep 10, 2024
e747399
removed: top-level search paths; added: mapped directory names
brendanfh Sep 13, 2024
01f487f
updated CHANGELOG
brendanfh Sep 13, 2024
9948200
added: warning about `#load_path` being removed
brendanfh Sep 13, 2024
1d2cc7c
added: `core.encoding.xml` with basic XML parser
brendanfh Sep 17, 2024
3291c78
fixed: potential infinite loop in xml parser
brendanfh Sep 17, 2024
ebff3bb
changed: `core.encoding.xml` now uses a `StringPool`
brendanfh Sep 17, 2024
b2b661a
bugfix: xml BOM handling
brendanfh Sep 18, 2024
b0f4fb4
fixed: crash when a bad token is used at the start of a type
brendanfh Sep 23, 2024
dfe788d
added: ability to create project templates using `onyx pkg new --create`
brendanfh Sep 23, 2024
81e3119
updated CHANGELOG
brendanfh Sep 24, 2024
03a74b6
fixed: only outputting type info for used types
brendanfh Sep 25, 2024
1287017
fixed: handling of thread exiting
brendanfh Sep 25, 2024
ee758ba
Merge branch 'master' into fix/type-table-pruning
brendanfh Sep 25, 2024
8f2b281
changed: more dense packing of type info pointers
brendanfh Sep 25, 2024
f15c8cc
Merge branch 'feature/mapped-folders' into rc-0.1.13
brendanfh Sep 26, 2024
b254958
Merge branch 'fix/type-table-pruning' into rc-0.1.13
brendanfh Sep 26, 2024
162549e
fixed: #157
brendanfh Sep 26, 2024
1d08db5
added: test case for issue #157
brendanfh Sep 26, 2024
f4a214f
Merge branch 'master' into rc-0.1.13
brendanfh Sep 26, 2024
5f7e6ad
fixed: "compressed" the type table building code
brendanfh Sep 26, 2024
50161cd
fixed: struct member type info `default` member
brendanfh Sep 30, 2024
ae92627
added: ability to pipe into `.foo()` and implicit parens on pipes
brendanfh Sep 30, 2024
ffb7c0e
Merge branch 'master' into rc-0.1.13
brendanfh Sep 30, 2024
4596e10
fixed: race conditions and dangling pointers in TCP server
brendanfh Oct 1, 2024
2fef2d4
fixed: compiler extensions security fixes
brendanfh Oct 1, 2024
4f7cd4b
changed: arrays are passed by value now, maintaining expected semantics
brendanfh Oct 7, 2024
7947407
added: `io.Reader.ensure_buffered`
brendanfh Oct 9, 2024
d8bdc38
Merge branch 'master' into rc-0.1.13
brendanfh Oct 9, 2024
c0b797b
added: `onyx run-watch` to auto restart program on changes
brendanfh Oct 10, 2024
635bc9b
fixed: windows build
brendanfh Oct 10, 2024
e58a7e5
fixed: `onyx watch` producing bad output when using `--stack-trace`
brendanfh Oct 10, 2024
16142d7
added: `Optional.wrap_ptr`
brendanfh Oct 13, 2024
b141dc4
Merge branch 'master' into rc-0.1.13
brendanfh Oct 14, 2024
b12d5ab
fixed: test cases
brendanfh Oct 14, 2024
f5c2052
updated CHANGELOG
brendanfh Oct 15, 2024
da1c933
fixed: `Array.ensure_capacity` not zeroing after allocating
brendanfh Oct 19, 2024
49cdd5e
fixed: implementation of `Array.ensure_capacity`
brendanfh Oct 22, 2024
f89e320
fixed: weird behavior of accessing fields on captured locals
brendanfh Oct 24, 2024
d0cc2fa
removed old file
brendanfh Oct 27, 2024
c930586
fixed: `Slice.windows` and `Slice.chunks`
brendanfh Oct 28, 2024
a2e839f
fixed: `Slice.windows` and `Slice.chunks`
brendanfh Oct 28, 2024
9d7b8c6
Merge branch 'rc-0.1.13' of github.com:onyx-lang/onyx into rc-0.1.13
brendanfh Oct 28, 2024
ff47890
removed accidental debug compiler build
brendanfh Oct 28, 2024
784c830
fixed: removed build file
brendanfh Oct 28, 2024
ae34445
added: struct literals on array types
brendanfh Oct 28, 2024
a4df279
bugfix: `Slice.windows`
brendanfh Oct 29, 2024
61eb37e
Squashed commit of the following:
brendanfh Oct 29, 2024
5f15987
finalizing changes for release
brendanfh Oct 29, 2024
86f5471
fixed: type inference for anonymous struct literal for arrays
brendanfh Oct 30, 2024
8cb9666
added: packages can be referenced by branch instead of version
brendanfh Oct 30, 2024
d7a3507
added: `str.tokenize`
brendanfh Nov 5, 2024
0e9e4d4
added: `Iterator.scan`; fixed: invalidation of lvalue when returning …
brendanfh Nov 7, 2024
7eecf5e
simplified `Iterator.scan`
brendanfh Nov 7, 2024
fcab993
added: `Slice.scan(1)`
brendanfh Nov 7, 2024
2e5e5b2
fixed: index not incrementing when `continue` was used in a `for` loo…
brendanfh Nov 7, 2024
3d8280f
fixed: always relative file inclusion
brendanfh Nov 8, 2024
c33c44c
updated version in `onyx-pkg.onyx`
brendanfh Nov 8, 2024
6bf64d1
fixed: `#local` and `#package` not applying sometimes
brendanfh Nov 8, 2024
5645eb9
updated `lsp.wasm`
brendanfh Nov 8, 2024
19bf172
update README.md
brendanfh Nov 8, 2024
6bd633f
Merge pull request #158 from onyx-lang/rc-0.1.13
brendanfh Nov 9, 2024
3f5f867
last minute fixes for 0.1.13
brendanfh Nov 9, 2024
f4e769d
Merge branch 'rc-0.1.13'
brendanfh Nov 9, 2024
60f38f7
update CHANGELOG
brendanfh Nov 9, 2024
72be266
step 1: removed used of `global_heap_allocator` and `global_scratch_a…
brendanfh Nov 14, 2024
414d23b
step 2: moved type storage into `Context` struct
brendanfh Nov 18, 2024
a6e6b63
step 3: move final miscellaneous globals into `Context`
brendanfh Nov 18, 2024
5802dbc
step 4: actually move final globals into `Context`
brendanfh Nov 19, 2024
4253c88
step 4.5: make `context` not global
brendanfh Nov 19, 2024
ebc6432
step 4.6: more refactoring
brendanfh Nov 20, 2024
693aab6
part 5: finish making `context` not global
brendanfh Nov 20, 2024
27402ee
fixed: `linux-wasmer-amd64` build
brendanfh Nov 20, 2024
89f816a
starting work on separating out the CLI
brendanfh Nov 20, 2024
c2a589d
misc additions and work on library
brendanfh Nov 22, 2024
4cd0ec9
fixed: bug with `for` index not incrementing on continue
brendanfh Nov 22, 2024
0655f9b
Merge branch 'master' into feature/separate-cli
brendanfh Nov 22, 2024
9bf6b1e
Merge remote-tracking branch 'origin/feature/separate-cli' into featu…
brendanfh Nov 22, 2024
baf85d5
fixed errors from merge
brendanfh Nov 22, 2024
ae6de05
successfully compiling a binary externally from `libonyx`!
brendanfh Nov 22, 2024
e2f4289
starting work on making new cli using `libonyx`
brendanfh Nov 23, 2024
f460bd8
fixed deploying new compiler/library
brendanfh Nov 23, 2024
66b50e9
fixed: codegen for defering index increment
brendanfh Nov 23, 2024
f4244dd
added: error rank
brendanfh Nov 23, 2024
ec0e4b5
added: proper error printing
brendanfh Nov 25, 2024
388b16d
re-added: `--doc`, `-D`
brendanfh Nov 25, 2024
f1304e6
re-added `--lspinfo` for now
brendanfh Nov 26, 2024
db1d8d3
starting work on events
brendanfh Nov 28, 2024
1a77e6e
fixed: segfault on certain error condition
brendanfh Nov 28, 2024
32c38f9
fixed: many memory leaks, but not all
brendanfh Nov 29, 2024
b494937
fixed: segfault due to freeing one too many things
brendanfh Nov 29, 2024
c4c0405
added parser to allow doc comments in struct members and enum values
clsource Nov 29, 2024
23b04b2
started work on compiler events
brendanfh Nov 30, 2024
08ca939
maybe fixed windows build
brendanfh Nov 30, 2024
ff99b77
fixed: `perform_self_upgrade` is not defined on windows
brendanfh Nov 30, 2024
dbb40f6
added `onyx.dll` to windows build steps
brendanfh Nov 30, 2024
50f54da
added: default error format
brendanfh Dec 1, 2024
17a89e3
fixed file loading error for absolute paths on Windows
brendanfh Dec 1, 2024
5bf87ab
fixed: double free of context when using `onyx run`
brendanfh Dec 1, 2024
2612565
Merge pull request #166 from NinjasCL-labs/doc-comments-struct-enum
brendanfh Dec 1, 2024
77803de
Merge remote-tracking branch 'origin/master' into feature/separate-cli
brendanfh Dec 1, 2024
45f79ce
testing adding `.lib` to Windows distribution
brendanfh Dec 8, 2024
c606868
update to MacOS 13 Ventura for builds
brendanfh Dec 8, 2024
0184d32
fixing MacOS ARM build
brendanfh Dec 8, 2024
c43a757
fixed: `*-none` builds
brendanfh Dec 8, 2024
35cbb0d
fixed: code-signing and missing files in `*-none` builds
brendanfh Dec 8, 2024
f4f5f9a
added: more meaniful name to unnamed procedures
brendanfh Dec 9, 2024
0562a05
Merge pull request #172 from onyx-lang/feature/separate-cli
brendanfh Dec 12, 2024
4b940e5
trying to fix windows running onyx programs
brendanfh Dec 16, 2024
56d6523
fix indexing error in Array.insert family
dgriffie79 Dec 24, 2024
1367a45
fixed: #179
brendanfh Dec 26, 2024
7f1d01b
added: `#error` in statements; `Set.from`
brendanfh Dec 31, 2024
55164b8
fixed: warnings preventing compilation
brendanfh Dec 31, 2024
0572808
changed: merged functionality of `#load` and `#load_all`
brendanfh Dec 31, 2024
34f829c
trying out expanding for-loops using macros
brendanfh Dec 31, 2024
26d38bd
WIP: merging symres and checker
brendanfh Jan 1, 2025
a75bdb8
WIP: more merging work
brendanfh Jan 1, 2025
91f0fd6
WIP: even more merging work
brendanfh Jan 2, 2025
c3144b8
WIP: even even more merging work
brendanfh Jan 2, 2025
de3a7db
WIP: dealing with many unresolved symbol errors
brendanfh Jan 2, 2025
16ceb7d
WIP: working on solving weird switch-case ordering
brendanfh Jan 3, 2025
f20ea2f
WIP: fixing more segfaults and errors in checker
brendanfh Jan 3, 2025
8125f0d
WIP: trying to resolve captures
brendanfh Jan 3, 2025
ac53c30
WIP: very close to complete transition
brendanfh Jan 4, 2025
064acd0
WIP: all tests pass! package manager does not tho
brendanfh Jan 4, 2025
ec3efed
DONE: successfully removed symres step
brendanfh Jan 4, 2025
64a5c64
removed: old symres file
brendanfh Jan 4, 2025
ba0a9c2
fixed: windows build and cleaned up code
brendanfh Jan 4, 2025
4c9f3f7
Merge branch 'master' into fix/array-insert
brendanfh Jan 4, 2025
00fd90b
Merge pull request #180 from dgriffie79/fix/array-insert
brendanfh Jan 4, 2025
bcd90b3
fixed: all compiler warnings
brendanfh Jan 4, 2025
a30a2d2
fixed: minor timing bug with address_of -> pointer substitution
brendanfh Jan 5, 2025
3b9d0b2
fixed: updated and added some comments
brendanfh Jan 5, 2025
2b5ddd6
Merge pull request #181 from onyx-lang/fix/eliminate-symres
brendanfh Jan 5, 2025
2d0a7de
Merge branch 'master' into experiment/for-macros
brendanfh Jan 5, 2025
47d3561
fixed: working for-loop macro expansion concept
brendanfh Jan 5, 2025
169ca0f
added: typed code block captures and `#skip_scope`
brendanfh Jan 6, 2025
7e1cbe9
added: more powerful code block features and for-macros
brendanfh Jan 6, 2025
65e22a8
fixed: error message on unmatched types in `#unquote`
brendanfh Jan 6, 2025
4482348
WIP: trying to remove most of the `for` logic
brendanfh Jan 7, 2025
dd083ec
WIP: trying to resolve weird overload failing issues
brendanfh Jan 7, 2025
616c193
fixed: successfully compiling most things again
brendanfh Jan 7, 2025
cd35aaa
fixed: bugs in for loop implementations
brendanfh Jan 7, 2025
02a73f8
fixed: re-added `#first` for while loops; removed: `#remove` directive
brendanfh Jan 8, 2025
a7a4c8a
fixed: bug checking `iterator.close`; added: names to trap printing
brendanfh Jan 8, 2025
9d582e6
fixed: warning when compiling
brendanfh Jan 9, 2025
e8cd027
removed: test case for `#remove`
brendanfh Jan 9, 2025
983dfb8
fixed: error reporting for `for` overloads
brendanfh Jan 11, 2025
02459dc
added: for expansion test cases
brendanfh Jan 11, 2025
1ed1408
changed: language used when reporting error about a for-loop by pointer
brendanfh Jan 11, 2025
7ac2670
Merge branch 'master' into fix/debugger-lifecycle
brendanfh Jan 15, 2025
546302e
Merge branch 'master' into experiment/for-macros
brendanfh Jan 15, 2025
48f09c7
added: address of a comptime value is lifted into global data
brendanfh Jan 18, 2025
9a2b5fd
Merge branch 'master' into experiment/for-macros
brendanfh Jan 18, 2025
c51efc5
changed: using `__For_Expansion_Flags` again
brendanfh Jan 19, 2025
7ef6f27
Merge pull request #182 from onyx-lang/experiment/for-macros
brendanfh Jan 19, 2025
57bfcd5
bugfix: unrespected type hint for index variable
brendanfh Jan 19, 2025
22ca258
bugfix: auto-cast causing bad inferred types
brendanfh Jan 23, 2025
247faea
fixed: procedures with captures breaking in code blocks
brendanfh Apr 14, 2025
532b974
fixed: incorrect filename for js/odoc files
brendanfh Apr 14, 2025
cb54655
fixed: non-zero buffer issues
brendanfh Apr 14, 2025
58134fe
fixed: over-cloning things that don't need to be cloned
brendanfh Apr 14, 2025
b9a117f
fixed: minor uninitialized memory eerrors
brendanfh Apr 23, 2025
2a08ca0
fixed: all current memory leaks due to stb_ds
brendanfh Apr 23, 2025
8f93988
misc bugfixes
brendanfh Apr 24, 2025
8017e2f
fixed: misc bugs
brendanfh Apr 26, 2025
e2ada96
added: `protobuf` as officially supported encoding
brendanfh Apr 26, 2025
4cd8d25
fixed: `ccontext` in `unmarshal.onyx`
brendanfh Apr 26, 2025
74f23a0
added: terminate extension hook on shutdown
brendanfh Apr 26, 2025
f638c94
added: `--save-injected` flag
brendanfh Apr 26, 2025
805374f
added: start of protobuf defs for compiler events
brendanfh Apr 26, 2025
19cd182
added: start of "auto-compiler", compiling Onyx from an Onyx program
brendanfh Apr 27, 2025
6c4c5b1
fixed: linking bug on linux
brendanfh Apr 27, 2025
ff51bd9
added: first version of compiler toolchain in core
brendanfh Apr 27, 2025
122d33b
changed: compiler options to not be a pointer
brendanfh Apr 30, 2025
4ddf557
fixed: gcc 15 treating thread_local as a keyword now?
brendanfh May 2, 2025
17affae
added: ability to remove dynamic array elements in for loop
brendanfh May 8, 2025
1dd6975
added: very basic implicit closure code
brendanfh May 8, 2025
6f5cdb7
fixed: get_struct_by_name impl
brendanfh May 8, 2025
3a14fb9
added: `#inject` option to `#unquote`
brendanfh May 13, 2025
91ecae7
Merge remote-tracking branch 'origin/feature/remove-load-all'
brendanfh May 16, 2025
16037d4
updated CHANGELOG
brendanfh May 16, 2025
f8e6194
added: implementation of `onyx_inject_code`
brendanfh May 16, 2025
2b6a606
fixed: some build issues and weird compiler hangups
brendanfh May 17, 2025
faad29d
changed: `#skip_scope` to `#scope`
brendanfh May 17, 2025
9cbb7ab
fixed: compilation
brendanfh May 17, 2025
e0c6416
fixed: `remove_element()` in dynamic-array for-loop
brendanfh May 19, 2025
1975ea4
fixed: slow steady changes to clean up compiler code
brendanfh May 22, 2025
1bc0d8a
fixed: code cleanup in struct types
brendanfh May 25, 2025
f814388
fixed: storage of union variants
brendanfh May 25, 2025
78d7080
fixed: not always saving injected code file
brendanfh Jun 7, 2025
cae0b40
fixed: name generation of deeply nested structs/unions
brendanfh Jun 7, 2025
3f5df95
fixed: using `#Self` in unions or structs
brendanfh Jun 7, 2025
762947f
added: very sketchy implementation of `#code_as_str`
brendanfh Jun 8, 2025
87d29c2
fixed: console opening on windows
brendanfh Jun 18, 2025
0739f71
fixed? windows path issue
brendanfh Jun 18, 2025
2b6827e
getting back into Onyx development!
brendanfh Oct 1, 2025
11d88fc
fixed: some intrinsic interfaces might need to yield
brendanfh Oct 9, 2025
f5843db
fixed: removed unnecessary print statement
brendanfh Oct 9, 2025
8520dc3
fixed: polyquery yield issue; polymorph with expression constraint
brendanfh Oct 9, 2025
9e27530
fixed: `custom` runtime use
brendanfh Oct 11, 2025
3c73b6e
fixed: issue with `use _ :=` not working on some compilations
brendanfh Oct 11, 2025
e778ff0
fixed: too new glibc version on builds
brendanfh Oct 11, 2025
3f9698b
fixed: constraint issues
brendanfh Oct 12, 2025
7ded101
Merge branch 'master' of github.com:onyx-lang/onyx
brendanfh Oct 12, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
github: onyx-lang
5 changes: 4 additions & 1 deletion .github/workflows/nightly-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@ jobs:
mv artifacts/onyx-linux-wasmer-amd64/onyx.tar.gz ./onyx-linux-wasmer-amd64.tar.gz
mv artifacts/onyx-linux-ovm-amd64/onyx.tar.gz ./onyx-linux-ovm-amd64.tar.gz
mv artifacts/onyx-linux-none-amd64/onyx.tar.gz ./onyx-linux-none-amd64.tar.gz
mv artifacts/onyx-linux-wasmer-arm64/onyx.tar.gz ./onyx-linux-wasmer-aarch64.tar.gz
mv artifacts/onyx-linux-ovm-arm64/onyx.tar.gz ./onyx-linux-ovm-aarch64.tar.gz
mv artifacts/onyx-linux-none-arm64/onyx.tar.gz ./onyx-linux-none-aarch64.tar.gz
mv artifacts/onyx-darwin-wasmer-amd64/onyx.tar.gz ./onyx-darwin-wasmer-amd64.tar.gz
mv artifacts/onyx-darwin-ovm-amd64/onyx.tar.gz ./onyx-darwin-ovm-amd64.tar.gz
mv artifacts/onyx-darwin-none-amd64/onyx.tar.gz ./onyx-darwin-none-amd64.tar.gz
Expand All @@ -45,4 +48,4 @@ jobs:
This is a nightly release of the Onyx toolchain. **Use with caution.**
files: |
./*.tar.gz
./*.zip
./*.zip
102 changes: 86 additions & 16 deletions .github/workflows/onyx-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ on:
jobs:
setup:
name: Set up
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
outputs:
VERSION: ${{ steps.setup.outputs.VERSION }}
DOING_RELEASE: ${{ steps.setup.outputs.DOING_RELEASE }}
Expand All @@ -41,41 +41,53 @@ jobs:
matrix:
include:
- build: linux-amd64
os: ubuntu-latest
os: ubuntu-22.04
runtime_library: ovmwasm
artifact_name: 'onyx-linux-ovm-amd64'
- build: linux-amd64
os: ubuntu-latest
os: ubuntu-22.04
runtime_library: wasmer
artifact_name: 'onyx-linux-wasmer-amd64'
- build: linux-amd64
os: ubuntu-latest
os: ubuntu-22.04
runtime_library: none
artifact_name: 'onyx-linux-none-amd64'
- build: linux-arm64
os: ubuntu-22.04
runtime_library: ovmwasm
artifact_name: 'onyx-linux-ovm-arm64'
- build: linux-arm64
os: ubuntu-22.04
runtime_library: wasmer
artifact_name: 'onyx-linux-wasmer-arm64'
- build: linux-arm64
os: ubuntu-22.04
runtime_library: none
artifact_name: 'onyx-linux-none-arm64'
- build: darwin-arm64
os: macos-12
os: macos-13
runtime_library: none
target: aarch64-apple-darwin
artifact_name: 'onyx-darwin-none-arm64'
- build: darwin-arm64
os: macos-12
os: macos-13
runtime_library: wasmer
target: aarch64-apple-darwin
artifact_name: 'onyx-darwin-wasmer-arm64'
- build: darwin-amd64
os: macos-12
os: macos-13
runtime_library: none
artifact_name: 'onyx-darwin-none-amd64'
- build: darwin-amd64
os: macos-12
os: macos-13
runtime_library: wasmer
artifact_name: 'onyx-darwin-wasmer-amd64'
- build: darwin-amd64
os: macos-12
os: macos-13
runtime_library: ovmwasm
artifact_name: 'onyx-darwin-ovm-amd64'
- build: darwin-arm64
os: macos-12
os: macos-13
runtime_library: ovmwasm
target: aarch64-apple-darwin
artifact_name: 'onyx-darwin-ovm-arm64'
Expand All @@ -90,18 +102,28 @@ jobs:
chmod +x build.sh

- name: Install Wasmer building dependencies (AMD64)
if: (matrix.runtime_library == 'wasmer') && (matrix.build != 'darwin-arm64')
if: (matrix.runtime_library == 'wasmer') && (matrix.build != 'darwin-arm64' && matrix.build != 'linux-arm64')
run: |
curl https://get.wasmer.io -sSfL | sh
echo "$HOME/.wasmer/bin" >> $GITHUB_PATH

# Have to do MacOS ARM64 special, since I don't want to pay for the M1 GitHub runners
# to build this natively. Instead, we directly download the ARM version of WASMER
# and link to its libwasmer.a file.
- name: Install Wasmer building dependencies (ARM64)
- name: Install Wasmer building dependencies (LINUX-ARM64)
if: (matrix.runtime_library == 'wasmer') && (matrix.build == 'linux-arm64')
run: |
curl -o wasmer.tar.gz https://github.com/wasmerio/wasmer/releases/download/v4.2.6/wasmer-linux-aarch64.tar.gz -L
mkdir wasmer
tar -C wasmer -zxvf wasmer.tar.gz

# Have to do MacOS ARM64 special, since I don't want to pay for the M1 GitHub runners
# to build this natively. Instead, we directly download the ARM version of WASMER
# and link to its libwasmer.a file.
- name: Install Wasmer building dependencies (DARWIN-ARM64)
if: (matrix.runtime_library == 'wasmer') && (matrix.build == 'darwin-arm64')
run: |
curl -o wasmer.tar.gz https://github.com/wasmerio/wasmer/releases/download/v4.2.3/wasmer-darwin-arm64.tar.gz -L
curl -o wasmer.tar.gz https://github.com/wasmerio/wasmer/releases/download/v4.2.6/wasmer-darwin-arm64.tar.gz -L
mkdir wasmer
tar -C wasmer -zxvf wasmer.tar.gz

Expand All @@ -127,6 +149,27 @@ jobs:
ONYX_CC: gcc
ONYX_ARCH: linux_x86_64

- name: Build Onyx for ${{ matrix.build }}-${{ matrix.runtime_library }}
if: (matrix.build == 'linux-arm64') && (matrix.runtime_library != 'none')
run: |
sudo apt install --yes gcc-aarch64-linux-gnu
./build.sh compile compress
env:
ONYX_CC: aarch64-linux-gnu-gcc
ONYX_ARCH: linux_aarch64
ONYX_RUNTIME_LIBRARY: ${{ matrix.runtime_library }}
WASMER_LIB_PATH: ../wasmer/lib
ONYX_USE_DYNCALL: '0'

- name: Build Onyx for ${{ matrix.build }}-${{ matrix.runtime_library }}
if: (matrix.build == 'linux-arm64') && (matrix.runtime_library == 'none')
run: |
sudo apt install --yes gcc-aarch64-linux-gnu
./build.sh compile compress
env:
ONYX_CC: aarch64-linux-gnu-gcc
ONYX_ARCH: linux_aarch64

- name: Build Onyx for ${{ matrix.build }}-${{ matrix.runtime_library }}
if: (matrix.build == 'darwin-amd64') && (matrix.runtime_library != 'none')
run: |
Expand All @@ -153,7 +196,7 @@ jobs:
ONYX_ARCH: darwin_arm64
ONYX_TARGET: aarch64-apple-darwin
WASMER_LIB_PATH: ../wasmer/lib
ONYX_RUNTIME_LIBRARY: wasmer-custom
ONYX_RUNTIME_LIBRARY: wasmer

- name: Build Onyx for ${{ matrix.build }}-${{ matrix.runtime_library }}
if: (matrix.build == 'darwin-arm64') && (matrix.runtime_library == 'ovmwasm')
Expand All @@ -180,7 +223,7 @@ jobs:
cmd.exe /c 'build.bat dist'

- name: Upload Artifacts
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.artifact_name }}
path: dist
Expand All @@ -202,7 +245,7 @@ jobs:
upload_url: ${{ steps.create_release.outputs.upload_url }}
steps:
- name: Download artifacts
uses: actions/download-artifact@v2
uses: actions/download-artifact@v4
with:
path: artifacts
- name: Create Release
Expand Down Expand Up @@ -242,6 +285,33 @@ jobs:
asset_path: artifacts/onyx-linux-none-amd64/onyx.tar.gz
asset_name: onyx-linux-none-amd64.tar.gz
asset_content_type: application/gzip
- name: Upload Release Asset Linux ARM64 with OVM
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: artifacts/onyx-linux-ovm-arm64/onyx.tar.gz
asset_name: onyx-linux-ovm-arm64.tar.gz
asset_content_type: application/gzip
- name: Upload Release Asset Linux ARM64 with Wasmer
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: artifacts/onyx-linux-wasmer-arm64/onyx.tar.gz
asset_name: onyx-linux-wasmer-arm64.tar.gz
asset_content_type: application/gzip
- name: Upload Release Asset Linux ARM64
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: artifacts/onyx-linux-none-arm64/onyx.tar.gz
asset_name: onyx-linux-none-arm64.tar.gz
asset_content_type: application/gzip
- name: Upload Release Asset MacOS AMD64
uses: actions/upload-release-asset@v1
env:
Expand Down
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,13 @@ bin/onyx-run
bin/onyx
releases/
compiler/onyx
compiler/libonyx.so
compiler/libonyx.dylib
compiler/libonyx.dll
compiler/onyx_autocompiler.so
compiler/onyx_autocompiler.dylib
compiler/onyx_autocompiler.dll
runtime/onyx_runtime.so
runtime/onyx_runtime.dylib
runtime/onyx_runtime.dll
.clangd
Loading