Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
150 changes: 150 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,150 @@
name: Release

on:
workflow_dispatch:

env:
BUILD_TYPE: Release

jobs:
create_release:
name: Create release
runs-on: ubuntu-latest
outputs:
upload_url: ${{steps.create_release.outputs.upload_url}}
steps:
- name: Check out repository
uses: actions/checkout@v4
with:
submodules: recursive

- name: Create release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
with:
draft: true
tag_name: ${{github.ref}}
release_name: Release ${{github.ref}}

build-linux-x64:
name: Build Linux x64
needs: create_release
strategy:
matrix:
native_arch: [x86-64, x86-64-v3]
runs-on: ubuntu-latest
env:
ARCHIVE_NAME: model_test_linux_${{ matrix.native_arch }}.tgz
steps:
- uses: actions/checkout@v3.3.0
with:
submodules: recursive

- name: Build
working-directory: ${{github.workspace}}/build
env:
CXX: clang++
CXXFLAGS: "-Wall -O3 -march=${{ matrix.native_arch }}"
run: |
cmake .. -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DBUILD_NAMCORE=ON -DBUILD_INTERNAL_STATIC_WAVENET=ON -DBUILD_INTERNAL_STATIC_LSTM=ON
cmake --build . --config $BUILD_TYPE -j4

- name: Add Archive
working-directory: ${{github.workspace}}/build
run: |
mkdir ModelTest
cp Utils/ModelTest/ModelTest ModelTest
cp -r Utils/Models ModelTest
tar -czf ${{ env.ARCHIVE_NAME }} ModelTest

- name: Upload Asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ needs.create_release.outputs.upload_url }}
asset_path: ./build/${{ env.ARCHIVE_NAME }}
asset_name: ${{ env.ARCHIVE_NAME }}
asset_content_type: application/tgz

build-rpi:
name: Build Raspberry Pi
needs: create_release
strategy:
matrix:
native_arch: [rpi4, rpi5]
runs-on: ubuntu-latest
container:
image: ghcr.io/tttapa/docker-arm-cross-toolchain:aarch64-rpi3-linux-gnu-gcc12
env:
ARCHIVE_NAME: model_test_${{ matrix.native_arch }}.tgz
steps:
- uses: actions/checkout@v3.3.0
with:
submodules: recursive

- name: Build
working-directory: ${{github.workspace}}/build
run: |
cmake .. -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DBUILD_NAMCORE=ON -DBUILD_INTERNAL_STATIC_WAVENET=ON -DBUILD_INTERNAL_STATIC_LSTM=ON
cmake --build . --config $BUILD_TYPE -j4

- name: Add Archive
working-directory: ${{github.workspace}}/build
run: |
mkdir ModelTest
cp Utils/ModelTest/ModelTest ModelTest
cp -r Utils/Models ModelTest
tar -czf ${{ env.ARCHIVE_NAME }} ModelTest

- name: Upload Asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ needs.create_release.outputs.upload_url }}
asset_path: ./build/${{ env.ARCHIVE_NAME }}
asset_name: ${{ env.ARCHIVE_NAME }}
asset_content_type: application/tgz

build-windows:
name: Build Windows
needs: create_release
strategy:
matrix:
native_arch: [x86-64, x86-64-v3]
runs-on: windows-latest
env:
ARCHIVE_NAME: model_test_win_${{ matrix.native_arch }}.zip
steps:
- uses: actions/checkout@v3.3.0
with:
submodules: recursive

- name: Build
working-directory: ${{github.workspace}}/build
env:
CXXFLAGS: "/O2 -march=${{ matrix.native_arch }}"
run: |
cmake.exe -G "Visual Studio 17 2022" -A x64 -T ClangCL -DBUILD_NAMCORE=ON -DBUILD_INTERNAL_STATIC_WAVENET=ON -DBUILD_INTERNAL_STATIC_LSTM=ON ..
cmake --build . --config=release -j4

- name: Add Archive
working-directory: ${{github.workspace}}/build
run: |
mkdir ModelTest
cp Utils/ModelTest/ModelTest.exe ModelTest
cp -r Utils/Models ModelTest
Compress-Archive -Path ModelTest -Destination ${{ env.ARCHIVE_NAME }}

- name: Upload Asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ needs.create_release.outputs.upload_url }}
asset_path: ./${{ env.ARCHIVE_NAME }}
asset_name: ${{ env.ARCHIVE_NAME }}
asset_content_type: application/zip
Loading