mirror of
https://github.com/samsonjs/agate.git
synced 2026-03-25 09:05:50 +00:00
The problems I had using podman were resolved by realizing that ubuntu-latest does not actually mean the latest version of Ubuntu (for now) so explicitly stating the Ubuntu version, installing podman works fine and can build binaries for Raspberry Pi properly.
111 lines
3.6 KiB
YAML
111 lines
3.6 KiB
YAML
name: Release Builds
|
|
|
|
on:
|
|
push:
|
|
tags:
|
|
- 'v*' # on every version tag
|
|
|
|
jobs:
|
|
# first just a small job to draft the release so all others can use the upload_url
|
|
create_release:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: create release
|
|
id: create_release
|
|
uses: actions/create-release@v1
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
with:
|
|
tag_name: ${{ github.ref }}
|
|
release_name: ${{ github.ref }}
|
|
# only draft the release so changelog can be edited
|
|
draft: true
|
|
prerelease: false
|
|
outputs:
|
|
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
|
|
|
build_ubuntu:
|
|
runs-on: ubuntu-20.04
|
|
needs: create_release
|
|
steps:
|
|
- uses: actions/checkout@v1
|
|
- name: build
|
|
run: bash release.sh
|
|
- name: upload release asset x86_64
|
|
uses: actions/upload-release-asset@v1
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
with:
|
|
upload_url: ${{ needs.create_release.outputs.upload_url }}
|
|
asset_path: ./agate.x86_64-unknown-linux-gnu.gz
|
|
asset_name: agate.x86_64-unknown-linux-gnu.gz
|
|
asset_content_type: application/gzip
|
|
- name: upload release asset arm
|
|
uses: actions/upload-release-asset@v1
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
with:
|
|
upload_url: ${{ needs.create_release.outputs.upload_url }}
|
|
asset_path: ./agate.arm-unknown-linux-gnueabihf.gz
|
|
asset_name: agate.arm-unknown-linux-gnueabihf.gz
|
|
asset_content_type: application/gzip
|
|
- name: upload release asset armv7
|
|
uses: actions/upload-release-asset@v1
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
with:
|
|
upload_url: ${{ needs.create_release.outputs.upload_url }}
|
|
asset_path: ./agate.armv7-unknown-linux-gnueabihf.gz
|
|
asset_name: agate.armv7-unknown-linux-gnueabihf.gz
|
|
asset_content_type: application/gzip
|
|
- name: upload release asset aarch64
|
|
uses: actions/upload-release-asset@v1
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
with:
|
|
upload_url: ${{ needs.create_release.outputs.upload_url }}
|
|
asset_path: ./agate.aarch64-unknown-linux-gnu.gz
|
|
asset_name: agate.aarch64-unknown-linux-gnu.gz
|
|
asset_content_type: application/gzip
|
|
|
|
build_windows:
|
|
runs-on: windows-latest
|
|
needs: create_release
|
|
steps:
|
|
- uses: actions/checkout@v1
|
|
- name: Build
|
|
run: cargo build --verbose --release
|
|
- name: strip names
|
|
run: strip target/release/agate.exe
|
|
- name: compress
|
|
run: gzip -c target/release/agate.exe > ./agate.exe.gz
|
|
- name: upload release asset win
|
|
uses: actions/upload-release-asset@v1
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
with:
|
|
upload_url: ${{ needs.create_release.outputs.upload_url }}
|
|
asset_name: agate.x86_64-pc-windows-msvc.exe.gz
|
|
asset_path: agate.exe.gz
|
|
asset_content_type: application/gzip
|
|
|
|
build_macos:
|
|
runs-on: macos-latest
|
|
needs: create_release
|
|
steps:
|
|
- uses: actions/checkout@v1
|
|
- name: Build
|
|
run: cargo build --verbose --release
|
|
- name: strip names
|
|
run: strip target/release/agate
|
|
- name: compress
|
|
run: gzip -c target/release/agate > ./agate.gz
|
|
- name: upload release asset darwin
|
|
uses: actions/upload-release-asset@v1
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
with:
|
|
upload_url: ${{ needs.create_release.outputs.upload_url }}
|
|
asset_path: ./agate.gz
|
|
asset_name: agate.x86_64-apple-darwin.gz
|
|
asset_content_type: application/gzip
|