mirror of https://github.com/k0kubun/xremap
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
101 lines
2.6 KiB
YAML
101 lines
2.6 KiB
YAML
name: cargo
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
tags:
|
|
- v*
|
|
pull_request:
|
|
types:
|
|
- opened
|
|
- synchronize
|
|
- reopened
|
|
schedule:
|
|
- cron: '00 15 * * *' # 7:00 PST (-8), 8:00 PDT (-7)
|
|
env:
|
|
CARGO_TERM_COLOR: always
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
options:
|
|
- ''
|
|
- --features x11
|
|
- --features gnome
|
|
- --features sway
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: actions-rs/toolchain@v1
|
|
with:
|
|
profile: minimal
|
|
toolchain: stable
|
|
override: true
|
|
- uses: Swatinem/rust-cache@v1
|
|
- name: cargo build
|
|
run: cargo build --release ${{ matrix.options }}
|
|
|
|
fmt:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: actions-rs/toolchain@v1
|
|
with:
|
|
profile: minimal
|
|
toolchain: stable
|
|
override: true
|
|
- name: cargo fmt
|
|
run: cargo fmt -- --check
|
|
|
|
test:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: actions-rs/toolchain@v1
|
|
with:
|
|
profile: minimal
|
|
toolchain: stable
|
|
override: true
|
|
- name: cargo fmt
|
|
run: cargo fmt -- --check
|
|
|
|
publish:
|
|
runs-on: ubuntu-latest
|
|
needs:
|
|
- build
|
|
- test
|
|
if: ${{ startsWith(github.ref, 'refs/tags/') }}
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: actions-rs/toolchain@v1
|
|
with:
|
|
profile: minimal
|
|
toolchain: stable
|
|
override: true
|
|
- uses: Swatinem/rust-cache@v1
|
|
- name: cargo login
|
|
run: cargo login "$CARGO_TOKEN"
|
|
env:
|
|
CARGO_TOKEN: ${{ secrets.CARGO_TOKEN }}
|
|
- run: cargo publish
|
|
- name: Package
|
|
run: |
|
|
for feature in x11 gnome sway others; do
|
|
if [[ "$feature" = "others" ]]; then
|
|
cargo build --release
|
|
else
|
|
cargo build --release --features "$feature"
|
|
fi
|
|
(cd target/release && zip "xremap-linux-x86_64-${feature}.zip" xremap && rm xremap)
|
|
done
|
|
mkdir package && mv target/release/xremap-*.zip package/
|
|
- name: Release
|
|
run: |
|
|
export VERSION=$(echo "$GITHUB_REF" | sed -e 's!refs/tags/!!')
|
|
curl -L "https://github.com/tcnksm/ghr/releases/download/${GHR_VERSION}/ghr_${GHR_VERSION}_linux_amd64.tar.gz" | tar xvz
|
|
"ghr_${GHR_VERSION}_linux_amd64/ghr" -u k0kubun -r xremap -replace -n "$VERSION" "$VERSION" package/
|
|
env:
|
|
GHR_VERSION: v0.14.0
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|