Refactor #6
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
name: Daemon Build | |
on: | |
push: | |
branches: [ "main" ] | |
jobs: | |
build-windows: | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install Rust | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
override: true | |
- name: Build | |
run: cargo build --release | |
working-directory: daemon | |
- name: Rename binary | |
run: mv target/release/mysti-daemon.exe mysti-daemon-windows.exe | |
- name: Upload artifact | |
uses: actions/upload-artifact@v2 | |
with: | |
name: mysti-daemon-windows | |
path: ./mysti-daemon-windows.exe | |
build-ubuntu: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install additional packages | |
run: sudo apt-get install -y libx11-dev xfonts-base xcb libx11-xcb-dev libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libxcb-shape0-dev libxcb-xfixes0-dev | |
- name: Install Rust | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
override: true | |
- name: Build | |
run: cargo build --release | |
working-directory: daemon | |
- name: Rename binary | |
run: mv target/release/mysti-daemon mysti-daemon-ubuntu | |
- name: Upload artifact | |
uses: actions/upload-artifact@v2 | |
with: | |
name: mysti-daemon-ubuntu | |
path: ./mysti-daemon-ubuntu | |
build-fedora: | |
runs-on: ubuntu-latest | |
container: | |
image: fedora:latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install additional packages | |
run: dnf install -y libX11-devel xorg-x11-fonts-misc xorg-x11-font-utils make automake gcc gcc-c++ kernel-devel | |
- name: Install Rust | |
run: | | |
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y | |
source $HOME/.cargo/env | |
- name: Build | |
run: source $HOME/.cargo/env && cargo build --release | |
working-directory: daemon | |
- name: Rename binary | |
run: find . -type f -name mysti-daemon -exec mv {} mysti-daemon-fedora \; | |
- name: Upload artifact | |
uses: actions/upload-artifact@v2 | |
with: | |
name: mysti-daemon-fedora | |
path: ./mysti-daemon-fedora | |
build-debian: | |
runs-on: ubuntu-latest | |
container: | |
image: debian:latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install additional packages | |
run: | | |
apt-get update && apt-get install -y curl libx11-dev xfonts-base xfonts-utils make automake gcc g++ \ | |
linux-headers-amd64 pkg-config openssl libssl-dev mlocate libxcb-render0 libxcb-render0-dev \ | |
libxcb-shape0 libxcb-shape0-dev libxcb-xfixes0 libxcb-xfixes0-dev | |
- name: Install Rust | |
run: | | |
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y | |
source $HOME/.cargo/env | |
shell: bash | |
- name: Build | |
run: source $HOME/.cargo/env && cargo build --release | |
working-directory: daemon | |
shell: bash | |
- name: Rename binary | |
run: find . -type f -name mysti-daemon -exec mv {} mysti-daemon-debian \; | |
- name: Upload artifact | |
uses: actions/upload-artifact@v2 | |
with: | |
name: mysti-daemon-debian | |
path: ./mysti-daemon-debian | |
build-archlinux: | |
runs-on: ubuntu-latest | |
container: | |
image: archlinux:latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install additional packages | |
run: pacman -Syu --noconfirm libx11 xorg-fonts-misc xorg-mkfontscale make automake gcc linux-headers pkg-config | |
- name: Install Rust | |
run: | | |
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y | |
source $HOME/.cargo/env | |
- name: Build | |
run: source $HOME/.cargo/env && cargo build --release | |
working-directory: daemon | |
- name: Rename binary | |
run: find . -type f -name mysti-daemon -exec mv {} mysti-daemon-archlinux \; | |
- name: Upload artifact | |
uses: actions/upload-artifact@v2 | |
with: | |
name: mysti-daemon-archlinux | |
path: ./mysti-daemon-archlinux | |
release: | |
needs: [build-windows, build-ubuntu, build-fedora, build-debian, build-archlinux] | |
runs-on: ubuntu-latest | |
permissions: | |
contents: write | |
steps: | |
- name: Download artifacts | |
uses: actions/download-artifact@v2 | |
- name: Release | |
uses: softprops/action-gh-release@v1 | |
with: | |
files: | | |
mysti-daemon-*/mysti-daemon-* | |
tag_name: latest | |
body: | | |
This is the latest release of the Mysti daemon. | |
token: ${{ secrets.GITHUB_TOKEN }} |