mirror of
https://github.com/flatcar/scripts.git
synced 2026-05-05 04:06:33 +02:00
.github: Port rust update action from old coreos-overlay
This commit is contained in:
parent
5aee2d4849
commit
165e99713b
40
.github/workflows/rust-apply-patch.sh
vendored
Executable file
40
.github/workflows/rust-apply-patch.sh
vendored
Executable file
@ -0,0 +1,40 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
source "${GHA_SCRIPTS_DIR}/.github/workflows/common.sh"
|
||||
|
||||
prepare_git_repo
|
||||
|
||||
pushd "${SDK_OUTER_OVERLAY}"
|
||||
|
||||
VERSION_OLD=$(sed -n "s/^DIST rustc-\(1\.[0-9]*\.[0-9]*\).*/\1/p" dev-lang/rust/Manifest | sort -ruV | head -n1)
|
||||
if [[ "${VERSION_NEW}" = "${VERSION_OLD}" ]]; then
|
||||
echo "already the latest Rust, nothing to do"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Replace (dev-lang/virtual)/rust versions in profiles/, e.g. package.accept_keywords.
|
||||
# Try to match all kinds of version specifiers, e.g. >=, <=, =, ~.
|
||||
find profiles -name 'package.*' | xargs sed -i "s/\([><]*=\|~\)*dev-lang\/rust-\S\+/\1dev-lang\/rust-${VERSION_NEW}/"
|
||||
find profiles -name 'package.*' | xargs sed -i "s/\([><]*=\|~\)*virtual\/rust-\S\+/\1virtual\/rust-${VERSION_NEW}/"
|
||||
|
||||
EBUILD_FILENAME=$(get_ebuild_filename dev-lang/rust "${VERSION_OLD}")
|
||||
git mv "${EBUILD_FILENAME}" "dev-lang/rust/rust-${VERSION_NEW}.ebuild"
|
||||
EBUILD_FILENAME=$(get_ebuild_filename virtual/rust "${VERSION_OLD}")
|
||||
git mv "${EBUILD_FILENAME}" "virtual/rust/rust-${VERSION_NEW}.ebuild"
|
||||
|
||||
popd
|
||||
|
||||
URL="https://github.com/rust-lang/rust/releases/tag/${VERSION_NEW}"
|
||||
|
||||
generate_update_changelog 'Rust' "${VERSION_NEW}" "${URL}" 'rust'
|
||||
|
||||
commit_changes dev-lang/rust "${VERSION_OLD}" "${VERSION_NEW}" \
|
||||
profiles \
|
||||
virtual/rust
|
||||
|
||||
cleanup_repo
|
||||
|
||||
echo "VERSION_OLD=${VERSION_OLD}" >>"${GITHUB_OUTPUT}"
|
||||
echo 'UPDATE_NEEDED=1' >>"${GITHUB_OUTPUT}"
|
||||
47
.github/workflows/rust-release-main.yaml
vendored
Normal file
47
.github/workflows/rust-release-main.yaml
vendored
Normal file
@ -0,0 +1,47 @@
|
||||
name: Get the latest Rust release for main
|
||||
on:
|
||||
schedule:
|
||||
- cron: '20 7 * * 2'
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
get-rust-release:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Check out scripts
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
path: scripts
|
||||
- name: Figure out latest Rust release version
|
||||
id: rust-latest-release
|
||||
run: |
|
||||
version=$(git ls-remote --tags 'https://github.com/rust-lang/rust' | cut -f2 | sed -n "/refs\/tags\/1\.[0-9]*\.[0-9]*$/s/^refs\/tags\///p" | sort -ruV | head -n1)
|
||||
echo "VERSION_NEW=${version}" >>"${GITHUB_OUTPUT}"
|
||||
- name: Set up Flatcar SDK
|
||||
id: setup-flatcar-sdk
|
||||
env:
|
||||
WORK_SCRIPTS_DIR: "${{ github.workspace }}/scripts"
|
||||
CHANNEL: main
|
||||
run: scripts/.github/workflows/setup-flatcar-sdk.sh
|
||||
- name: Apply patch for main
|
||||
id: apply-patch-main
|
||||
env:
|
||||
GHA_SCRIPTS_DIR: "${{ github.workspace }}/scripts"
|
||||
WORK_SCRIPTS_DIR: "${{ github.workspace }}/scripts"
|
||||
VERSION_NEW: ${{ steps.rust-latest-release.outputs.VERSION_NEW }}
|
||||
PACKAGES_CONTAINER: ${{ steps.setup-flatcar-sdk.outputs.PACKAGES_CONTAINER }}
|
||||
SDK_NAME: ${{ steps.setup-flatcar-sdk.outputs.SDK_NAME }}
|
||||
run: scripts/.github/workflows/rust-apply-patch.sh
|
||||
- name: Create pull request for main
|
||||
id: create-pull-request
|
||||
uses: peter-evans/create-pull-request@v5
|
||||
if: steps.apply-patch-main.outputs.UPDATE_NEEDED == 1
|
||||
with:
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
path: scripts
|
||||
branch: rust-${{ steps.rust-latest-release.outputs.VERSION_NEW }}-main
|
||||
base: main
|
||||
title: Upgrade dev-lang/rust and virtual/rust in main from ${{ steps.apply-patch-main.outputs.VERSION_OLD }} to ${{ steps.rust-latest-release.outputs.VERSION_NEW }}
|
||||
body: Subject says it all.
|
||||
labels: main
|
||||
Loading…
x
Reference in New Issue
Block a user