name: Build on Multiple Distributions on: push: branches: - main pull_request: branches: - main jobs: build-on-arch: runs-on: ubuntu-latest container: image: archlinux:latest steps: - name: Install basic dependencies run: | pacman -Syu --noconfirm pacman -S --noconfirm git nodejs npm - name: Checkout code run: | git clone https://gitea.akshun-lab.uk/akshun/rust-setup.git . git checkout $GITEA_SHA - name: Install dependencies run: | pacman -S --noconfirm rustup gcc rustup default stable - name: Build with cargo run: | cargo build --release - name: Upload artifact uses: actions/upload-artifact@v3 with: name: arch-setup path: target/release/setup build-on-debian: runs-on: ubuntu-latest container: image: debian:stable steps: - name: Install basic dependencies run: | apt update && apt upgrade -y apt install -y git nodejs npm - name: Checkout code run: | git clone https://gitea.akshun-lab.uk/akshun/rust-setup.git . git checkout $GITEA_SHA - name: Install dependencies run: | apt install -y cargo - name: Build with cargo run: | cargo build --release - name: Upload artifact uses: actions/upload-artifact@v3 with: name: debian-setup path: target/release/setup build-on-fedora: runs-on: ubuntu-latest container: image: fedora:latest steps: - name: Install basic dependencies run: | dnf up -y dnf install -y git nodejs npm - name: Checkout code run: | git clone https://gitea.akshun-lab.uk/akshun/rust-setup.git . git checkout $GITEA_SHA - name: Install dependencies run: | dnf install -y cargo - name: Build with cargo run: | cargo build --release - name: Upload artifact uses: actions/upload-artifact@v3 with: name: fedora-setup path: target/release/setup