-
-
Notifications
You must be signed in to change notification settings - Fork 30
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
## Description **What(what issue does this code solve/what feature does it add):** `Warp` will be used to "trasmit" the video and audio from the container to the user/viewer wherever they are. **How(how does it solve it):** 1. Add a Github worker that builds warp on pr, and one that builds and pushes on release ## Required Checklist: - [ ] I have added any necessary documentation and comments in my code (where appropriate) - [ ] I have added tests to make sure my code runs in all contexts ## Further comments
- Loading branch information
1 parent
9e9f523
commit 4897a20
Showing
3 changed files
with
163 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,159 @@ | ||
name: CI for moq-rs | ||
|
||
on: | ||
workflow_dispatch: | ||
schedule: | ||
- cron: 0 0 * * * # At the end of everyday | ||
pull_request: | ||
release: | ||
types: [published] | ||
|
||
# Cancel previous runs of the same workflow on the same branch. | ||
concurrency: | ||
group: ${{ github.workflow }}-${{ github.ref }} | ||
cancel-in-progress: true | ||
|
||
jobs: | ||
build-warp-release: | ||
if: ${{ github.event_name == 'release' }} | ||
defaults: | ||
run: | ||
working-directory: moq-server | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
settings: | ||
- host: ubuntu-20.04 | ||
target: x86_64-unknown-linux-gnu | ||
bundles: appimage | ||
asset_name: warp-ubuntu-amd64 | ||
- host: windows-latest | ||
target: x86_64-pc-windows-msvc | ||
bundles: msi | ||
asset_name: warp-windows-amd64 | ||
- host: macos-latest | ||
target: x86_64-apple-darwin | ||
bundles: dmg | ||
asset_name: warp-macos-amd64 | ||
- host: macos-latest | ||
target: aarch64-apple-darwin | ||
bundles: dmg | ||
asset_name: warp-macos-apple-silicon | ||
# - host: ubuntu-20.04 | ||
# target: x86_64-unknown-linux-musl | ||
# - host: ubuntu-20.04 | ||
# target: aarch64-unknown-linux-gnu | ||
# - host: ubuntu-20.04 | ||
# target: aarch64-unknown-linux-musl | ||
# - host: ubuntu-20.04 | ||
# target: armv7-unknown-linux-gnueabihf | ||
name: Build warp on release | ||
runs-on: ${{ matrix.settings.host }} | ||
steps: | ||
- name: Checkout repository | ||
uses: actions/checkout@v3 | ||
with: | ||
submodules: recursive | ||
|
||
- name: Install Rust | ||
id: toolchain | ||
uses: dtolnay/rust-toolchain@stable | ||
with: | ||
targets: ${{ matrix.settings.target }} | ||
toolchain: stable | ||
components: clippy, rustfmt | ||
|
||
- name: Cache Rust Dependencies | ||
uses: Swatinem/rust-cache@v2 | ||
with: | ||
save-if: false | ||
prefix-key: 'v0-rust-deps' | ||
shared-key: ${{ matrix.settings.target }} | ||
|
||
- name: Cargo build | ||
run: cargo build --target ${{ matrix.settings.target }} --manifest-path ./moq-pub/Cargo.toml --release | ||
|
||
- name: Copy and rename artifacts (Linux) | ||
if: ${{ matrix.settings.host == 'ubuntu-20.04' }} | ||
run: | | ||
cp target/${{ matrix.settings.target }}/release/moq-pub ./warp | ||
- name: Copy and rename artifacts (Windows) | ||
if: ${{ matrix.settings.host == 'windows-latest' }} | ||
run: | | ||
cp "target/${{ matrix.settings.target }}/release/moq-pub.exe" ./warp.exe | ||
- name: Copy and rename artifacts (macOS) | ||
if: ${{ matrix.settings.host == 'macos-latest' }} | ||
run: | | ||
cp target/${{ matrix.settings.target }}/release/moq-pub ./warp | ||
- name: Publish release for (${{ matrix.settings.host }}) | ||
if: ${{ matrix.settings.host == 'windows-latest' }} | ||
uses: svenstaro/[email protected] | ||
with: | ||
repo_token: ${{ secrets.GITHUB_TOKEN }} | ||
file: ./moq-server/warp.exe | ||
asset_name: ${{ matrix.settings.asset_name }} | ||
tag: ${{ github.ref }} | ||
|
||
- name: Publish release for (${{ matrix.settings.host }}) | ||
if: ${{ matrix.settings.host != 'windows-latest' }} | ||
uses: svenstaro/[email protected] | ||
with: | ||
repo_token: ${{ secrets.GITHUB_TOKEN }} | ||
file: ./moq-server/warp | ||
asset_name: ${{ matrix.settings.asset_name }} | ||
tag: ${{ github.ref }} | ||
|
||
build-warp-pr: | ||
if: ${{ github.event_name == 'pull_request' }} | ||
name: Build warp on PR | ||
defaults: | ||
run: | ||
working-directory: moq-server | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
settings: | ||
- host: ubuntu-20.04 | ||
target: x86_64-unknown-linux-gnu | ||
bundles: appimage | ||
asset_name: warp-ubuntu-amd64 | ||
|
||
runs-on: ${{ matrix.settings.host }} | ||
steps: | ||
- name: Checkout repository | ||
uses: actions/checkout@v3 | ||
with: | ||
submodules: recursive | ||
|
||
- name: Install Rust | ||
id: toolchain | ||
uses: dtolnay/rust-toolchain@stable | ||
with: | ||
targets: ${{ matrix.settings.target }} | ||
toolchain: stable | ||
components: clippy, rustfmt | ||
|
||
- name: Cache Rust Dependencies | ||
uses: Swatinem/rust-cache@v2 | ||
with: | ||
save-if: false | ||
prefix-key: 'v0-rust-deps' | ||
shared-key: ${{ matrix.settings.target }} | ||
|
||
- name: Cargo build | ||
run: cargo build --target ${{ matrix.settings.target }} --manifest-path ./moq-pub/Cargo.toml --release | ||
|
||
- name: Copy and rename artifacts (Linux) | ||
run: | | ||
cp target/${{ matrix.settings.target }}/release/moq-pub ./warp | ||
- name: Publish artifacts (${{ matrix.settings.host }}) | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: ${{ matrix.settings.asset_name }} | ||
path: ./moq-server/warp | ||
if-no-files-found: error | ||
retention-days: 5 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
[submodule "moq-server"] | ||
path = moq-server | ||
url = https://github.com/kixelated/moq-rs |
Submodule moq-server
added at
01a4da