Skip to content

Increase PNG compression level #832

Increase PNG compression level

Increase PNG compression level #832

Workflow file for this run

name: Build
on:
pull_request:
push:
branches:
- 'master'
tags:
- '*'
jobs:
build:
runs-on: ${{ matrix.os || 'ubuntu-latest' }}
strategy:
fail-fast: false
matrix:
label:
- Linux powerpc
- Linux powerpc64
- Linux s390x
- Linux sparc64
include:
- label: Linux powerpc
target: powerpc-unknown-linux-gnu
auto_splitting: skip
- label: Linux powerpc64
target: powerpc64-unknown-linux-gnu
auto_splitting: skip
- label: Linux s390x
target: s390x-unknown-linux-gnu
software_rendering: skip
# FIXME: Somehow the rendering is messed up on s390x. I didn't look
# into what the problem is. Might be inaccurate floating point on
# this architecture.
- label: Linux sparc64
target: sparc64-unknown-linux-gnu
auto_splitting: skip
# FIXME: rustls currently does not support sparc64.
networking: skip
steps:
- name: Checkout Commit
uses: actions/checkout@v4
- name: Install Rust
uses: hecrj/setup-rust-action@v2
with:
rust-version: ${{ matrix.toolchain || 'stable' }}
- name: Install Target
if: matrix.install_target != ''
run: rustup target add ${{ matrix.target }}
- name: Download cross
if: matrix.cross == '' && matrix.no_std == ''
uses: robinraju/[email protected]
with:
repository: "cross-rs/cross"
latest: true
fileName: "cross-x86_64-unknown-linux-gnu.tar.gz"
out-file-path: "/home/runner/.cargo/bin"
- name: Install cross
if: matrix.cross == '' && matrix.no_std == ''
run: |
cd ~/.cargo/bin
tar -xzf cross-x86_64-unknown-linux-gnu.tar.gz
- name: Test
if: matrix.tests == ''
run: sh .github/workflows/test.sh
env:
TARGET: ${{ matrix.target }}
SKIP_CROSS: ${{ matrix.cross }}
SKIP_AUTO_SPLITTING: ${{ matrix.auto_splitting }}
SKIP_NETWORKING: ${{ matrix.networking }}
SKIP_SOFTWARE_RENDERING: ${{ matrix.software_rendering }}
- name: Upload screenshots
if: matrix.tests == '' && (success() || failure())
uses: actions/upload-artifact@v4
with:
name: Screenshots ${{ matrix.label }}
path: target/renders
- name: Prepare Release
if: startsWith(github.ref, 'refs/tags/') && matrix.release == ''
shell: bash
run: .github/workflows/before_deploy.sh
env:
OS_NAME: ${{ matrix.os }}
TARGET: ${{ matrix.target }}
- name: Release
if: startsWith(github.ref, 'refs/tags/') && matrix.release == ''
uses: softprops/action-gh-release@v1
with:
files: livesplit-core-*.*
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
bind_gen:
name: Generate bindings
runs-on: ubuntu-latest
steps:
- name: Checkout Commit
uses: actions/checkout@v4
- name: Install Rust
uses: hecrj/setup-rust-action@v2
- name: Generate bindings
run: |
cd capi/bind_gen
cargo run
cd ../..
clippy:
name: Check clippy lints
runs-on: ubuntu-latest
steps:
- name: Checkout Commit
uses: actions/checkout@v4
- name: Install Rust
uses: hecrj/setup-rust-action@v2
with:
components: clippy
- name: Run Clippy
run: cargo clippy --all-features
format:
name: Check formatting
runs-on: ubuntu-latest
steps:
- name: Checkout Commit
uses: actions/checkout@v4
- name: Install Rust
uses: hecrj/setup-rust-action@v2
with:
components: rustfmt
- name: Run cargo fmt
run: cargo fmt -- --check || true
bench:
name: Run benchmarks
runs-on: ubuntu-latest
env:
CRITERION_TOKEN: ${{ secrets.CRITERION_TOKEN }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install Rust
uses: hecrj/setup-rust-action@v2
- name: Run benchmarks
run: |
# run benchmarks and save baseline to "criterion.dev.temp"
cargo bench --all-features -- --verbose --noplot --save-baseline criterion.dev.temp
# # set the path to the file to upload to criterion.dev
# echo "CRITERION_FILE_PATH=$(find ./target/criterion/ -name raw.csv)" >> $GITHUB_ENV
# - name: Upload benchmarks
# run: |
# # upload the file
# curl -F 'raw.csv=@${{ env.CRITERION_FILE_PATH }}' \
# 'https://api.criterion.dev/v1/${{ github.repository }}/measurements?token=${{ secrets.CRITERION_TOKEN }}&commit=${{ github.sha }}'
docs:
name: Generate documentation
if: startsWith(github.ref, 'refs/tags/')
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- name: Use Node 10
uses: actions/setup-node@v1
with:
node-version: '10.x'
- name: Build TypeScript documentation
run: |
cd capi/js
make docs
cd ../..
- name: Upload documentation files
run: |
git config --global user.email "[email protected]"
git config --global user.name "GitHub Action"
git clone -q "https://github.com/LiveSplit/livesplit-core-docs"
cd livesplit-core-docs
rm -r *
mv ../docs/* .
git add .
git commit --amend -m "Update documentation"
git push --force https://action:${{ secrets.LIVESPLIT_CORE_DOCS_UPLOAD }}@github.com/LiveSplit/livesplit-core-docs.git