This repository has been archived on 2024-06-01. You can view files and clone it, but cannot push or open issues or pull requests.
rustboyadvance-ng/.github/workflows/build.yml
Michel Heily 8879d40262 Fix SDL2 build in CI
The repository was not checked out with submodules


Former-commit-id: fe10ba720aa617cf44ae0769c0ced2997ee4289c
Former-commit-id: bb38b3870022d3cecfc9f1b8fe0512aba6dacc18
2020-05-12 07:51:20 +03:00

108 lines
3 KiB
YAML

name: Build
on:
push:
branches:
- master
jobs:
build-linux:
runs-on: ubuntu-latest
steps:
- name: Checkout 🛎️
uses: actions/checkout@v2
with:
submodules: recursive
- name: Install Dependencies
run: |
sudo add-apt-repository -y "deb http://archive.ubuntu.com/ubuntu `lsb_release -sc` main universe restricted multiverse"
sudo apt-get update -y -qq
sudo apt-get install libsdl2-dev
sudo apt-get install libsdl2-image-dev
- name: Cache cargo registry
uses: actions/cache@v1
with:
path: ~/.cargo/registry
key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }}
- name: Cache cargo index
uses: actions/cache@v1
with:
path: ~/.cargo/git
key: ${{ runner.os }}-cargo-index-${{ hashFiles('**/Cargo.lock') }}
- name: Cache cargo build
uses: actions/cache@v1
with:
path: target
key: ${{ runner.os }}-cargo-build-target-${{ hashFiles('**/Cargo.lock') }}
- name: Build
run: cargo build --release --manifest-path platform/rustboyadvance-sdl2/Cargo.toml
- name: Collect artifacts
run: |
mkdir artifacts
mkdir artifacts/assets
cp README.md artifacts
cp LICENSE artifacts
cp ./assets/icon_cropped_small.png artifacts/assets
cp ./target/release/rustboyadvance-sdl2 artifacts
- name : Upload artifacts
uses: actions/upload-artifact@v2
with:
name: rustboyadvance-sdl2-x86_64-unknown-linux-gnu
path: artifacts
build-windows-64:
runs-on: windows-2019
steps:
- name: Checkout 🛎️
uses: actions/checkout@v2
with:
submodules: recursive
- run: rustup target add x86_64-pc-windows-msvc
- name: Cache cargo registry
uses: actions/cache@v1
with:
path: ~/.cargo/registry
key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }}
- name: Cache cargo index
uses: actions/cache@v1
with:
path: ~/.cargo/git
key: ${{ runner.os }}-cargo-index-${{ hashFiles('**/Cargo.lock') }}
- name: Cache cargo build
uses: actions/cache@v1
with:
path: target
key: ${{ runner.os }}-cargo-build-target-${{ hashFiles('**/Cargo.lock') }}
- name: Build
run: cargo build --target x86_64-pc-windows-msvc --release --manifest-path .\platform\rustboyadvance-sdl2\Cargo.toml
- name: Collect artifacts
run: |
mkdir artifacts
mkdir artifacts\assets
copy README.md artifacts
copy LICENSE artifacts
copy .\assets\icon_cropped_small.png artifacts\assets
copy .\target\x86_64-pc-windows-msvc\release\rustboyadvance-sdl2.exe artifacts
copy .\platform\rustboyadvance-sdl2\msvc\64\*.dll artifacts
copy .\platform\rustboyadvance-sdl2\msvc\64\LICENSE.* artifacts
- name : Upload artifacts
uses: actions/upload-artifact@v2
with:
name: rustboyadvance-sdl2-x86_64-pc-windows-msvc
path: artifacts