Skip to content

Commit

Permalink
feat: Add package:cedar_ffi (#65)
Browse files Browse the repository at this point in the history
Adds an FFI-based implementation of the Cedar authorizer using the official Rust implementation.
  • Loading branch information
dnys1 authored Mar 9, 2024
1 parent 23b0cc3 commit 6c29941
Show file tree
Hide file tree
Showing 40 changed files with 221,293 additions and 1 deletion.
43 changes: 43 additions & 0 deletions .github/workflows/cedar_ffi.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: cedar_ffi
on:
pull_request:
paths:
- ".github/workflows/packages_cedar_ffi.yaml"
- "packages/cedar_ffi/**"
- "packages/cedar_ffi/third_party/cedar"
- "packages/cedar_ffi/third_party/cedar/**"

# Prevent duplicate runs due to Graphite
# https://graphite.dev/docs/troubleshooting#why-are-my-actions-running-twice
concurrency:
group: ${{ github.repository }}-${{ github.workflow }}-${{ github.ref }}-${{ github.ref == 'refs/heads/main' && github.sha || ''}}
cancel-in-progress: true

jobs:
test:
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- macos-14
- windows-latest
runs-on: ${{ matrix.os }}
# TODO(dnys1): Speed up Rust builds
timeout-minutes: 15
steps:
- name: Git Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # 4.1.1
with:
submodules: true
- name: Setup Dart
uses: dart-lang/setup-dart@fedb1266e91cf51be2fdb382869461a434b920a3 # main
# Will often be out-of-date on runners
- name: Setup Rust
run: rustup update stable && rustup default stable
- name: Get Packages
working-directory: packages/cedar_ffi
run: dart pub get
- name: Test
working-directory: packages/cedar_ffi
run: dart --enable-experiment=native-assets test --fail-fast
10 changes: 9 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,12 @@
.DS_Store
doc/api/
**/doc/api/
pubspec_overrides.yaml
pubspec_overrides.yaml

## RUST ##
# will have compiled files and executables
debug/
target/

# These are backup files generated by rustfmt
**/*.rs.bk
4 changes: 4 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[submodule "packages/cedar_ffi/third_party/cedar"]
path = packages/cedar_ffi/third_party/cedar
url = https://github.com/cedar-policy/cedar
branch = release/3.1.x
Loading

0 comments on commit 6c29941

Please sign in to comment.