name: Release - amd64
on:
push:
tags:
- "v*"
jobs:
cargo_check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Build
run: cargo build --verbose
- name: Run tests
run: make test-all
- name: Check fmt
run: cargo fmt -- --check
clippy_check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- run: rustup component add clippy
- uses: actions-rs/clippy-check@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
args: --all-features
package:
needs: [cargo_check, clippy_check]
runs-on: ubuntu-20.04
env:
REF: ${{ github.ref }}
PACKAGECLOUD_TOKEN: ${{ secrets.PACKAGECLOUD_API_TOKEN }}
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Compile wash
run: cargo build --release
- name: Install NFPM
run: |
echo 'deb [trusted=yes] https://repo.goreleaser.com/apt/ /' | sudo tee /etc/apt/sources.list.d/goreleaser.list
sudo apt update
sudo apt install nfpm
- name: Package amd64 (Debian)
run: |
export VERSION=$(echo $REF | cut -d/ -f3)
nfpm pkg --packager deb -f build/nfpm.amd64.yaml
nfpm pkg --packager rpm -f build/nfpm.amd64.yaml
- name: Push amd64 (deb)
run: |
debs=(35 150 155 156 190 203 206 207 210 215 219)
for distro_version in "${debs[@]}"; do
curl -F "package[distro_version_id]=${distro_version}" -F "package[package_file]=@$(ls wash_*_amd64.deb)" https://$PACKAGECLOUD_TOKEN:@packagecloud.io/api/v1/repos/wasmcloud/core/packages.json;
done
- name: Push x86_64 (rpm)
run: |
rpms=(140 141 146 194 204 205 209 216)
for distro_version in "${rpms[@]}"; do
curl -F "package[distro_version_id]=${distro_version}" -F "package[package_file]=@$(ls wash-*.x86_64.rpm)" https://$PACKAGECLOUD_TOKEN:@packagecloud.io/api/v1/repos/wasmcloud/core/packages.json;
done