Initial implementation to add extra info to an object in the project #53
Workflow file for this run
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
on: [push, pull_request, workflow_dispatch] | |
name: CI | |
env: | |
# --cfg=web_sys_unstable_apis is required to enable the web_sys clipboard API which egui_web uses | |
# https://rustwasm.github.io/wasm-bindgen/api/web_sys/struct.Clipboard.html | |
# https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html | |
RUSTFLAGS: --cfg=web_sys_unstable_apis | |
jobs: | |
check: | |
name: Check | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Rust | |
uses: dtolnay/rust-toolchain@stable | |
- name: install Linux dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install libgtk-3-dev | |
- uses: Swatinem/rust-cache@v2 | |
- name: Run wasm32 check | |
run: cargo check --lib --all-features | |
check_wasm: | |
name: Check wasm32 | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Rust | |
uses: dtolnay/rust-toolchain@stable | |
with: | |
targets: wasm32-unknown-unknown | |
- uses: Swatinem/rust-cache@v2 | |
- name: Run wasm32 check | |
run: cargo check --lib --all-features --target=wasm32-unknown-unknown | |
test: | |
name: Test Suite | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Rust | |
uses: dtolnay/rust-toolchain@stable | |
- name: install Linux dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y libgtk-3-dev | |
- uses: Swatinem/rust-cache@v2 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
override: true | |
- name: Run tests | |
run: cargo test --lib | |
fmt: | |
name: Rustfmt | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Rust | |
uses: dtolnay/rust-toolchain@stable | |
with: | |
components: rustfmt | |
- name: install Linux dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y libgtk-3-dev | |
- uses: Swatinem/rust-cache@v2 | |
- name: Run rustfmt | |
run: cargo fmt --all -- --check | |
clippy: | |
name: Clippy | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Rust | |
uses: dtolnay/rust-toolchain@stable | |
with: | |
components: clippy | |
- name: install Linux dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y libgtk-3-dev | |
- uses: Swatinem/rust-cache@v2 | |
- name: Run clippy | |
run: cargo clippy --all-targets --all-features #-- -D warnings | |
trunk: | |
name: trunk | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Rust | |
uses: dtolnay/rust-toolchain@stable | |
with: | |
targets: wasm32-unknown-unknown | |
- name: install Linux dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y libgtk-3-dev | |
- uses: Swatinem/rust-cache@v2 | |
- name: Download and install Trunk binary | |
run: wget -qO- https://github.com/thedodd/trunk/releases/latest/download/trunk-x86_64-unknown-linux-gnu.tar.gz | tar -xzf- | |
- name: Build | |
run: ./trunk build | |
build: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- os: macos-latest | |
target: aarch64-apple-darwin | |
- os: macos-latest | |
target: x86_64-apple-darwin | |
- os: ubuntu-latest | |
target: x86_64-unknown-linux-gnu | |
- os: windows-latest | |
target: x86_64-pc-windows-msvc | |
extension: .exe | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Rust | |
uses: dtolnay/rust-toolchain@stable | |
with: | |
targets: ${{ matrix.target }} | |
- name: install Linux dependencies | |
if: contains(matrix.target, 'unknown-linux') | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y webkit2gtk-4.1 libxdo-dev libayatana-appindicator3-dev | |
- uses: Swatinem/rust-cache@v2 | |
with: | |
key: ${{ matrix.target }} | |
- name: Build | |
run: cargo build --release --target=${{ matrix.target }} | |
- name: Rename | |
run: cp target/${{ matrix.target }}/release/ag-iso-terminal-designer${{ matrix.extension }} AgIsoTerminalDesigner-${{ matrix.target }}${{ matrix.extension }} | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: AgIsoTerminalDesigner-${{ matrix.target }}${{ matrix.extension }} | |
path: AgIsoTerminalDesigner-${{ matrix.target }}${{ matrix.extension }} | |
# release: | |
# needs: build | |
# runs-on: ubuntu-latest | |
# steps: | |
# - name: Checkout | |
# uses: actions/checkout@v4 | |
# - name: Download built CLIs | |
# uses: actions/[email protected] | |
# with: | |
# path: outputs | |
# - uses: svenstaro/upload-release-action@v2 | |
# name: Upload binaries to release | |
# if: ${{ github.event_name == 'push' }} | |
# with: | |
# repo_token: ${{ secrets.GITHUB_TOKEN }} | |
# file: AgIsoTerminalDesigner-${{ matrix.target }}${{ matrix.extension }} | |
# asset_name: AgIsoTerminalDesigner-${{ matrix.target }}${{ matrix.extension }} | |
# tag: ${{ github.ref }} | |
# prerelease: ${{ !startsWith(github.ref, 'refs/tags/') }} | |
# overwrite: true |