diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 87f9470b..b3ea1498 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -22,28 +22,12 @@ jobs: - name: Does init() in platform/src/lib.rs contain all roc_fx functions? (Imperfect check) run: cat platform/src/lib.rs | grep -oP 'roc_fx_[^(\s]*' | sort | uniq -u | grep -q . && exit 1 || exit 0 - - name: Downloading latest roc nightly - run: | - if [[ "${{ runner.os }}-${{ runner.arch }}" == "Linux-ARM64" ]]; then - curl -fOL https://github.com/roc-lang/roc/releases/download/nightly/roc_nightly-linux_arm64-latest.tar.gz - elif [[ "${{ runner.os }}" == "macOS" ]]; then - curl -fOL https://github.com/roc-lang/roc/releases/download/nightly/roc_nightly-macos_apple_silicon-latest.tar.gz - else - curl -fOL https://github.com/roc-lang/roc/releases/download/nightly/roc_nightly-linux_x86_64-latest.tar.gz - fi - - - name: rename nightly tar - run: mv $(ls | grep "roc_nightly.*tar\.gz") roc_nightly.tar.gz - - - name: decompress the tar - run: tar -xzf roc_nightly.tar.gz - - - run: rm roc_nightly.tar.gz - - - name: simplify nightly folder name - run: mv roc_nightly* roc_nightly + - uses: roc-lang/setup-roc@39c354a6a838a0089eea9068a0414f49b62c5c08 + with: + # Note: nightly hashes are not verified because they are updated regularly. + version: nightly - - run: ./roc_nightly/roc version + - run: roc version - name: Install dependencies (Ubuntu) if: startsWith(matrix.os, 'ubuntu-') @@ -60,7 +44,7 @@ jobs: - run: expect -v - name: Run all tests - run: ROC=./roc_nightly/roc EXAMPLES_DIR=./examples/ ./ci/all_tests.sh + run: ROC=roc EXAMPLES_DIR=./examples/ ./ci/all_tests.sh - name: Install dependencies for musl build if: startsWith(matrix.os, 'ubuntu-') @@ -76,7 +60,7 @@ jobs: - name: Test building with musl target if: startsWith(matrix.os, 'ubuntu-') env: - ROC: ./roc_nightly/roc + ROC: roc run: | if [[ "${{ matrix.os}}" == *"-arm" ]]; then # TODO debug this: CARGO_BUILD_TARGET=aarch64-unknown-linux-musl $ROC build.roc @@ -90,5 +74,5 @@ jobs: run: | # TODO remove `if` when above TODOs are done if [[ "${{ matrix.os }}" != *"-arm" ]]; then - NO_BUILD=1 IS_MUSL=1 ROC=./roc_nightly/roc EXAMPLES_DIR=./examples/ ./ci/all_tests.sh + NO_BUILD=1 IS_MUSL=1 ROC=roc EXAMPLES_DIR=./examples/ ./ci/all_tests.sh fi diff --git a/.github/workflows/ci_nix.yml b/.github/workflows/ci_nix.yml index c35a1120..6c1561c6 100644 --- a/.github/workflows/ci_nix.yml +++ b/.github/workflows/ci_nix.yml @@ -15,8 +15,8 @@ jobs: strategy: fail-fast: false matrix: - # macos-13 uses x86-64 machine, macos-14 & 15 use aarch64 - os: [macos-13, macos-15, ubuntu-22.04, ubuntu-24.04-arm] + # macos-15-intel uses x86-64 machine, macos-14 & 15 use aarch64 + os: [macos-15-intel, macos-15, ubuntu-22.04, ubuntu-24.04-arm] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml index b8bbee34..c72bec1b 100644 --- a/.github/workflows/deploy-docs.yml +++ b/.github/workflows/deploy-docs.yml @@ -37,18 +37,12 @@ jobs: - name: Setup Pages uses: actions/configure-pages@v5 - - name: Downloading latest roc nightly - run: | - curl -fOL https://github.com/roc-lang/roc/releases/download/nightly/roc_nightly-linux_x86_64-latest.tar.gz - - - name: prep nightly tar for use - run: | - mv $(ls | grep "roc_nightly.*tar\.gz") roc_nightly.tar.gz - tar -xzf roc_nightly.tar.gz - rm roc_nightly.tar.gz - mv roc_nightly* roc_nightly + - uses: roc-lang/setup-roc@39c354a6a838a0089eea9068a0414f49b62c5c08 + with: + # Note: nightly hashes are not verified because they are updated regularly. + version: nightly - - run: ./roc_nightly/roc version + - run: roc version - name: Create temp directory for docs run: mkdir -p ./temp_docs @@ -101,7 +95,7 @@ jobs: env: ROC_DOCS_URL_ROOT: /basic-cli/main run: | - ./roc_nightly/roc docs ./platform/main.roc + roc docs ./platform/main.roc mkdir -p "./temp_docs/main"