ci: unify ci and cd build step (#6)
Reviewed-on: #6 Co-authored-by: Timo Behrendt <t.behrendt@t00n.de> Co-committed-by: Timo Behrendt <t.behrendt@t00n.de>
This commit was merged in pull request #6.
This commit is contained in:
49
.gitea/workflows/build.yaml
Normal file
49
.gitea/workflows/build.yaml
Normal file
@@ -0,0 +1,49 @@
|
||||
name: Build
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
runner:
|
||||
type: string
|
||||
default: "linux_amd64"
|
||||
arch:
|
||||
type: string
|
||||
default: "amd64"
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on:
|
||||
- ubuntu-latest
|
||||
- ${{ inputs.runner }}
|
||||
steps:
|
||||
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y build-essential cmake zip
|
||||
- name: Build
|
||||
run: |
|
||||
mkdir -p build
|
||||
cd build
|
||||
cmake ..
|
||||
cmake --build .
|
||||
- name: Verify binary
|
||||
run: |
|
||||
test -f build/usbmakroboard && echo "Binary built successfully" || exit 1
|
||||
- name: Create zip archive
|
||||
run: |
|
||||
cd build
|
||||
zip usbmakroboard-linux-${{ inputs.arch }}.zip usbmakroboard
|
||||
- name: Generate checksum
|
||||
run: |
|
||||
cd build
|
||||
sha256sum usbmakroboard-linux-${{ inputs.arch }}.zip > usbmakroboard-linux-${{ inputs.arch }}.zip.sha256
|
||||
- name: Upload artifacts
|
||||
uses: ChristopherHX/gitea-upload-artifact@v4
|
||||
with:
|
||||
name: usbmakroboard-${{ inputs.arch }}
|
||||
path: |
|
||||
build/usbmakroboard-linux-${{ inputs.arch }}.zip
|
||||
build/usbmakroboard-linux-${{ inputs.arch }}.zip.sha256
|
||||
retention-days: 1
|
||||
@@ -21,38 +21,10 @@ jobs:
|
||||
- runner: linux_arm64
|
||||
arch: arm64
|
||||
artifact_name: usbmakroboard-arm64
|
||||
runs-on:
|
||||
- ubuntu-latest
|
||||
- ${{ matrix.runner }}
|
||||
steps:
|
||||
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y build-essential cmake zip
|
||||
- name: Build
|
||||
run: |
|
||||
mkdir -p build
|
||||
cd build
|
||||
cmake ..
|
||||
cmake --build .
|
||||
- run: |
|
||||
test -f build/usbmakroboard && echo "Binary built successfully" || exit 1
|
||||
- run: |
|
||||
cd build
|
||||
zip usbmakroboard-linux-${{ matrix.arch }}.zip usbmakroboard
|
||||
- run: |
|
||||
cd build
|
||||
sha256sum usbmakroboard-linux-${{ matrix.arch }}.zip > usbmakroboard-linux-${{ matrix.arch }}.zip.sha256
|
||||
- name: Upload artifacts
|
||||
uses: ChristopherHX/gitea-upload-artifact@v4
|
||||
with:
|
||||
name: ${{ matrix.artifact_name }}
|
||||
path: |
|
||||
build/usbmakroboard-linux-${{ matrix.arch }}.zip
|
||||
build/usbmakroboard-linux-${{ matrix.arch }}.zip.sha256
|
||||
retention-days: 1
|
||||
uses: ./.gitea/workflows/build.yaml
|
||||
with:
|
||||
runner: ${{ matrix.runner }}
|
||||
arch: ${{ matrix.arch }}
|
||||
|
||||
release:
|
||||
needs: build
|
||||
|
||||
@@ -5,20 +5,16 @@ on:
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on:
|
||||
- ubuntu-latest
|
||||
- linux_amd64
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y build-essential cmake
|
||||
- name: Configure and build
|
||||
run: |
|
||||
mkdir -p build
|
||||
cd build
|
||||
cmake ..
|
||||
cmake --build .
|
||||
- name: Verify binary
|
||||
run: |
|
||||
test -f build/usbmakroboard && echo "Binary built successfully" || exit 1
|
||||
strategy:
|
||||
matrix:
|
||||
include:
|
||||
- runner: linux_amd64
|
||||
arch: amd64
|
||||
artifact_name: usbmakroboard-amd64
|
||||
- runner: linux_arm64
|
||||
arch: arm64
|
||||
artifact_name: usbmakroboard-arm64
|
||||
uses: ./.gitea/workflows/build.yaml
|
||||
with:
|
||||
runner: ${{ matrix.runner }}
|
||||
arch: ${{ matrix.arch }}
|
||||
|
||||
Reference in New Issue
Block a user