fix(deps): update all dependencies #10
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: Push to master | |
on: | |
push: | |
branches: | |
- master | |
jobs: | |
test: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Install rust toolchain | |
uses: actions-rust-lang/setup-rust-toolchain@v1 | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Cache cargo home | |
uses: actions/cache@v4 | |
with: | |
path: ~/.cargo | |
key: ${{ runner.OS }}-cargo-${{ hashFiles('Cargo.lock') }} | |
restore-keys: ${{ runner.OS }}-cargo- | |
- name: Cache target directory | |
uses: actions/cache@v4 | |
with: | |
path: target | |
key: ${{ runner.OS }}-target-${{ github.ref }}-${{ github.sha }} | |
restore-keys: | | |
${{ runner.OS }}-target-${{ github.ref }}- | |
${{ runner.OS }}-target-master- | |
${{ runner.OS }}-target- | |
- name: Cargo test | |
run: cargo test --verbose | |
build: | |
needs: | |
- test | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest, macos-latest] | |
include: | |
- os: windows-latest | |
bin_path: target\\release\\totp.exe | |
- os: macos-latest | |
bin_path: target/release/totp | |
- os: ubuntu-latest | |
bin_path: target/release/totp | |
steps: | |
- name: Install rust toolchain | |
uses: actions-rust-lang/setup-rust-toolchain@v1 | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Cache cargo home | |
uses: actions/cache@v4 | |
with: | |
path: ~/.cargo | |
key: ${{ runner.OS }}-cargo-${{ hashFiles('Cargo.lock') }} | |
restore-keys: ${{ runner.OS }}-cargo- | |
- name: Cache target directory | |
uses: actions/cache@v4 | |
with: | |
path: target | |
key: ${{ runner.OS }}-target-${{ github.ref }}-${{ github.sha }} | |
restore-keys: | | |
${{ runner.OS }}-target-${{ github.ref }}- | |
${{ runner.OS }}-target-master- | |
${{ runner.OS }}-target- | |
- name: Cargo build release | |
run: cargo build --verbose --release | |
- name: Upload artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ matrix.os }} | |
path: ${{ matrix.bin_path }} | |
if-no-files-found: error | |
# The artifact is only needed for the current workflow run | |
retention-days: 1 | |
release: | |
concurrency: | |
group: release | |
needs: | |
- build | |
runs-on: ubuntu-latest | |
permissions: | |
contents: write | |
packages: write | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
persist-credentials: false | |
- name: Import GPG key | |
uses: crazy-max/ghaction-import-gpg@v6 | |
with: | |
gpg_private_key: ${{ secrets.ZEBRADIL_BOT_GPG_PRIVATE_KEY }} | |
git_user_signingkey: true | |
git_commit_gpgsign: true | |
- name: Download all artifacts | |
uses: actions/download-artifact@v4 | |
with: | |
path: artifacts | |
- name: List artifacts | |
run: find artifacts | |
- name: Semantic Release | |
id: semantic | |
uses: cycjimmy/semantic-release-action@v3 | |
env: | |
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }} | |
GITHUB_TOKEN: ${{ secrets.ZEBRADIL_BOT_GITHUB_TOKEN }} | |
GIT_AUTHOR_NAME: Zebradli Bot | |
GIT_AUTHOR_EMAIL: german.lashevich+github-zebradil-bot@gmail.com | |
GIT_COMMITTER_NAME: Zebradli Bot | |
GIT_COMMITTER_EMAIL: german.lashevich+github-zebradil-bot@gmail.com | |
with: | |
extra_plugins: | | |
@semantic-release/git | |
@semantic-release-cargo/semantic-release-cargo |