innernet/.github/workflows/release-artifacts.yml

108 lines
2.8 KiB
YAML
Raw Normal View History

2021-03-29 17:22:14 +00:00
name: "Upload Release Artifacts"
on:
push:
tags:
- 'v*'
jobs:
2021-05-09 10:57:37 +00:00
build-deb:
name: 'Build Debian packages'
2021-03-29 17:22:14 +00:00
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Creating environment variables
run: echo "release_version=${git_ref#v}" >> $GITHUB_ENV
env:
git_ref: ${{ github.ref }}
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- name: Install Dependencies
env:
ACCEPT_EULA: Y
run: sudo apt-get -y update && sudo apt-get install -f && sudo apt-get -y install libsqlite3-dev libclang-9-dev
- name: Cache cargo registry
uses: actions/cache@v2
with:
path: ~/.cargo/registry
key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }}
- name: Cache cargo index
uses: actions/cache@v2
with:
path: ~/.cargo/git
key: ${{ runner.os }}-cargo-index-${{ hashFiles('**/Cargo.lock') }}
- name: Cache cargo build
uses: actions/cache@v2
with:
path: target
key: ${{ runner.os }}-cargo-build-target-${{ hashFiles('**/Cargo.lock') }}
- name: Cache cargo bin
uses: actions/cache@v2
with:
path: ~/.cargo/bin
key: ${{ runner.os }}-cargo-bin-${{ hashFiles('**/Cargo.lock') }}
- name: Build
uses: actions-rs/cargo@v1
with:
command: build
args: --verbose
- name: Test
uses: actions-rs/cargo@v1
with:
command: test
args: --verbose
- name: Install cargo-deb (if missing)
run: |
which cargo-deb || cargo install cargo-deb
- name: Build Debian Server Package
uses: actions-rs/cargo@v1
with:
command: deb
args: -p server
- name: Build Debian Client Package
uses: actions-rs/cargo@v1
with:
command: deb
args: -p client
2021-05-09 10:57:37 +00:00
- name: Save DEBs
uses: actions/upload-artifact@v2
with:
name: packaged-deb
path: target/debian/*.deb
build-rpm:
name: 'Build RPM packages'
2021-05-31 15:23:14 +00:00
continue-on-error: true
2021-05-09 10:57:37 +00:00
runs-on: ubuntu-latest
strategy:
matrix:
distros: ['fedora:32', 'fedora:33', 'centos:8']
steps:
- uses: actions/checkout@v2
- name: Build RPMs
run: rpm/build-package.sh ${{ matrix.distros }}
- name: Save RPMs
uses: actions/upload-artifact@v2
with:
name: packaged-rpm
path: target/rpm/*.rpm
release:
name: 'Release packages'
runs-on: ubuntu-latest
needs: [build-deb, build-rpm]
steps:
- name: Get artifacts
uses: actions/download-artifact@v2
2021-03-29 17:22:14 +00:00
- name: Release
uses: softprops/action-gh-release@v1
with:
2021-05-09 10:57:37 +00:00
files: |
packaged-deb/*.deb
packaged-rpm/*.rpm
2021-03-29 17:22:14 +00:00
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}