EHS/.gitea/workflows/BuildRelease.yaml

155 lines
4.4 KiB
YAML

name: Build & Release
run-name: ${{ gitea.actor }} is testing out Gitea Actions
on:
push:
tags:
- "v*"
jobs:
Windows-AMD64-Build:
runs-on: windows-x86_64
defaults:
run:
shell: powershell
steps:
- name: Check out repository code
uses: actions/checkout@v3
- name: Generating Documentation
run: |
doxygen ehs-docs-config.doxyfile
- name: Building/Compiling/Installing Project
run: |
cd ${{ gitea.workspace }}
vcpkg install
mkdir build
cd build
cmake -A x64 -DCMAKE_BUILD_TYPE=Release ..
cmake --build . --config Release
cmake --install .
- name: Creating Appropriate Directories
run: |
cd ${{ gitea.workspace }}
mkdir bin
mv build/Release/EHS_Dyn.dll bin
mv build/Release/StrToHash.exe bin
mv build/Release/zlib1.dll bin
mkdir lib
mv build/Release/EHS_Stc.lib lib
mv build/Release/EHS_Dyn.lib lib
- name: Zipping Binaries
run: |
cd ${{ gitea.workspace }}
tar -a -c -f ehs-windows-amd64.zip include bin lib docs LICENSE README.md
- uses: https://github.com/actions/setup-go@v4
with:
go-version: '>=1.20.1'
- name: Use Go Action
id: use-go-action
uses: https://gitea.com/actions/release-action@main
with:
files: |-
ehs-windows-amd64.zip
api_key: '${{secrets.RELEASE_TOKEN}}'
Linux-AMD64-Build:
runs-on: linux-x86_64
steps:
- name: Check out repository code
uses: actions/checkout@v3
- name: Installing Dependencies
run: |
sudo pacman -S --noconfirm doxygen zip alsa-lib libxcb xcb-util-cursor pipewire
- name: Generating Package
run: |
cd ${{ gitea.workspace }}
conan create .
conan remote add origin https://gitea.eventhorizonstudio.io/api/packages/EHS/conan
conan user --remote origin --password ${{secrets.CONAN_TOKEN}} ${{secrets.CONAN_USERNAME}}
conan upload --remote=origin ehs
- name: Generating Documentation
run: |
doxygen ehs-docs-config.doxyfile
- name: Building/Compiling/Installing Project
run: |
cd ${{ gitea.workspace }}
cmake -DCMAKE_BUILD_TYPE=Release -DLINUX_WINDOW_SYSTEM:STRING=XCB .
cmake --build . --config Release
cmake --install .
- name: Creating Appropriate Directories
run: |
cd ${{ gitea.workspace }}
mkdir bin
mv libEHS_Dyn.so bin
mv StrToHash bin
mkdir lib
mv libEHS_Stc.a lib
- name: Zipping Binaries
run: zip -r ehs-linux-amd64.zip include bin lib docs LICENSE RADME.md
- uses: https://github.com/actions/setup-go@v4
with:
go-version: '>=1.20.1'
- name: Use Go Action
id: use-go-action
uses: https://gitea.com/actions/release-action@main
with:
files: |-
ehs-linux-amd64.zip
api_key: '${{secrets.RELEASE_TOKEN}}'
Linux-AARCH64-Build:
runs-on: linux-aarch64
steps:
- name: Check out repository code
uses: actions/checkout@v3
- name: Installing Dependencies
run: sudo apt install -y doxygen zip libasound2-dev libxcb1-dev libxcb-xinput-dev libxcb-cursor-dev libpipewire-0.3-dev
- name: Generating Documentation
run: |
doxygen ehs-docs-config.doxyfile
- name: Building/Compiling/Installing Project
run: |
cd ${{ gitea.workspace }}
cmake -DCMAKE_BUILD_TYPE=Release -DLINUX_WINDOW_SYSTEM:STRING=XCB .
cmake --build . --config Release
cmake --install .
- name: Creating Appropriate Directories
run: |
cd ${{ gitea.workspace }}
mkdir bin
mv libEHS_Dyn.so bin
mv StrToHash bin
mkdir lib
mv libEHS_Stc.a lib
- name: Zipping Binaries
run: zip -r ehs-linux-aarch64.zip include bin lib docs LICENSE README.md
- uses: https://github.com/actions/setup-go@v4
with:
go-version: '>=1.20.1'
- name: Use Go Action
id: use-go-action
uses: https://gitea.com/actions/release-action@main
with:
files: |-
ehs-linux-aarch64.zip
api_key: '${{secrets.RELEASE_TOKEN}}'