Nightly Release #404
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: Nightly Release | |
on: | |
workflow_dispatch: | |
schedule: # Every day at the 2 P.M. (UTC) we run a scheduled nightly build | |
- cron: "0 14 * * *" | |
env: | |
CARGO_TERM_COLOR: always | |
jobs: | |
build: | |
name: build (${{ matrix.config.arch }}) | |
strategy: | |
matrix: | |
config: | |
- os: windows-latest | |
arch: win-x64 | |
- os: ubuntu-latest | |
arch: linux-x64 | |
- os: macos-latest | |
arch: macos-x64 | |
runs-on: ${{ matrix.config.os }} | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install Rust | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: nightly | |
components: rustfmt, clippy | |
override: true | |
- name: Install libudev for Linux (optional) | |
if: runner.os == 'Linux' | |
run: sudo apt-get install libudev-dev | |
- name: Build | |
run: cargo build --release | |
- name: Run help | |
run: cargo run --release -- --help | |
- name: Compress binary | |
run: | | |
mkdir -p release | |
cp target/release/wlink release/ || true | |
cp target/release/wlink.exe release/ || true | |
cp README.md release/ | |
(cd release/ && tar -czvf ../wlink-${{ matrix.config.arch }}.tar.gz *) | |
shell: bash | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: wlink-binaries | |
path: wlink-${{ matrix.config.arch }}.tar.gz | |
build-win-x86: | |
name: build (windows-x86) | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install Rust | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: nightly | |
target: i686-pc-windows-msvc | |
components: rustfmt, clippy | |
override: true | |
- name: Build | |
run: cargo build --release --target i686-pc-windows-msvc | |
- name: Compress binary | |
run: | | |
mkdir -p release | |
cp target/i686-pc-windows-msvc/release/wlink.exe release/ | |
cp README.md release/ | |
(cd release/ && tar -czvf ../wlink-win-x86.tar.gz *) | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: wlink-binaries | |
path: wlink-win-x86.tar.gz | |
build-macos-arm64: | |
name: build (macos-arm64) | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install Rust | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: nightly | |
target: aarch64-apple-darwin | |
components: rustfmt, clippy | |
override: true | |
- name: Build | |
run: cargo build --release --target aarch64-apple-darwin | |
- name: Compress binary | |
run: | | |
mkdir -p release | |
cp target/aarch64-apple-darwin/release/wlink release/ | |
cp README.md release/ | |
(cd release/ && tar -czvf ../wlink-macos-arm64.tar.gz *) | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: wlink-binaries | |
path: wlink-macos-arm64.tar.gz | |
release: | |
needs: [build, build-macos-arm64, build-win-x86] | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Download Artifacts | |
uses: actions/download-artifact@v3 | |
with: | |
name: wlink-binaries | |
path: ./ | |
- name: List files | |
run: ls -R ./ | |
shell: bash | |
- name: Update Nightly Release | |
uses: andelf/nightly-release@main | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
tag_name: nightly | |
name: "wlink Nightly Release $$" | |
draft: false | |
prerelease: false | |
body: | | |
This is a nightly binary release of the wlink command line tool. | |
For Windows users, please use the x86 version since it has the Windows driver support. | |
files: | | |
wlink-*.tar.gz |