nightly #172
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
# Nightly sanity checks | |
name: nightly | |
on: | |
workflow_dispatch: {} | |
# Once per day at 00:00 UTC | |
schedule: | |
- cron: "0 0 * * *" | |
jobs: | |
unused-dependencies: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
repository: argumentcomputer/ci-workflows | |
- uses: ./.github/actions/ci-env | |
- uses: actions/checkout@v4 | |
- name: Setup CI | |
uses: ./.github/actions/setup | |
with: | |
pull_token: ${{ secrets.REPO_TOKEN }} | |
perf: false | |
- uses: taiki-e/install-action@cargo-udeps | |
# Normally running cargo-udeps requires use of a nightly compiler | |
# In order to have a more stable and less noisy experience, lets instead | |
# opt to use the stable toolchain specified via the 'rust-toolchain' file | |
# and instead enable nightly features via 'RUSTC_BOOTSTRAP' | |
- name: run cargo-udeps | |
run: RUSTC_BOOTSTRAP=1 cargo udeps --workspace --all-targets | |
- uses: JasonEtco/create-an-issue@v2 | |
if: ${{ failure() }} | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
WORKFLOW_URL: | |
${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} | |
with: | |
update_existing: true | |
filename: .github/templates/UNUSED_DEPS.md | |
linux-exhaustive: | |
name: Exhaustive tests on ${{ matrix.arch }} | |
runs-on: ${{ matrix.runner }} | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- runner: warp-ubuntu-latest-arm64-32x | |
arch: ARM | |
- runner: warp-ubuntu-latest-x64-32x | |
arch: x86 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
repository: argumentcomputer/ci-workflows | |
- uses: ./.github/actions/ci-env | |
- uses: actions/checkout@v4 | |
- name: Setup CI | |
uses: ./.github/actions/setup | |
with: | |
pull_token: ${{ secrets.REPO_TOKEN }} | |
- name: Run exhaustive tests | |
run: | | |
cargo nextest run --cargo-profile dev-ci --profile ci --workspace --features "plonk" --run-ignored all -E 'all()' | |
- name: Open an issue on failure | |
if: failure() | |
uses: JasonEtco/create-an-issue@v2 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
GIT_COMMIT: ${{ github.sha }} | |
WORKFLOW_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} | |
with: | |
update_existing: true | |
filename: .github/templates/NIGHTLY_TESTS.md | |
prove: | |
name: Prove integration tests and examples | |
runs-on: warp-ubuntu-latest-x64-32x | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
repository: argumentcomputer/ci-workflows | |
- uses: ./.github/actions/ci-env | |
- uses: actions/checkout@v4 | |
- name: Setup CI | |
uses: ./.github/actions/setup | |
with: | |
pull_token: ${{ secrets.REPO_TOKEN }} | |
- name: Install deps | |
run: sudo apt update && sudo apt install cmake -y | |
- name: Install `cargo-prove` toolchain | |
run: | | |
cargo install --locked --path ./cli | |
cargo prove install-toolchain | |
working-directory: ${{ github.workspace }} | |
- name: Prove example scripts | |
run: | | |
make | |
for i in $(find ./ -maxdepth 1 -mindepth 1 -type d); do | |
cd "$i/script" | |
cargo run --release | |
cd ../../ | |
done | |
working-directory: ${{ github.workspace }}/examples | |
- name: Build integration tests | |
run: make | |
working-directory: ${{ github.workspace }}/tests | |
- name: Open an issue on failure | |
if: failure() | |
uses: JasonEtco/create-an-issue@v2 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
GIT_COMMIT: ${{ github.sha }} | |
WORKFLOW_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} | |
with: | |
update_existing: true | |
filename: .github/templates/NIGHTLY_TESTS.md |