From 58f7cfd0993bfe328128879f00406e40e497f34a Mon Sep 17 00:00:00 2001 From: Piepmatz Date: Tue, 11 Mar 2025 14:55:35 +0100 Subject: [PATCH] Test on Beta Toolchain (#15280) # Description In the [Nushell core team meeting 2025-02-19](https://hackmd.io/r3V83bMdQqKMwFxz90nBDg?view) we decided to run tests on the beta toolchain to contribute to the Rust project as a whole. These tests do not need to succeed for us to go further but allow us to investigate if the beta toolchain broke something. # User-Facing Changes None. # Tests + Formatting Just a new workflow. # After Submitting Watch out for modification of this file changing the notified person --- .github/workflows/beta-test.yml | 52 +++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 .github/workflows/beta-test.yml diff --git a/.github/workflows/beta-test.yml b/.github/workflows/beta-test.yml new file mode 100644 index 0000000000..7770c6a83c --- /dev/null +++ b/.github/workflows/beta-test.yml @@ -0,0 +1,52 @@ +name: Test on Beta Toolchain +# This workflow is made to run our tests on the beta toolchain to validate that +# the beta toolchain works. +# We do not intend to test here that we are working correctly but rather that +# the beta toolchain works correctly. +# The ci.yml handles our actual testing with our guarantees. + +on: + schedule: + # If this workflow fails, GitHub notifications will go to the last person + # who edited this line. + # See: https://docs.github.com/en/actions/monitoring-and-troubleshooting-workflows/monitoring-workflows/notifications-for-workflow-runs + - cron: '0 0 * * *' # Runs daily at midnight UTC + +env: + NUSHELL_CARGO_PROFILE: ci + NU_LOG_LEVEL: DEBUG + +concurrency: + group: ${{ github.workflow }}-${{ github.head_ref && github.ref || github.run_id }} + cancel-in-progress: true + +jobs: + build-and-test: + # this job is more for testing the beta toolchain and not our tests, so if + # this fails but the tests of the regular ci pass, then this is fine + continue-on-error: true + + strategy: + fail-fast: true + matrix: + platform: [windows-latest, macos-latest, ubuntu-22.04] + + runs-on: ${{ matrix.platform }} + + steps: + - uses: actions/checkout@v4 + + - run: rustup update beta + + - name: Tests + run: cargo +beta test --workspace --profile ci --exclude nu_plugin_* + - name: Check for clean repo + shell: bash + run: | + if [ -n "$(git status --porcelain)" ]; then + echo "there are changes"; + git status --porcelain + exit 1 + else + echo "no changes in working directory"; + fi