Skip to content

Merge pull request #3 from kilnfi/helm-monitoring #1

Merge pull request #3 from kilnfi/helm-monitoring

Merge pull request #3 from kilnfi/helm-monitoring #1

Workflow file for this run

name: Draft Release
on:
push:
tags:
- "v*"
env:
BINARY_NAME: commit-boost
permissions:
contents: write
packages: write
jobs:
build-binaries:
strategy:
matrix:
include:
- target: x86_64-unknown-linux-gnu
os: ubuntu-latest
- target: x86_64-pc-windows-gnu
os: windows-latest
- target: x86_64-apple-darwin
os: macos-latest
- target: aarch64-apple-darwin
os: macos-latest
runs-on: ${{ matrix.os }}
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
ref: "stable"
- name: Install GNU toolchain (Windows)
if: matrix.target == 'x86_64-pc-windows-gnu'
uses: msys2/setup-msys2@v2
with:
msystem: MINGW64
update: true
install: mingw-w64-x86_64-gcc
- name: Set up Rust
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
target: ${{ matrix.target }}
- name: Build binary
uses: actions-rs/cargo@v1
with:
command: build
args: --release --target ${{ matrix.target }} --bin ${{ env.BINARY_NAME }}
env:
CARGO_TARGET_X86_64_PC_WINDOWS_GNU_LINKER: gcc
- name: Package binary (Unix)
if: runner.os != 'Windows'
run: |
cd target/${{ matrix.target }}/release
tar -czvf ${{ env.BINARY_NAME }}-${{ github.ref_name }}-${{ matrix.target }}.tar.gz ${{ env.BINARY_NAME }}
mv ${{ env.BINARY_NAME }}-${{ github.ref_name }}-${{ matrix.target }}.tar.gz ../../../
- name: Package binary (Windows)
if: runner.os == 'Windows'
run: |
cd target/${{ matrix.target }}/release
7z a ${{ env.BINARY_NAME }}-${{ github.ref_name }}-${{ matrix.target }}.zip ${{ env.BINARY_NAME }}.exe
move ${{ env.BINARY_NAME }}-${{ github.ref_name }}-${{ matrix.target }}.zip ../../../
- name: Upload binary to release
uses: softprops/action-gh-release@v2
with:
files: ${{ env.BINARY_NAME }}-${{ github.ref_name }}-${{ matrix.target }}.${{ runner.os == 'Windows' && 'zip' || 'tar.gz' }}
draft: true
token: ${{ secrets.GITHUB_TOKEN }}
build-and-push-docker:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
ref: "stable"
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Prepare Docker metadata
id: meta
uses: docker/metadata-action@v4
with:
images: |
ghcr.io/${{ github.repository_owner }}/${{ env.DOCKER_IMAGE_NAME }}
tags: |
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
type=raw,value=latest,enable={{is_default_branch}}
- name: Build and push PBS Docker image
uses: docker/build-push-action@v6
with:
context: .
push: true
platforms: linux/amd64,linux/arm64
tags: |
ghcr.io/commit-boost/pbs:${{ github.ref_name }}
ghcr.io/commit-boost/pbs:latest
cache-from: type=gha
cache-to: type=gha,mode=max
file: docker/pbs.Dockerfile
- name: Build and push Signer Docker image
uses: docker/build-push-action@v6
with:
context: .
push: true
platforms: linux/amd64,linux/arm64
tags: |
ghcr.io/commit-boost/signer:${{ github.ref_name }}
ghcr.io/commit-boost/signer:latest
cache-from: type=gha
cache-to: type=gha,mode=max
file: docker/pbs.Dockerfile
finalize-release:
needs: [build-binaries, build-and-push-docker]
runs-on: ubuntu-latest
steps:
- name: Finalize Release
uses: softprops/action-gh-release@v2
with:
name: ${{ github.ref_name }}
tag_name: ${{ github.ref_name }}
draft: true
prerelease: false