ssh-vault 1.3.4

encrypt/decrypt using ssh keys
Documentation
---
name: PackageCloud

on:
  workflow_dispatch:
  workflow_call:
    secrets:
      PACKAGECLOUD_TOKEN:
        required: true

permissions:
  contents: read

jobs:
  build:
    runs-on: ubuntu-latest
    env:
      PACKAGECLOUD_TOKEN: ${{ secrets.PACKAGECLOUD_TOKEN }}

    steps:
      - name: Checkout
        uses: actions/checkout@v7

      - name: Install Rust
        uses: dtolnay/rust-toolchain@stable

      - name: Install packaging tools
        run: cargo install --locked cargo-deb cargo-generate-rpm

      - name: Build release binary
        run: cargo build --release --locked

      - name: Build deb
        run: cargo deb --no-build

      - name: Build rpm
        run: cargo generate-rpm

      - name: Create dist dir
        run: mkdir dist

      - name: Collect packages
        run: cp target/debian/*.deb target/generate-rpm/*.rpm dist/

      - name: Setup Ruby
        uses: ruby/setup-ruby@v1
        with:
          ruby-version: 3
          bundler-cache: true

      - name: Install PackageCloud
        run: gem install --quiet --no-document package_cloud

      - name: run ls
        run: ls -al dist

      - name: push Debian
        run: |-
          push_package() {
            package_cloud push "$1" dist/*.deb --skip-errors || echo "::warning::PackageCloud push failed for $1"
          }
          for distro in squeeze wheezy jessie stretch buster bullseye bookworm trixie; do
            push_package nbari/ssh-vault/debian/$distro
          done

      - name: push Ubuntu
        run: |-
          push_package() {
            package_cloud push "$1" dist/*.deb --skip-errors || echo "::warning::PackageCloud push failed for $1"
          }
          for distro in bionic focal jammy noble questing resolute; do
            push_package nbari/ssh-vault/ubuntu/$distro
          done

      - name: push Raspbian
        run: |-
          push_package() {
            package_cloud push "$1" dist/*.deb --skip-errors || echo "::warning::PackageCloud push failed for $1"
          }
          for distro in stretch buster bullseye bookworm trixie; do
            push_package nbari/ssh-vault/raspbian/$distro
          done

      - name: push Elementaryos
        run: |-
          push_package() {
            package_cloud push "$1" dist/*.deb --skip-errors || echo "::warning::PackageCloud push failed for $1"
          }
          for distro in odin jolnir horus circe; do
            push_package nbari/ssh-vault/elementaryos/$distro
          done

      - name: push Linuxmint
        run: |-
          push_package() {
            package_cloud push "$1" dist/*.deb --skip-errors || echo "::warning::PackageCloud push failed for $1"
          }
          for distro in vanessa vera victoria virginia wilma xia; do
            push_package nbari/ssh-vault/linuxmint/$distro
          done

      - name: push Enterprise Linux
        run: |-
          push_package() {
            package_cloud push "$1" dist/*.rpm --skip-errors || echo "::warning::PackageCloud push failed for $1"
          }
          for distro in 7 8 9 10; do
            push_package nbari/ssh-vault/el/$distro
          done

      - name: push Fedora
        run: |-
          push_package() {
            package_cloud push "$1" dist/*.rpm --skip-errors || echo "::warning::PackageCloud push failed for $1"
          }
          for distro in 38 39 40 41 42 43 44; do
            push_package nbari/ssh-vault/fedora/$distro
          done

      - name: push Opensuse
        run: |-
          push_package() {
            package_cloud push "$1" dist/*.rpm --skip-errors || echo "::warning::PackageCloud push failed for $1"
          }
          for distro in 15.4 15.5 15.6 16.0; do
            push_package nbari/ssh-vault/opensuse/$distro
          done

      - name: push Poky
        run: |-
          push_package() {
            package_cloud push "$1" dist/*.rpm --skip-errors || echo "::warning::PackageCloud push failed for $1"
          }
          for distro in mickledore nanbield scarthgap styhead walnascar whinlatter wrynose; do
            push_package nbari/ssh-vault/poky/$distro
          done