Test Build Workflow #22
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
name: Test Build Workflow | |
on: | |
schedule: | |
- cron: '0 0 * * *' # Run daily at midnight | |
workflow_dispatch: | |
push: | |
branches: [ master ] | |
tags: | |
- 'v1' | |
paths: | |
- 'action.yml' | |
- '.github/workflows/test-build-workflow.yml' | |
pull_request: | |
branches: [ master ] | |
paths: | |
- 'action.yml' | |
- '.github/workflows/test-build-workflow.yml' | |
jobs: | |
test-binary-build: | |
strategy: | |
matrix: | |
include: | |
- os: ubuntu-latest | |
target: x86_64-unknown-linux-gnu | |
use-pgo: true | |
use-cross: false | |
- os: ubuntu-latest | |
target: i686-unknown-linux-gnu | |
use-pgo: true | |
use-cross: false | |
- os: ubuntu-latest | |
target: aarch64-unknown-linux-gnu | |
use-pgo: false # no native runner | |
use-cross: true | |
- os: ubuntu-latest | |
target: armv7-unknown-linux-gnueabihf | |
use-pgo: false # no native runner | |
use-cross: true | |
- os: windows-latest | |
target: x86_64-pc-windows-msvc | |
use-pgo: true | |
use-cross: false | |
- os: windows-latest | |
target: i686-pc-windows-msvc | |
use-pgo: true | |
use-cross: false | |
- os: windows-latest | |
target: aarch64-pc-windows-msvc | |
use-pgo: false # no native runner | |
use-cross: false | |
- os: macos-13 # x86 | |
target: x86_64-apple-darwin | |
use-pgo: true | |
use-cross: false | |
- os: macos-14 # M1 | |
target: aarch64-apple-darwin | |
use-pgo: true | |
use-cross: false | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout Test Repository | |
uses: actions/checkout@v4 | |
with: | |
repository: Sewer56/prs-rs | |
ref: d08599ed5473616f57d57a0966939e1a5dbda9b4 | |
- name: Test Binary Build | |
uses: Reloaded-Project/devops-rust-lightweight-binary@v1 | |
with: | |
target: ${{ matrix.target }} | |
use-pgo: ${{ matrix.use-pgo }} | |
use-cross: ${{ matrix.use-cross }} | |
rust-project-path: "tools/cli/" | |
crate-name: "prs-rs-cli" | |
upload-artifacts: false | |
test-library-build: | |
strategy: | |
matrix: | |
include: | |
- os: ubuntu-latest | |
target: x86_64-unknown-linux-gnu | |
use-pgo: true | |
use-cross: false | |
- os: ubuntu-latest | |
target: i686-unknown-linux-gnu | |
use-pgo: true | |
use-cross: false | |
- os: ubuntu-latest | |
target: aarch64-unknown-linux-gnu | |
use-pgo: false # no native runner | |
use-cross: true | |
- os: ubuntu-latest | |
target: armv7-unknown-linux-gnueabihf | |
use-pgo: false # no native runner | |
use-cross: true | |
- os: windows-latest | |
target: x86_64-pc-windows-msvc | |
use-pgo: true | |
use-cross: false | |
- os: windows-latest | |
target: i686-pc-windows-msvc | |
use-pgo: true | |
use-cross: false | |
- os: windows-latest | |
target: aarch64-pc-windows-msvc | |
use-pgo: false # no native runner | |
use-cross: false | |
- os: macos-13 # x86 | |
target: x86_64-apple-darwin | |
use-pgo: true | |
use-cross: false | |
- os: macos-14 # M1 | |
target: aarch64-apple-darwin | |
use-pgo: true | |
use-cross: false | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout Test Repository | |
uses: actions/checkout@v4 | |
with: | |
repository: Sewer56/prs-rs | |
ref: d08599ed5473616f57d57a0966939e1a5dbda9b4 | |
- name: Test Library Build | |
uses: Reloaded-Project/devops-rust-lightweight-binary@v1 | |
with: | |
crate-name: prs-rs | |
target: ${{ matrix.target }} | |
use-pgo: ${{ matrix.use-pgo }} | |
use-cross: ${{ matrix.use-cross }} | |
features: "c-exports" | |
build-library: 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 Test Repository | |
uses: actions/checkout@v4 | |
with: | |
repository: Sewer56/prs-rs | |
ref: d08599ed5473616f57d57a0966939e1a5dbda9b4 | |
- name: Test PGO with Cross-Compilation (Binary) | |
uses: Reloaded-Project/devops-rust-lightweight-binary@v1 | |
with: | |
rust-project-path: tools/cli/ | |
pgo-project-path: . | |
crate-name: prs-rs-cli | |
target: aarch64-unknown-linux-gnu # x64 to aarch64 | |
use-pgo: true | |
use-cross: false | |
pgo-benchmark-name: my_benchmark | |
upload-artifacts: false | |
- name: Test PGO with Cross-Compilation (Library) | |
uses: Reloaded-Project/devops-rust-lightweight-binary@v1 | |
with: | |
crate-name: prs-rs | |
target: aarch64-unknown-linux-gnu # x64 to aarch64 | |
use-pgo: true | |
use-cross: false | |
pgo-benchmark-name: my_benchmark | |
upload-artifacts: false | |
build-library: true | |
test-library-feature-build: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout Test Repository | |
uses: actions/checkout@v4 | |
with: | |
repository: Sewer56/prs-rs | |
ref: d08599ed5473616f57d57a0966939e1a5dbda9b4 | |
- name: Test Library Feature Build | |
uses: Reloaded-Project/devops-rust-lightweight-binary@v1 | |
with: | |
crate-name: prs-rs | |
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 Test Repository | |
uses: actions/checkout@v4 | |
with: | |
repository: Sewer56/prs-rs | |
ref: d08599ed5473616f57d57a0966939e1a5dbda9b4 | |
- name: Test Library No Default Features | |
uses: Reloaded-Project/devops-rust-lightweight-binary@v1 | |
with: | |
crate-name: prs-rs | |
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 Test Repository | |
uses: actions/checkout@v4 | |
with: | |
repository: Sewer56/prs-rs | |
ref: d08599ed5473616f57d57a0966939e1a5dbda9b4 | |
- name: Test Binary PGO with Library | |
uses: Reloaded-Project/devops-rust-lightweight-binary@v1 | |
with: | |
rust-project-path: tools/cli/ | |
pgo-project-path: . | |
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 Test Repository | |
uses: actions/checkout@v4 | |
with: | |
repository: Sewer56/prs-rs | |
ref: d08599ed5473616f57d57a0966939e1a5dbda9b4 | |
- name: Test Library PGO | |
uses: Reloaded-Project/devops-rust-lightweight-binary@v1 | |
with: | |
crate-name: prs-rs | |
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 Test Repository | |
uses: actions/checkout@v4 | |
with: | |
repository: Sewer56/prs-rs | |
ref: d08599ed5473616f57d57a0966939e1a5dbda9b4 | |
- name: Test Custom RUSTFLAGS (Binary) | |
uses: Reloaded-Project/devops-rust-lightweight-binary@v1 | |
with: | |
rust-project-path: 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: Reloaded-Project/devops-rust-lightweight-binary@v1 | |
with: | |
crate-name: prs-rs | |
target: x86_64-unknown-linux-gnu | |
additional-rustflags: -C opt-level=3 | |
upload-artifacts: false | |
build-library: true | |
test-artifact-upload: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout Test Repository | |
uses: actions/checkout@v4 | |
with: | |
repository: Sewer56/prs-rs | |
ref: d08599ed5473616f57d57a0966939e1a5dbda9b4 | |
- name: Test Artifact Upload (Binary) | |
uses: Reloaded-Project/devops-rust-lightweight-binary@v1 | |
with: | |
rust-project-path: tools/cli/ | |
crate-name: prs-rs-cli | |
target: x86_64-unknown-linux-gnu | |
- name: Download Binary Artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: prs-rs-cli-x86_64-unknown-linux-gnu- | |
- name: Assert Binary Artifact | |
shell: bash | |
run: | | |
if [ ! -f prs-rs-cli ]; then | |
echo "Binary artifact not found" | |
exit 1 | |
fi | |
- name: Test Artifact Upload (Library) | |
uses: Reloaded-Project/devops-rust-lightweight-binary@v1 | |
with: | |
crate-name: prs-rs | |
target: x86_64-unknown-linux-gnu | |
build-library: true | |
- name: Download Library Artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: C-Library-x86_64-unknown-linux-gnu- | |
- name: Assert Library Artifact | |
shell: bash | |
run: | | |
if [ ! -f libprs_rs.a ] || [ ! -f libprs_rs.so ]; then | |
echo "Library artifacts not found" | |
exit 1 | |
fi |