Skip to content

feat: add powershell completions #29

feat: add powershell completions

feat: add powershell completions #29

Workflow file for this run

{
"name": "All",
"on": {
"push": {
"paths-ignore": [
"**.md",
"LICENSE"
]
},
"pull_request": {
"paths-ignore": [
"**.md",
"LICENSE"
]
}
},
"jobs": {
"test": {
"strategy": {
"matrix": {
"include": [
{
"os": "ubuntu-latest",
"target": "x86_64-unknown-linux-gnu"
},
{
"os": "macOS-11",
"target": "x86_64-apple-darwin"
},
{
"os": "windows-latest",
"target": "x86_64-pc-windows-msvc"
}
]
}
},
"runs-on": "${{ matrix.os }}",
"steps": [
{
"name": "Setup | Checkout",
"uses": "actions/checkout@v3"
},
{
"name": "Check | Tests",
"run": "cargo test --target ${{ matrix.target }}"
}
]
},
"build": {
"name": "Build Release Binaries",
"needs": "test",
"if": "github.event_name == 'push' && startsWith(github.ref, 'refs/tags/')",
"continue-on-error": true,
"strategy": {
"fail-fast": false,
"matrix": {
"include": [
{
"name": "wh-i686-pc-windows-msvc.zip",
"target": "i686-pc-windows-msvc",
"os": "windows-latest",
"native": true
},
{
"name": "wh-x86_64-pc-windows-msvc.zip",
"target": "x86_64-pc-windows-msvc",
"os": "windows-latest",
"native": true
},
{
"name": "wh-aarch64-pc-windows-msvc.zip",
"target": "aarch64-pc-windows-msvc",
"os": "windows-latest",
"native": true
},
{
"name": "wh-x86_64-unknown-linux-musl.tar.xz",
"target": "x86_64-unknown-linux-musl",
"os": "ubuntu-latest",
"native": true
},
{
"name": "wh-i686-unknown-linux-musl.tar.xz",
"target": "i686-unknown-linux-musl",
"os": "ubuntu-latest",
"native": false
},
{
"name": "wh-aarch64-unknown-linux-musl.tar.xz",
"target": "aarch64-unknown-linux-musl",
"os": "ubuntu-latest",
"native": false
},
{
"name": "wh-armv7-unknown-linux-musleabihf.tar.xz",
"target": "armv7-unknown-linux-musleabihf",
"os": "ubuntu-latest",
"native": false
},
{
"name": "wh-arm-unknown-linux-musleabihf.tar.xz",
"target": "arm-unknown-linux-musleabihf",
"os": "ubuntu-latest",
"native": false
},
{
"name": "wh-powerpc-unknown-linux-gnu.tar.xz",
"target": "powerpc-unknown-linux-gnu",
"os": "ubuntu-latest",
"native": false
},
{
"name": "wh-powerpc64-unknown-linux-gnu.tar.xz",
"target": "powerpc64-unknown-linux-gnu",
"os": "ubuntu-latest",
"native": false
},
{
"name": "wh-powerpc64le-unknown-linux-gnu.tar.xz",
"target": "powerpc64le-unknown-linux-gnu",
"os": "ubuntu-latest",
"native": false
},
{
"name": "wh-x86_64-apple-darwin.tar.xz",
"target": "x86_64-apple-darwin",
"os": "macos-latest",
"native": true
},
{
"name": "wh-x86_64-unknown-freebsd.tar.xz",
"target": "x86_64-unknown-freebsd",
"os": "ubuntu-latest",
"native": false
},
{
"name": "wh-x86_64-unknown-netbsd.tar.xz",
"target": "x86_64-unknown-netbsd",
"os": "ubuntu-latest",
"native": false
}
]
}
},
"runs-on": "${{ matrix.os }}",
"steps": [
{
"name": "Setup | Checkout",
"uses": "actions/checkout@v3"
},
{
"name": "Setup | Cache Cargo",
"uses": "actions/cache@v3",
"with": {
"path": "~/.cargo/registry\n~/.cargo/git\n",
"key": "${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}"
}
},
{
"name": "Setup | rustup native",
"if": "matrix.native",
"run": "rustup target add ${{ matrix.target }}"
},
{
"name": "Setup | rustup and cross",
"if": "!matrix.native",
"run": "cargo install cross"
},
{
"name": "Build | Native",
"if": "matrix.native",
"run": "cargo rustc --release --target ${{ matrix.target }} -- -Clto"
},
{
"name": "Build | Cross",
"if": "!matrix.native",
"run": "cross rustc --release --target ${{ matrix.target }} -- -Clto"
},
{
"name": "PostBuild | Prepare",
"if": "matrix.os != 'windows-latest'",
"run": "cd target/${{ matrix.target }}/release\nstrip wh || true\ntar cJf ../../../${{ matrix.name }} wh\ncd -"
},
{
"name": "PostBuild | Prepare",
"if": "matrix.os == 'windows-latest'",
"run": "cd target/${{ matrix.target }}/release\n7z a ../../../${{ matrix.name }} wh.exe\ncd -"
},
{
"name": "Deploy | Upload Artifacts",
"uses": "actions/upload-artifact@v3",
"with": {
"name": "${{ matrix.name }}",
"path": "${{ matrix.name }}"
}
}
]
},
"release": {
"name": "Create GitHub Release",
"needs": "build",
"if": "github.event_name == 'push' && startsWith(github.ref, 'refs/tags/')",
"runs-on": "ubuntu-latest",
"steps": [
{
"name": "Setup | Checkout",
"uses": "actions/checkout@v3",
"with": {
"fetch-depth": 0
}
},
{
"name": "Setup | go",
"uses": "actions/setup-go@v4",
"with": {
"go-version": "^1.15.7"
}
},
{
"name": "Setup | Artifacts",
"uses": "actions/download-artifact@v3"
},
{
"name": "Setup | Release notes",
"run": "GO111MODULE=on go install github.com/git-chglog/git-chglog/cmd/[email protected]\ngit-chglog -c .github/chglog/release.yml \"$(git describe --tags)\" > RELEASE.md"
},
{
"name": "Deploy | Publish",
"uses": "softprops/action-gh-release@v1",
"with": {
"files": "wh-*/wh-*",
"body_path": "RELEASE.md"
}
}
]
}
}
}