feat: add powershell completions #29
This file contains 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": "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" | |
} | |
} | |
] | |
} | |
} | |
} |