diff --git a/.github/workflows/update-rust-toolchain.yml b/.github/workflows/update-rust-toolchain.yml index 83a502d0..8dd1610c 100644 --- a/.github/workflows/update-rust-toolchain.yml +++ b/.github/workflows/update-rust-toolchain.yml @@ -11,17 +11,11 @@ jobs: steps: - name: Checkout repository uses: actions/checkout@v3 - - name: Install Nix - uses: cachix/install-nix-action@v16 - with: - nix_path: nixpkgs=channel:nixos-unstable - extra_nix_config: | - access-tokens = github.com=${{ secrets.GITHUB_TOKEN }} - name: update rust toolchain id: urt uses: a-kenji/update-rust-toolchain@main with: - minor-version-delta: 1 + minor-version-delta: 2 labels: | dependencies automated diff --git a/assets/scripts/update-toolchain.sh b/assets/scripts/update-toolchain.sh deleted file mode 100755 index fe027659..00000000 --- a/assets/scripts/update-toolchain.sh +++ /dev/null @@ -1,68 +0,0 @@ -#!/usr/bin/env bash -set -euo pipefail -# dependencies: bash, curl, jq -# -# Updates a rust-toolchain file in relation to the official rust releases. - -# How many minor versions delta there should be, -# will automatically advance patch versions. -MINOR_DELTA=2 -RUST_TOOLCHAIN_VERSION=$(grep -oP 'channel = "\K[^"]+' "./rust-toolchain") -#RUST_TOOLCHAIN_FILE=../../rust-toolchain -RUST_TOOLCHAIN_FILE=./rust-toolchain - -# update with new version number -update_channel(){ -printf \ -" -# This file is updated by \`update-toolchain.sh\` -# We aim to be around 1-2 rust releases behind in order -# to get people the time to update their toolchains properly. -# By enforcing this, we can also make full use of the features -# provided by the current channel. - -" -sed -e "/channel/s/\".*\"/\"$1\"/" "${RUST_TOOLCHAIN_FILE}" -} - -get_last_no_releases() { - curl --silent "https://api.github.com/repos/rust-lang/rust/releases" | \ - jq '.[range(20)].tag_name' | sed -e 's/\"//g' -} - -function parse_semver() { - local token="$1" - local major=0 - local minor=0 - local patch=0 - - if grep -E '^[0-9]+\.[0-9]+\.[0-9]+' <<<"$token" >/dev/null 2>&1 ; then - local n=${token//[!0-9]/ } - local a=(${n//\./ }) - major=${a[0]} - minor=${a[1]} - patch=${a[2]} - fi - - echo "$major $minor $patch" -} -function get_string_arrary() { - IFS=' ' read -r -a array <<< "$1"; - echo "${array["${2}"]}" -} - -RUST_TOOLCHAIN_VERSION="$(parse_semver $(echo $RUST_TOOLCHAIN_VERSION))" -TARGET_TOOLCHAIN_MINOR_VERSION=$(($(get_string_arrary "${RUST_TOOLCHAIN_VERSION}" 1) - MINOR_DELTA)) - -LATEST=0 -for i in $(get_last_no_releases);do - SEMVER=($(parse_semver "$i")) - if [ "$LATEST" != "${SEMVER[1]}" ];then - MINOR_DELTA=$((MINOR_DELTA - 1)) - fi - LATEST="${SEMVER[1]}" - if [ -1 == "${MINOR_DELTA}" ];then - echo "$(update_channel "$i")"> ${RUST_TOOLCHAIN_FILE} - exit - fi -done