Skip to content

Refactor

Refactor #6

Workflow file for this run

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 }}