harmony/.gitea/workflows/harmony_composer.yaml

49 lines
1.5 KiB
YAML

name: Compile and package harmony_composer
on:
pull_request:
push:
branches:
- main
jobs:
package_harmony_composer:
container:
image: hub.nationtech.io/harmony/harmony_composer:ci
runs-on: docker
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Build for Linux x86_64
run: cargo build --release --bin harmony_composer --target x86_64-unknown-linux-gnu
# - name: Build for Linux ARM64
# run: cargo build --release --bin harmony_composer --target aarch64-unknown-linux-gnu
- name: Build for Windows x86_64 GNU
run: cargo build --release --bin harmony_composer --target x86_64-pc-windows-gnu
# - name: Build for MacOS ARM64
# run: cargo build --release --bin harmony_composer --target aarch64-apple-darwin
- uses: actions/upload-artifact@v3
with:
name: binaries
path: |
target/x86_64-unknown-linux-gnu/release/harmony_composer
target/x86_64-pc-windows-gnu/release/harmony_composer.exe
- name: Setup log into hub.nationtech.io
uses: docker/login-action@v2
with:
registry: hub.nationtech.io
username: ${{ secrets.HUB_BOT_USERNAME }}
password: ${{ secrets.HUB_BOT_PASSWORD }}
# TODO: build ARM images too
- name: Build docker container
run: docker build . -t hub.nationtech.io/harmony/harmony_composer
- name: Push docker container
run: docker push hub.nationtech.io/harmony/harmony_composer