Skip to content
This repository has been archived by the owner on Mar 15, 2024. It is now read-only.

Commit

Permalink
feat: add github actions
Browse files Browse the repository at this point in the history
  • Loading branch information
RatCornu committed Sep 28, 2023
1 parent 1b8600d commit 4d82f8e
Show file tree
Hide file tree
Showing 5 changed files with 135 additions and 0 deletions.
25 changes: 25 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: Build

on: [push, pull_request, workflow_dispatch]

concurrency:
group: ${{ github.base_ref }}-build
cancel-in-progress: true

jobs:

default:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- name: Deny check
uses: EmbarkStudios/cargo-deny-action@v1
- name: Format check
run: cargo fmt --check
- name: Lint check
run: cargo clippy --all-targets --all-features --no-deps
- name: Build
run: cargo build
- name: Tests
run: cargo test
46 changes: 46 additions & 0 deletions .github/workflows/doc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: Documentation

on:
push:
branches: [ master ]
workflow_dispatch:

concurrency:
group: "pages"
cancel-in-progress: true

jobs:

tests:
name: tests

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- name: Generate documentation
run: cargo doc --no-deps
- name: Create index file
run: echo "<meta http-equiv=\"refresh\" content=\"0; url=efs\">" > target/doc/index.html
- name: Upload page artifact
uses: actions/upload-pages-artifact@v1
with:
path: "target/doc/"

deploy:
name: deploy
needs: tests

permissions:
pages: write
id-token: write

environment:
name: github-pages
url: ${{ steps.deployment.output.page_url }}

runs-on: ubuntu-latest
steps:
- name: Deploy documentation to GitHub Pages
id: deployment
uses: actions/deploy-pages@v1
37 changes: 37 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: Release

on:
release:
types: [created]
push:


jobs:
release:
name: release ${{ matrix.target }} (with non-required env)
runs-on: ubuntu-latest
if: github.event_name == 'release'

strategy:
fail-fast: false
matrix:
include:
- target: x86_64-pc-windows-gnu
archive: zip
- target: x86_64-unknown-linux-musl
archive: tar.gz
- target: x86_64-apple-darwin
archive: zip
- target: wasm32-wasi
archive: zip tar.gz

steps:
- uses: actions/checkout@master
- name: Compile and release
uses: rust-build/rust-build.action@master
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
RUSTTARGET: ${{ matrix.target }}
EXTRA_FILES: README.md LICENSE-APACHE LICENSE-MIT
ARCHIVE_TYPES: ${{ matrix.archive }}
9 changes: 9 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
[![Build][build-badge]][build-link]
[![Documentation][documentation-badge]][documentation-link]

[build-badge]: https://github.com/RatCornu/efs/workflows/Build/badge.svg
[documentation-badge]: https://github.com/RatCornu/efs/workflows/Documentation/badge.svg

[build-link]: https://github.com/RatCornu/efs/actions?query=workflow:"Build"
[documentation-link]: https://github.com/RatCornu/efs/actions?query=workflow:"Documentation"

# Extended filesystem

An OS and architecture independent implementation of some filesystems in Rust.
18 changes: 18 additions & 0 deletions deny.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
all-features = true

[advisories]
notice = "deny"
unmaintained = "deny"
unsound = "deny"
vulnerability = "deny"
yanked = "deny"

[licenses]
allow-osi-fsf-free = "both"
confidence-threshold = 1
copyleft = "allow"
default = "deny"
unlicensed = "deny"

[sources]
unknown-registry = "deny"

0 comments on commit 4d82f8e

Please sign in to comment.