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
|
- runner: linux_arm64
|
||||||
arch: arm64
|
arch: arm64
|
||||||
artifact_name: usbmakroboard-arm64
|
artifact_name: usbmakroboard-arm64
|
||||||
runs-on:
|
uses: ./.gitea/workflows/build.yaml
|
||||||
- ubuntu-latest
|
with:
|
||||||
- ${{ matrix.runner }}
|
runner: ${{ matrix.runner }}
|
||||||
steps:
|
arch: ${{ matrix.arch }}
|
||||||
- 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
|
|
||||||
|
|
||||||
release:
|
release:
|
||||||
needs: build
|
needs: build
|
||||||
|
|||||||
@@ -5,20 +5,16 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
runs-on:
|
strategy:
|
||||||
- ubuntu-latest
|
matrix:
|
||||||
- linux_amd64
|
include:
|
||||||
steps:
|
- runner: linux_amd64
|
||||||
- uses: actions/checkout@v4
|
arch: amd64
|
||||||
- run: |
|
artifact_name: usbmakroboard-amd64
|
||||||
sudo apt-get update
|
- runner: linux_arm64
|
||||||
sudo apt-get install -y build-essential cmake
|
arch: arm64
|
||||||
- name: Configure and build
|
artifact_name: usbmakroboard-arm64
|
||||||
run: |
|
uses: ./.gitea/workflows/build.yaml
|
||||||
mkdir -p build
|
with:
|
||||||
cd build
|
runner: ${{ matrix.runner }}
|
||||||
cmake ..
|
arch: ${{ matrix.arch }}
|
||||||
cmake --build .
|
|
||||||
- name: Verify binary
|
|
||||||
run: |
|
|
||||||
test -f build/usbmakroboard && echo "Binary built successfully" || exit 1
|
|
||||||
|
|||||||
Reference in New Issue
Block a user