Custom config location #58
This file contains hidden or 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
name: CICD | |
# spell-checker:ignore (acronyms) CICD MSRV MSVC musl | |
# spell-checker:ignore (env/flags) Awarnings Ccodegen Coverflow Cpanic RUSTDOCFLAGS RUSTFLAGS Zpanic | |
# spell-checker:ignore (jargon) SHAs deps softprops toolchain | |
# spell-checker:ignore (names) CodeCOV MacOS MinGW mufeedvh rivy | |
# spell-checker:ignore (shell/tools) choco clippy dmake dpkg esac fakeroot gmake grcov halium lcov libssl mkdir popd printf pushd rustc rustfmt rustup shopt xargs | |
# spell-checker:ignore (misc) aarch alnum armhf binserve blazingly coreutils gnueabihf issuecomment maint nullglob onexitbegin onexitend tempfile uutils | |
env: | |
PROJECT_NAME: binserve | |
PROJECT_DESC: "A fast static web server with TLS (HTTPS), Routing, Hot Reloading, Caching, Templating, and Security in a single-binary you can set up with zero code." | |
PROJECT_AUTH: "mufeedvh" | |
RUST_COV_SRV: "2020-08-01" ## (~v1.47.0) supported rust version for code coverage; (date required/used by 'coverage') | |
on: | |
push: | |
paths: | |
- "**.rs" | |
- "./Cargo.toml" | |
- "./Cargo.lock" | |
- "./.github/workflows/*.yml" | |
pull_request: | |
paths: | |
- "**.rs" | |
- "./Cargo.toml" | |
- "./Cargo.lock" | |
- "./.github/workflows/*.yml" | |
workflow_dispatch: | |
jobs: | |
build: | |
name: Build | |
runs-on: ${{ matrix.job.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
job: | |
- { os: ubuntu-latest, target: aarch64-unknown-linux-gnu } | |
- { os: ubuntu-latest, target: x86_64-unknown-linux-gnu } | |
- { os: ubuntu-latest, target: x86_64-unknown-linux-musl } | |
- { os: macos-latest, target: x86_64-apple-darwin } | |
- { os: windows-latest, target: x86_64-pc-windows-gnu } ## note: requires rust >= 1.43.0 to link correctly | |
- { os: windows-latest, target: x86_64-pc-windows-msvc } | |
steps: | |
- uses: actions/checkout@v4 | |
- name: install cmake with ubuntu | |
run: sudo apt-get install -y cmake | |
if: ${{ contains(matrix.job.os, 'ubuntu') }} | |
- name: install bindgen | |
run: cargo install --force --locked bindgen-cli | |
- name: Test | |
uses: houseabsolute/actions-rust-cross@v1 | |
id: test | |
with: | |
command: test | |
target: ${{ matrix.job.target }} | |
- name: Build binary | |
uses: houseabsolute/actions-rust-cross@v1 | |
with: | |
command: build | |
target: ${{ matrix.job.target }} | |
args: "--release" | |
- name: Publish artifacts and release | |
uses: houseabsolute/actions-rust-release@v0 | |
id: Publish-artifacts-and-release | |
with: | |
executable-name: ${{ env.PROJECT_NAME }} | |
target: ${{ matrix.job.target }} | |
changes-file: "" | |
extra-files: | | |
LICENSE | |
README.md |