Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
abrassel committed Jun 17, 2024
0 parents commit 80dc63c
Show file tree
Hide file tree
Showing 16 changed files with 641 additions and 0 deletions.
44 changes: 44 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: bug
assignees: ''

---

## Bug description

<!-- A clear and concise description of what the bug is. -->

- Would you like to work on a fix? [y/n]

## To Reproduce

Steps to reproduce the behavior:

1. ...
2. ...
3. ...
4. ...

<!-- Make sure you are able to reproduce the bug in the main branch, too. -->

## Expected behavior

<!-- A clear and concise description of what you expected to happen. -->

## Screenshots

<!-- If applicable, add screenshots to help explain your problem. -->

## Environment

<!-- Please fill the following information. -->

- OS: [e.g. Ubuntu 20.04]
- unitycatalog-rs version: [e.g. 0.1.0]

## Additional context

<!-- Add any other context about the problem here. -->
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
blank_issues_enabled: true
28 changes: 28 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: enhancement
assignees: ''

---

## Motivations

<!--
If your feature request is related to a problem, please describe it.
-->

- Would you like to implement this feature? [y/n]

## Solution

<!-- Describe the solution you'd like. -->

## Alternatives

<!-- Describe any alternative solutions or features you've considered. -->

## Additional context

<!-- Add any other context or screenshots about the feature request here. -->
12 changes: 12 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<!-- Please explain the changes you made -->

<!--
Please, make sure:
- you have read the contributing guidelines:
https://github.com/abrassel/unitycatalog-rs/blob/main/docs/CONTRIBUTING.md
- you have formatted the code using rustfmt:
https://github.com/rust-lang/rustfmt
- you have checked that all tests pass, by running `cargo test --workspace`
- you have updated the changelog (if needed):
https://github.com/abrassel/unitycatalog-rs/blob/main/CHANGELOG.md
-->
15 changes: 15 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
version: 2
updates:
- package-ecosystem: "cargo"
# Look for `Cargo.toml` and `Cargo.lock` in the root directory
directory: "/"
# Check for updates every Monday
schedule:
interval: "weekly"
open-pull-requests-limit: 10
- package-ecosystem: "github-actions"
directory: "/"
# Check for updates every Monday
schedule:
interval: "weekly"
open-pull-requests-limit: 10
23 changes: 23 additions & 0 deletions .github/workflows/audit.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Security audit

on:
schedule:
# Runs at 00:00 UTC everyday
- cron: '0 0 * * *'
push:
paths:
- '**/Cargo.toml'
- '**/Cargo.lock'
pull_request:

jobs:
audit:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Run security audit
uses: rustsec/[email protected]
with:
token: ${{ secrets.GITHUB_TOKEN }}

124 changes: 124 additions & 0 deletions .github/workflows/cd.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
# name: CD # Continuous Deployment

# on:
# push:
# tags:
# - '[v]?[0-9]+.[0-9]+.[0-9]+'

# jobs:

# publish:
# name: Publishing for ${{ matrix.job.os }}
# runs-on: ${{ matrix.job.os }}
# strategy:
# matrix:
# rust: [stable]
# job:
# - os: macos-latest
# os-name: macos
# target: x86_64-apple-darwin
# architecture: x86_64
# binary-postfix: ""
# use-cross: false
# - os: macos-latest
# os-name: macos
# target: aarch64-apple-darwin
# architecture: arm64
# binary-postfix: ""
# use-cross: false
# - os: ubuntu-latest
# os-name: linux
# target: x86_64-unknown-linux-gnu
# architecture: x86_64
# binary-postfix: ""
# use-cross: false
# - os: windows-latest
# os-name: windows
# target: x86_64-pc-windows-msvc
# architecture: x86_64
# binary-postfix: ".exe"
# use-cross: false
# - os: ubuntu-latest
# os-name: linux
# target: aarch64-unknown-linux-gnu
# architecture: arm64
# binary-postfix: ""
# use-cross: true
# - os: ubuntu-latest
# os-name: linux
# target: i686-unknown-linux-gnu
# architecture: i686
# binary-postfix: ""
# use-cross: true

# steps:
# - name: Checkout repository
# uses: actions/checkout@v4
# - name: Install Rust toolchain
# uses: actions-rs/toolchain@v1
# with:
# toolchain: ${{ matrix.rust }}
# target: ${{ matrix.job.target }}
# profile: minimal
# override: true
# - uses: Swatinem/rust-cache@v2
# - name: Cargo build
# uses: actions-rs/cargo@v1
# with:
# command: build
# use-cross: ${{ matrix.job.use-cross }}
# toolchain: ${{ matrix.rust }}
# args: --release --target ${{ matrix.job.target }}

# - name: install strip command
# shell: bash
# run: |
# if [[ ${{ matrix.job.target }} == aarch64-unknown-linux-gnu ]]; then
# sudo apt update
# sudo apt-get install -y binutils-aarch64-linux-gnu
# fi
# - name: Packaging final binary
# shell: bash
# run: |
# cd target/${{ matrix.job.target }}/release

# ####### reduce binary size by removing debug symbols #######
# BINARY_NAME=unitycatalog-rs${{ matrix.job.binary-postfix }}
# if [[ ${{ matrix.job.target }} == aarch64-unknown-linux-gnu ]]; then
# GCC_PREFIX="aarch64-linux-gnu-"
# else
# GCC_PREFIX=""
# fi
# "$GCC_PREFIX"strip $BINARY_NAME

# ########## create tar.gz ##########
# RELEASE_NAME=unitycatalog-rs-${GITHUB_REF/refs\/tags\//}-${{ matrix.job.os-name }}-${{ matrix.job.architecture }}
# tar czvf $RELEASE_NAME.tar.gz $BINARY_NAME

# ########## create sha256 ##########
# if [[ ${{ runner.os }} == 'Windows' ]]; then
# certutil -hashfile $RELEASE_NAME.tar.gz sha256 | grep -E [A-Fa-f0-9]{64} > $RELEASE_NAME.sha256
# else
# shasum -a 256 $RELEASE_NAME.tar.gz > $RELEASE_NAME.sha256
# fi
# - name: Releasing assets
# uses: softprops/action-gh-release@v1
# with:
# files: |
# target/${{ matrix.job.target }}/release/unitycatalog-rs-*.tar.gz
# target/${{ matrix.job.target }}/release/unitycatalog-rs-*.sha256
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

# publish-cargo:
# name: Publishing to Cargo
# runs-on: ubuntu-latest
# steps:
# - name: Checkout repository
# uses: actions/checkout@v4
# - name: Install Rust toolchain
# uses: dtolnay/rust-toolchain@stable
# - uses: Swatinem/rust-cache@v2
# - run: cargo publish
# env:
# CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
64 changes: 64 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
name: CI # Continuous Integration

on:
push:
branches:
- main
pull_request:

jobs:

test:
name: Test Suite
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- name: Run tests
run: cargo test --all-features --workspace

rustfmt:
name: Rustfmt
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt
- uses: Swatinem/rust-cache@v2
- name: Check formatting
run: cargo fmt --all --check

clippy:
name: Clippy
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
with:
components: clippy
- uses: Swatinem/rust-cache@v2
- name: Clippy check
run: cargo clippy --all-targets --all-features --workspace -- -D warnings

docs:
name: Docs
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- name: Check documentation
env:
RUSTDOCFLAGS: -D warnings
run: cargo doc --no-deps --document-private-items --all-features --workspace --examples

16 changes: 16 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
.cargo-ok
.DS_Store
# Generated by Cargo
# will have compiled files and executables
debug/
target/

# Remove Cargo.lock from gitignore if creating an executable, leave it for libraries
# More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html
Cargo.lock

# These are backup files generated by rustfmt
**/*.rs.bk

# MSVC Windows builds of rustc generate these, which store debugging information
*.pdb
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Changelog
All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]
3 changes: 3 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Code of Conduct

This project adheres to the Rust Code of Conduct, which can be found [here](https://www.rust-lang.org/conduct.html).
Loading

0 comments on commit 80dc63c

Please sign in to comment.