mirror of
https://github.com/zama-ai/tfhe-rs.git
synced 2026-01-09 14:47:56 -05:00
121 lines
3.3 KiB
YAML
121 lines
3.3 KiB
YAML
name: Tests on M1 CPU
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
pull_request:
|
|
types: [labeled]
|
|
# Have a nightly build for M1 tests
|
|
schedule:
|
|
# * is a special character in YAML so you have to quote this string
|
|
# At 22:00 every day
|
|
# Timezone is UTC, so Paris time is +2 during the summer and +1 during winter
|
|
- cron: '0 22 * * *'
|
|
|
|
env:
|
|
CARGO_TERM_COLOR: always
|
|
RUSTFLAGS: "-C target-cpu=native"
|
|
ACTION_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
|
|
CARGO_PROFILE: release_lto_off
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.head_ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
cargo-builds:
|
|
if: "github.event_name != 'pull_request' || contains(github.event.label.name, 'm1_test')"
|
|
runs-on: ["self-hosted", "m1mac"]
|
|
|
|
steps:
|
|
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9
|
|
|
|
- name: Install latest stable
|
|
uses: actions-rs/toolchain@16499b5e05bf2e26879000db0c1d13f7e13fa3af
|
|
with:
|
|
toolchain: stable
|
|
default: true
|
|
|
|
- name: Run pcc checks
|
|
run: |
|
|
make pcc
|
|
|
|
- name: Build Release core
|
|
run: |
|
|
make build_core
|
|
|
|
- name: Build Release boolean
|
|
run: |
|
|
make build_boolean
|
|
|
|
- name: Build Release shortint
|
|
run: |
|
|
make build_shortint
|
|
|
|
- name: Build Release integer
|
|
run: |
|
|
make build_integer
|
|
|
|
- name: Build Release tfhe full
|
|
run: |
|
|
make build_tfhe_full
|
|
|
|
- name: Build Release c_api
|
|
run: |
|
|
make build_c_api
|
|
|
|
- name: Run core tests
|
|
run: |
|
|
make test_core_crypto
|
|
|
|
- name: Run boolean tests
|
|
run: |
|
|
make test_boolean
|
|
|
|
- name: Run C API tests
|
|
run: |
|
|
make test_c_api
|
|
|
|
- name: Run user docs tests
|
|
run: |
|
|
make test_user_doc
|
|
|
|
# JS tests are more easily launched in docker, we won't test that on M1 as docker is pretty
|
|
# slow on Apple machines due to the virtualization layer.
|
|
|
|
- name: Gen Keys if required
|
|
run: |
|
|
make gen_key_cache
|
|
|
|
- name: Run shortint tests
|
|
run: |
|
|
make test_shortint_ci
|
|
|
|
# For now integer tests are too long to realistically run them on the M1 mac
|
|
# - name: Run integer tests
|
|
# run: |
|
|
# make test_integer_ci
|
|
|
|
remove_label:
|
|
name: Remove m1_test label
|
|
runs-on: ubuntu-latest
|
|
needs:
|
|
- cargo-builds
|
|
if: ${{ always() }}
|
|
steps:
|
|
- uses: actions-ecosystem/action-remove-labels@2ce5d41b4b6aa8503e285553f75ed56e0a40bae0
|
|
with:
|
|
labels: m1_test
|
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
- name: Slack Notification
|
|
if: ${{ needs.cargo-builds.result != 'skipped' }}
|
|
continue-on-error: true
|
|
uses: rtCamp/action-slack-notify@12e36fc18b0689399306c2e0b3e0f2978b7f1ee7
|
|
env:
|
|
SLACK_COLOR: ${{ needs.cargo-builds.result }}
|
|
SLACK_CHANNEL: ${{ secrets.SLACK_CHANNEL }}
|
|
SLACK_ICON: https://pbs.twimg.com/profile_images/1274014582265298945/OjBKP9kn_400x400.png
|
|
SLACK_MESSAGE: "M1 tests finished with status: ${{ needs.cargo-builds.result }}. (${{ env.ACTION_RUN_URL }})"
|
|
SLACK_USERNAME: ${{ secrets.BOT_USERNAME }}
|
|
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
|