-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add macOS builds and GH actions CI setup
- Loading branch information
Showing
4 changed files
with
150 additions
and
10 deletions.
There are no files selected for viewing
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,74 @@ | ||
--- | ||
name: Build | ||
on: | ||
- push | ||
|
||
jobs: | ||
build: | ||
name: ${{ matrix.config.name }} | ||
runs-on: ${{ matrix.config.os }} | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
config: | ||
- name: Windows | ||
os: windows-2019 | ||
arch: x64 | ||
preset-name: windows | ||
artifact-name: windows-x64 | ||
|
||
- name: Linux | ||
os: ubuntu-20.04 | ||
preset-name: linux | ||
artifact-name: linux-x64 | ||
|
||
- name: macOS | ||
os: macos-10.15 | ||
preset-name: macos | ||
artifact-name: macos-x64 | ||
|
||
steps: | ||
- uses: actions/checkout@v2 | ||
with: | ||
submodules: recursive | ||
|
||
- uses: seanmiddleditch/gha-setup-ninja@v3 | ||
|
||
- uses: ilammy/msvc-dev-cmd@v1 | ||
if: startsWith(matrix.config.os, 'windows') | ||
with: | ||
arch: ${{ matrix.config.arch }} | ||
|
||
- uses: ammaraskar/msvc-problem-matcher@master | ||
if: startsWith(matrix.config.os, 'windows') | ||
|
||
- uses: ammaraskar/gcc-problem-matcher@master | ||
if: startsWith(matrix.config.os, 'ubuntu') || startsWith(matrix.config.os, 'macos') | ||
|
||
- name: Configure | ||
run: cmake --preset ${{ matrix.config.preset-name }} | ||
|
||
- name: Build | ||
run: cmake --build --preset ${{ matrix.config.preset-name }} | ||
|
||
- name: Install | ||
run: cmake --build --preset ${{ matrix.config.preset-name }} --target install | ||
|
||
- name: Package | ||
run: cmake --build --preset ${{ matrix.config.preset-name }} --target package | ||
|
||
- name: Upload | ||
uses: actions/upload-artifact@v2 | ||
with: | ||
path: build/install/${{ matrix.config.preset-name }}/**/* | ||
name: ${{ matrix.config.artifact-name }} | ||
|
||
- name: Upload Release | ||
uses: ncipollo/release-action@v1 | ||
if: startsWith(github.ref, 'refs/tags/') | ||
with: | ||
name: tainted-lua ${{ github.ref }} | ||
artifacts: build/${{ matrix.config.preset-name }}/*.tar.xz,build/${{ matrix.config.preset-name }}/*.zip | ||
draft: true | ||
token: ${{ secrets.GITHUB_TOKEN }} | ||
allowUpdates: true |
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,31 @@ | ||
# Changelog | ||
|
||
## [Unreleased] | ||
|
||
## [v1] | ||
### Added | ||
- Added basic taint propagation system. | ||
- Added the following security extensions to the base library: | ||
- `forceinsecure()` | ||
- `geterrorhandler()` | ||
- `hooksecurefunc([table,] "name", func)` | ||
- `issecure()` | ||
- `issecurevariable([table,] "variable")` | ||
- `scrub(...)` | ||
- `seterrorhandler(errfunc)` | ||
- Added the following security extensions to the debug library: | ||
- `debug.forcesecure()` | ||
- Added a new hook mask (`"s"`) which is invoked whenever the VM transitions between security states. This occurs after processing of the current instruction. | ||
- Added a debug trap system that allows configuring errors under certain runtime conditions. | ||
- This can be controlled through the `debug.settrapmask("mask")` and `debug.gettrapmask()` functions. | ||
- The `"s"` mask enables integer overflow errors in `string.format` falls for signed format specifiers. | ||
- The `"u"` mask enables integer overflow errors in `string.format` calls for unsigned format specifiers. | ||
- The `"z"` mask enables divide-by-zero errors for division and modulo operations. | ||
- The default trap mask matches that of a live retail client environment and is set to `"s"`. | ||
- Added all string library extensions present in the in-game environment as well as their global aliases. | ||
- Added all table library extensions present in the in-game environment as well as their global aliases. | ||
- Added all math library extensions present in the in-game environment as well as their global aliases. | ||
- Added all global aliases to the OS libary functions as present in the in-game environment. | ||
|
||
[Unreleased]: https://github.com/olivierlacan/keep-a-changelog/compare/v1...HEAD | ||
[v1]: https://github.com/olivierlacan/keep-a-changelog/releases/tag/v1 |
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