Skip to content

Added: A cleanup of README and targets inputs for readability. #2

Added: A cleanup of README and targets inputs for readability.

Added: A cleanup of README and targets inputs for readability. #2

name: Test Build Options
on:
schedule:
- cron: "0 0 * * *" # Run daily at midnight
workflow_dispatch:
pull_request:
branches: [v1-master]
paths:
- "action.yml"
- ".github/workflows/test-build-options.yml"
jobs:
test-build-without-native-host-tools:
runs-on: ubuntu-latest
steps:
- name: Checkout Action
uses: actions/checkout@v6
- name: Checkout Test Repository
uses: actions/checkout@v6
with:
repository: Sewer56/prs-rs
ref: 149060527e685360687d7332742ac016b39af8a7
path: test-project
- name: Test Android Armv7 Build
uses: ./
with:
rust-project-path: test-project/tools/cli
crate-name: prs-rs-cli
target: armv7-linux-androideabi
use-cross: true
upload-artifacts: false
# This tests gathering PGO data on a host, and building for a different target.
test-pgo-with-cross-compile:
runs-on: ubuntu-latest
steps:
- name: Checkout Action
uses: actions/checkout@v6
- name: Checkout Test Repository
uses: actions/checkout@v6
with:
repository: Sewer56/prs-rs
ref: 149060527e685360687d7332742ac016b39af8a7
path: test-project
- name: Test PGO with Cross-Compilation (Binary)
uses: ./
with:
rust-project-path: test-project/tools/cli
pgo-project-path: test-project
crate-name: prs-rs-cli
target: aarch64-unknown-linux-gnu # x64 host to aarch64 simulated guest
use-pgo: true
use-cross: true
pgo-benchmark-name: my_benchmark
upload-artifacts: false
- name: Test PGO with Cross-Compilation (Library)
uses: ./
with:
crate-name: prs-rs
rust-project-path: test-project
pgo-project-path: test-project
target: aarch64-unknown-linux-gnu # x64 host to to aarch64 simulated guest
use-pgo: true
use-cross: true
pgo-benchmark-name: my_benchmark
upload-artifacts: false
build-library: true
test-library-feature-build:
runs-on: ubuntu-latest
steps:
- name: Checkout Action
uses: actions/checkout@v6
- name: Checkout Test Repository
uses: actions/checkout@v6
with:
repository: Sewer56/prs-rs
ref: 149060527e685360687d7332742ac016b39af8a7
path: test-project
- name: Test Library Feature Build
uses: ./
with:
crate-name: prs-rs
rust-project-path: test-project
target: x86_64-unknown-linux-gnu
features: c-exports,std
upload-artifacts: false
build-library: true
test-library-no-default-features:
runs-on: ubuntu-latest
steps:
- name: Checkout Action
uses: actions/checkout@v6
- name: Checkout Test Repository
uses: actions/checkout@v6
with:
repository: Sewer56/prs-rs
ref: 149060527e685360687d7332742ac016b39af8a7
path: test-project
- name: Test Library No Default Features
uses: ./
with:
crate-name: prs-rs
rust-project-path: test-project
target: x86_64-unknown-linux-gnu
no-default-features: true
features: std
upload-artifacts: false
build-library: true
test-binary-pgo-with-library:
runs-on: ubuntu-latest
steps:
- name: Checkout Action
uses: actions/checkout@v6
- name: Checkout Test Repository
uses: actions/checkout@v6
with:
repository: Sewer56/prs-rs
ref: 149060527e685360687d7332742ac016b39af8a7
path: test-project
- name: Test Binary PGO with Library
uses: ./
with:
rust-project-path: test-project/tools/cli
pgo-project-path: test-project
crate-name: prs-rs-cli
target: x86_64-unknown-linux-gnu
use-pgo: true
pgo-benchmark-name: my_benchmark
upload-artifacts: false
test-library-pgo:
runs-on: ubuntu-latest
steps:
- name: Checkout Action
uses: actions/checkout@v6
- name: Checkout Test Repository
uses: actions/checkout@v6
with:
repository: Sewer56/prs-rs
ref: 149060527e685360687d7332742ac016b39af8a7
path: test-project
- name: Test Library PGO
uses: ./
with:
crate-name: prs-rs
rust-project-path: test-project
pgo-project-path: test-project
target: x86_64-unknown-linux-gnu
use-pgo: true
pgo-benchmark-name: my_benchmark
upload-artifacts: false
build-library: true
test-custom-rustflags:
runs-on: ubuntu-latest
steps:
- name: Checkout Action
uses: actions/checkout@v6
- name: Checkout Test Repository
uses: actions/checkout@v6
with:
repository: Sewer56/prs-rs
ref: 149060527e685360687d7332742ac016b39af8a7
path: test-project
- name: Test Custom RUSTFLAGS (Binary)
uses: ./
with:
rust-project-path: test-project/tools/cli
crate-name: prs-rs-cli
target: x86_64-unknown-linux-gnu
additional-rustflags: -C opt-level=3
upload-artifacts: false
- name: Test Custom RUSTFLAGS (Library)
uses: ./
with:
crate-name: prs-rs
rust-project-path: test-project
target: x86_64-unknown-linux-gnu
additional-rustflags: -C opt-level=3
upload-artifacts: false
build-library: true
test-custom-build-std:
runs-on: ubuntu-latest
steps:
- name: Checkout Action
uses: actions/checkout@v6
- name: Checkout Test Repository
uses: actions/checkout@v6
with:
repository: Sewer56/prs-rs
ref: 149060527e685360687d7332742ac016b39af8a7
path: test-project
- name: Test Custom RUSTFLAGS (Binary)
uses: ./
with:
rust-project-path: test-project/tools/cli
crate-name: prs-rs-cli
target: x86_64-unknown-linux-gnu
additional-rustflags: -C opt-level=3
upload-artifacts: false
size-optimized-std: true
- name: Test Custom RUSTFLAGS (Library)
uses: ./
with:
crate-name: prs-rs
rust-project-path: test-project
target: x86_64-unknown-linux-gnu
additional-rustflags: -C opt-level=3
upload-artifacts: false
build-library: true
size-optimized-std: true
test-custom-rustc-args:
runs-on: ubuntu-latest
steps:
- name: Checkout Action
uses: actions/checkout@v6
- name: Checkout Test Repository
uses: actions/checkout@v6
with:
repository: Sewer56/prs-rs
ref: 149060527e685360687d7332742ac016b39af8a7
path: test-project
- name: Test Custom rustc Args (Binary)
uses: ./
with:
rust-project-path: test-project/tools/cli
crate-name: prs-rs-cli
target: x86_64-unknown-linux-gnu
additional-rustc-args: --all-features
upload-artifacts: false
# Can build a project in a workspace.
# It's important caching works for both projects here; so check logs even
# if this passes.
test-workspace-build:
runs-on: ubuntu-latest
steps:
- name: Checkout Action
uses: actions/checkout@v6
- name: Checkout Test Repository
uses: actions/checkout@v6
with:
repository: Sewer56/dxt-lossless-transform
ref: d47afd9a7c2fa71495b6d942853b0fe41f258e26
path: test-project
- name: Test Workspace Build (API)
uses: ./
with:
rust-project-path: test-project/projects/dxt-lossless-transform-api
workspace-path: "test-project"
crate-name: dxt-lossless-transform-api
target: x86_64-unknown-linux-gnu
upload-artifacts: true
test-workspace-build-2:
runs-on: ubuntu-latest
steps:
- name: Checkout Action
uses: actions/checkout@v6
- name: Checkout Test Repository
uses: actions/checkout@v6
with:
repository: Sewer56/dxt-lossless-transform
ref: d47afd9a7c2fa71495b6d942853b0fe41f258e26
path: test-project
- name: Test Workspace Build (CLI)
uses: ./
with:
rust-project-path: test-project/projects/dxt-lossless-transform-cli
workspace-path: "test-project"
crate-name: dxt-lossless-transform-cli
target: x86_64-unknown-linux-gnu
upload-artifacts: true
test-specific-nightly:
runs-on: ubuntu-latest
steps:
- name: Checkout Action
uses: actions/checkout@v6
- name: Checkout Test Repository
uses: actions/checkout@v6
with:
repository: Sewer56/prs-rs
ref: 149060527e685360687d7332742ac016b39af8a7
path: test-project
- name: Test with Specific Nightly
uses: ./
with:
rust-project-path: test-project/tools/cli
crate-name: prs-rs-cli
target: x86_64-unknown-linux-gnu
rust-toolchain: nightly-2025-09-11
upload-artifacts: false