Skip to content

Test Build Workflow

Test Build Workflow #5

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:
os: [ubuntu-latest, windows-latest, macos-latest]
include:
- os: ubuntu-latest
target: x86_64-unknown-linux-gnu
use-cross: false
- os: ubuntu-latest
target: aarch64-unknown-linux-gnu
use-cross: true
- os: windows-latest
target: x86_64-pc-windows-msvc
use-cross: false
- os: macos-latest
target: x86_64-apple-darwin
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:
rust-project-path: tools/cli/
crate-name: prs-rs-cli
target: ${{ matrix.target }}
use-cross: ${{ matrix.use-cross }}
abort-on-panic: false
upload-artifacts: false
test-library-build:
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
include:
- os: ubuntu-latest
target: x86_64-unknown-linux-gnu
use-cross: false
- os: ubuntu-latest
target: aarch64-unknown-linux-gnu
use-cross: true
- os: windows-latest
target: x86_64-pc-windows-msvc
use-cross: false
- os: macos-latest
target: x86_64-apple-darwin
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-cross: ${{ matrix.use-cross }}
abort-on-panic: false
upload-artifacts: false
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
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: benchmark_name
upload-artifacts: false
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
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
- name: Download Library Artifact
uses: actions/download-artifact@v4
with:
name: prs-rs-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