Skip to content

Commit

Permalink
fix build
Browse files Browse the repository at this point in the history
  • Loading branch information
ciiqr committed Oct 30, 2024
1 parent 4b721f3 commit b4a2a81
Show file tree
Hide file tree
Showing 7 changed files with 751 additions and 10 deletions.
28 changes: 19 additions & 9 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -1,24 +1,27 @@
name: release
on:
push:
branches:
- main
# TODO: debug
# branches:
# - main
jobs:
build:
name: Build
strategy:
matrix:
build:
- target: x86_64-apple-darwin
os: macos-latest
# TODO: debug
# - target: x86_64-apple-darwin
# os: macos-latest
- target: aarch64-apple-darwin
os: macos-latest
- target: x86_64-unknown-linux-musl
os: ubuntu-latest
- target: x86_64-pc-windows-msvc
os: windows-latest
- target: aarch64-pc-windows-msvc
os: windows-latest
# TODO: debug
# - target: x86_64-pc-windows-msvc
# os: windows-latest
# - target: aarch64-pc-windows-msvc
# os: windows-latest
runs-on: ${{ matrix.build.os }}
steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -47,6 +50,9 @@ jobs:
echo "$output"
echo 'EOF'
} >> "$GITHUB_ENV"
# TODO: debug
- run: |
echo "$ARTIFACT_PATHS"
- name: Upload binary
uses: actions/upload-artifact@v4
with:
Expand Down Expand Up @@ -83,6 +89,9 @@ jobs:
path: artifacts
- name: Move executables
run: |
# TODO: debug
tree artifacts
for file in artifacts/*/*; do
exe="$(basename "$file")"
plugin="${exe%\.exe}"
Expand All @@ -107,7 +116,8 @@ jobs:
GITHUB_USER: ${{ github.repository_owner }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
gh release create \
# TODO: debug
echo gh release create \
--title "$TAG" \
--notes '' \
"$TAG" \
Expand Down
17 changes: 17 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
[workspace]
resolver = "2"
members = ["files"]
members = ["files", "meepis"]
24 changes: 24 additions & 0 deletions meepis/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
[package]
name = "meepis"
version = "0.1.0"
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[target.'cfg(windows)'.dependencies]
windows = { version = "0.51.1", features = [
"Win32_Foundation",
"Win32_Storage_FileSystem",
] }

[dependencies]
anyhow = "1.0.75"
camino = { version = "1.1.6", features = ["serde1"] }
clap = { version = "4.4.6", features = ["derive"] }
dirs = "5.0.1"
faccess = "0.2.4"
file-id = "0.2.1"
serde = { version = "1.0.189", features = ["derive"] }
serde_json = "1.0.107"
shellexpand = "3.1.0"
walkdir = "2.4.0"
51 changes: 51 additions & 0 deletions meepis/plugin.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: meepis

provision:
when: declaration in ["meepis", "directories"]

schema:
$schema: https://json-schema.org/draft/2020-12/schema
# TODO: fix this, schemas need to be associated with their relevant declarations...
anyOf:
- type: string
- type: object
properties:
source:
type: string
destination:
type: string
link_files:
type: boolean
required:
- source
- destination

---
when:
- os == "macos"
- arch == "x86_64"
executable: assets/x86_64-apple-darwin/meepis

---
when:
- os == "macos"
- arch == "aarch64"
executable: assets/aarch64-apple-darwin/meepis

---
when:
- os == "linux"
- arch == "x86_64"
executable: assets/x86_64-unknown-linux-musl/meepis

---
when:
- family == "windows"
- arch == "x86_64"
executable: assets/x86_64-pc-windows-msvc/meepis.exe

---
when:
- family == "windows"
- arch == "aarch64"
executable: assets/aarch64-pc-windows-msvc/meepis.exe
35 changes: 35 additions & 0 deletions meepis/src/args.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
use anyhow::Error;
use camino::Utf8PathBuf;
use clap::{arg, Args, Parser, Subcommand};
use serde::Deserialize;

#[derive(Debug, Parser)]
#[command(about, version)]
pub struct Arguments {
#[command(subcommand)]
pub command: Commands,
}

#[derive(Debug, Subcommand)]
pub enum Commands {
Provision(Provision),
}

#[derive(Debug, Args)]
pub struct Provision {
/// Provision info as json
#[arg(value_name = "info", value_parser = ProvisionInfo::value_parser)]
pub info: ProvisionInfo,
}

#[derive(Debug, Deserialize, Clone)]
pub struct ProvisionInfo {
pub sources: Vec<Utf8PathBuf>,
// pub vars: serde_json::Map<String, serde_json::Value>,
}

impl ProvisionInfo {
fn value_parser(value: &str) -> Result<Self, Error> {
Ok(serde_json::from_str(value)?)
}
}
Loading

0 comments on commit b4a2a81

Please sign in to comment.