This commit removes the uncompressed binary from the release page. It was originally added to simplify Docker but it turns out that having to chmod the binary will double its size.
80 lines
2.9 KiB
YAML
80 lines
2.9 KiB
YAML
on:
|
|
release:
|
|
types:
|
|
- created
|
|
|
|
name: release (linux)
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
include:
|
|
- arch: amd64
|
|
cc: gcc
|
|
- arch: arm64
|
|
cc: aarch64-linux-gnu-gcc
|
|
- arch: arm
|
|
arm: 6
|
|
cc: arm-linux-gnueabi-gcc
|
|
- arch: arm
|
|
arm: 7
|
|
cc: arm-linux-gnueabihf-gcc
|
|
|
|
env:
|
|
GOOS: linux
|
|
GOARCH: ${{ matrix.arch }}
|
|
GOARM: ${{ matrix.arm }}
|
|
CC: ${{ matrix.cc }}
|
|
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: actions/setup-go@v2
|
|
|
|
- id: release
|
|
uses: bruceadams/get-release@v1.2.2
|
|
env:
|
|
GITHUB_TOKEN: ${{ github.token }}
|
|
|
|
- name: Install cross-compilers
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y gcc-aarch64-linux-gnu gcc-arm-linux-gnueabihf gcc-arm-linux-gnueabi
|
|
|
|
- name: Install nfpm
|
|
run: |
|
|
wget https://github.com/goreleaser/nfpm/releases/download/v2.2.3/nfpm_2.2.3_Linux_x86_64.tar.gz
|
|
tar zxvf nfpm_2.2.3_Linux_x86_64.tar.gz
|
|
|
|
- name: Build litestream
|
|
run: |
|
|
rm -rf dist
|
|
mkdir -p dist
|
|
cp etc/litestream.yml etc/litestream.service dist
|
|
cat etc/nfpm.yml | LITESTREAM_VERSION=${{ steps.release.outputs.tag_name }} envsubst > dist/nfpm.yml
|
|
CGO_ENABLED=1 go build -ldflags "-s -w -X 'main.Version=${{ steps.release.outputs.tag_name }}'" -o dist/litestream ./cmd/litestream
|
|
|
|
cd dist
|
|
tar -czvf litestream-${{ steps.release.outputs.tag_name }}-${{ env.GOOS }}-${{ env.GOARCH }}${{ env.GOARM }}.tar.gz litestream
|
|
../nfpm pkg --config nfpm.yml --packager deb --target litestream-${{ steps.release.outputs.tag_name }}-${{ env.GOOS }}-${{ env.GOARCH }}${{ env.GOARM }}.deb
|
|
|
|
- name: Upload release tarball
|
|
uses: actions/upload-release-asset@v1.0.2
|
|
env:
|
|
GITHUB_TOKEN: ${{ github.token }}
|
|
with:
|
|
upload_url: ${{ steps.release.outputs.upload_url }}
|
|
asset_path: ./dist/litestream-${{ steps.release.outputs.tag_name }}-${{ env.GOOS }}-${{ env.GOARCH }}${{ env.GOARM }}.tar.gz
|
|
asset_name: litestream-${{ steps.release.outputs.tag_name }}-${{ env.GOOS }}-${{ env.GOARCH }}${{ env.GOARM }}.tar.gz
|
|
asset_content_type: application/gzip
|
|
|
|
- name: Upload debian package
|
|
uses: actions/upload-release-asset@v1.0.2
|
|
env:
|
|
GITHUB_TOKEN: ${{ github.token }}
|
|
with:
|
|
upload_url: ${{ steps.release.outputs.upload_url }}
|
|
asset_path: ./dist/litestream-${{ steps.release.outputs.tag_name }}-${{ env.GOOS }}-${{ env.GOARCH }}${{ env.GOARM }}.deb
|
|
asset_name: litestream-${{ steps.release.outputs.tag_name }}-${{ env.GOOS }}-${{ env.GOARCH }}${{ env.GOARM }}.deb
|
|
asset_content_type: application/octet-stream
|