Skip to content

add proxy module check #12

add proxy module check

add proxy module check #12

Workflow file for this run

name: Draft Release

Check failure on line 1 in .github/workflows/release.yml

View workflow run for this annotation

GitHub Actions / .github/workflows/release.yml

Invalid workflow file

Invalid type for `job.strategy`
on:
push:
tags:
- "v*"
permissions:
contents: write
packages: write
jobs:
build-binaries:
strategy:
matrix:
target:
[
x86_64-unknown-linux-gnu,
x86_64-pc-windows-gnu,
x86_64-apple-darwin,
aarch64-apple-darwin,
]
names:
- binary: commit-boost
publish: commit-boost-cli
- binary: default-pbs
publish: commit-boost-pbs
- binary: signer-module
publish: commit-boost-signer
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
names:
- binary: commit-boost
publish: commit-boost-cli
- binary: default-pbs
publish: commit-boost-pbs
- binary: signer-module
publish: commit-boost-signer
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 ${{ matrix.names.binary }}
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 ${{ matrix.names.publish }}-${{ github.ref_name }}-${{ matrix.target }}.tar.gz ${{ matrix.names.binary }}
mv ${{ matrix.names.publish }}-${{ github.ref_name }}-${{ matrix.target }}.tar.gz ../../../
- name: Package binary (Windows)
if: runner.os == 'Windows'
run: |
cd target/${{ matrix.target }}/release
7z a ${{ matrix.names.publish }}-${{ github.ref_name }}-${{ matrix.target }}.zip ${{ matrix.names.binary }}.exe
move ${{ matrix.names.publish }}-${{ github.ref_name }}-${{ matrix.target }}.zip ../../../
- name: Upload binary to release
uses: softprops/action-gh-release@v2
with:
files: ${{ matrix.names.publish }}-${{ 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