fix(ci): fix secret on CI checkout #3653
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: 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" | |
RUST_BACKTRACE: "full" | |
RUST_MIN_STACK: "8388608" | |
ACTION_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} | |
FAST_TESTS: "TRUE" | |
# We clear the cache to reduce memory pressure because of the numerous processes of cargo | |
# nextest | |
TFHE_RS_CLEAR_IN_MEMORY_KEY_CACHE: "1" | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref }} | |
cancel-in-progress: true | |
jobs: | |
cargo-builds: | |
if: ${{ (github.event_name == 'schedule' && github.repository == 'zama-ai/tfhe-rs') || github.event_name == 'workflow_dispatch' || contains(github.event.label.name, 'm1_test') }} | |
runs-on: ["self-hosted", "m1mac"] | |
# 12 hours, default is 6 hours, hopefully this is more than enough | |
timeout-minutes: 720 | |
steps: | |
- uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 | |
with: | |
persist-credentials: 'false' | |
- name: Install latest stable | |
uses: dtolnay/rust-toolchain@7b1c307e0dcbda6122208f10795a713336a9b35a | |
with: | |
toolchain: stable | |
- name: Run pcc checks | |
run: | | |
make pcc | |
- name: Build concrete-csprng | |
run: | | |
make build_concrete_csprng | |
- 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 concrete-csprng tests | |
run: | | |
make test_concrete_csprng | |
- name: Run tfhe-zk-pok tests | |
run: | | |
make test_zk_pok | |
- name: Run core tests | |
run: | | |
make test_core_crypto | |
- name: Run boolean tests | |
run: | | |
make test_boolean | |
# Because we do "illegal" things with the build system which Cargo does not seem to like much | |
# we need to clear the cache to make sure the C API is built properly and does not use a stale | |
# cached version | |
- name: Clear build cache | |
run: | | |
cargo clean | |
- 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 | |
- name: Run integer tests | |
run: | | |
make test_integer_ci | |
- name: Gen Keys if required | |
run: | | |
make GEN_KEY_CACHE_MULTI_BIT_ONLY=TRUE gen_key_cache | |
- name: Run shortint multi bit tests | |
run: | | |
make test_shortint_multi_bit_ci | |
- name: Run integer multi bit tests | |
run: | | |
make test_integer_multi_bit_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 | |
if: ${{ github.event_name == 'pull_request' }} | |
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@4e5fb42d249be6a45a298f3c9543b111b02f7907 | |
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 }} |