Skip to content
Snippets Groups Projects
Commit 3b33743e authored by bors's avatar bors
Browse files

Auto merge of #1918 - rust-lang:gha, r=JohnTitor

Serial Experiments GitHub Actions

Let's start the party to close #1582.
parents 2cce5515 9d9d15ed
No related branches found
No related tags found
No related merge requests found
name: CI (bors)
on:
push:
branches:
- auto-libc
- try
jobs:
docker_linux_tier1:
name: Docker Linux Tier1
runs-on: ubuntu-18.04
strategy:
fail-fast: true
matrix:
target: [
i686-unknown-linux-gnu,
x86_64-unknown-linux-gnu,
]
steps:
- uses: rust-lang/simpleinfra/github-actions/cancel-outdated-builds@master
with:
github_token: "${{ secrets.GITHUB_TOKEN }}"
- uses: actions/checkout@v2
- name: Setup Rust toolchain
run: TARGET=${{ matrix.target }} sh ./ci/install-rust.sh
- name: Execute run-docker.sh
run: LIBC_CI=1 sh ./ci/run-docker.sh ${{ matrix.target }}
macos:
name: macOS
runs-on: macos-10.15
strategy:
fail-fast: true
matrix:
target: [
x86_64-apple-darwin,
]
steps:
- uses: rust-lang/simpleinfra/github-actions/cancel-outdated-builds@master
with:
github_token: "${{ secrets.GITHUB_TOKEN }}"
- uses: actions/checkout@v2
- name: Setup Rust toolchain
run: TARGET=${{ matrix.target }} sh ./ci/install-rust.sh
- name: Execute run.sh
run: LIBC_CI=1 sh ./ci/run.sh ${{ matrix.target }}
windows:
name: Windows
runs-on: windows-2019
env:
OS: windows
strategy:
fail-fast: true
matrix:
include:
- target: x86_64-pc-windows-gnu
env:
ARCH_BITS: 64
ARCH: x86_64
- target: x86_64-pc-windows-msvc
# Disabled because broken:
# https://github.com/rust-lang/libc/issues/1592
#- target: i686-pc-windows-gnu
# env:
# ARCH_BITS: 32
# ARCH: i686
- target: i686-pc-windows-msvc
steps:
- uses: rust-lang/simpleinfra/github-actions/cancel-outdated-builds@master
with:
github_token: "${{ secrets.GITHUB_TOKEN }}"
- uses: actions/checkout@v2
- name: Setup Rust toolchain
run: TARGET=${{ matrix.target }} sh ./ci/install-rust.sh
shell: bash
- name: Execute run.sh
run: LIBC_CI=1 sh ./ci/run.sh ${{ matrix.target }}
shell: bash
style_and_docs:
name: Style and docs
runs-on: ubuntu-18.04
strategy:
fail-fast: true
steps:
- uses: rust-lang/simpleinfra/github-actions/cancel-outdated-builds@master
with:
github_token: "${{ secrets.GITHUB_TOKEN }}"
- uses: actions/checkout@v2
- name: Setup Rust toolchain
run: sh ./ci/install-rust.sh
- name: Check style
run: sh ci/style.sh
- name: Generate documentation
run: LIBC_CI=1 sh ci/dox.sh
docker_linux_tier2:
name: Docker Linux Tier2
needs: [docker_linux_tier1, style_and_docs]
runs-on: ubuntu-18.04
strategy:
fail-fast: true
max-parallel: 10
matrix:
target: [
aarch64-linux-android,
aarch64-unknown-linux-gnu,
aarch64-unknown-linux-musl,
arm-linux-androideabi,
arm-unknown-linux-gnueabihf,
arm-unknown-linux-musleabihf,
# FIXME: Disabled because currently broken, see:
# https://github.com/rust-lang/libc/issues/1591
# asmjs-unknown-emscripten,
# FIXME: Disabled due to https://github.com/rust-lang/libc/issues/1765
# i686-linux-android,
i686-unknown-linux-musl,
mips-unknown-linux-gnu,
mips-unknown-linux-musl,
mips64-unknown-linux-gnuabi64,
mips64el-unknown-linux-gnuabi64,
mipsel-unknown-linux-musl,
# FIXME: Figure out why this is disabled.
#powerpc-unknown-linux-gnu,
powerpc64-unknown-linux-gnu,
powerpc64le-unknown-linux-gnu,
s390x-unknown-linux-gnu,
riscv64gc-unknown-linux-gnu,
# FIXME: Figure out why this is disabled.
#wasm32-wasi,
sparc64-unknown-linux-gnu,
wasm32-unknown-emscripten,
x86_64-linux-android,
x86_64-unknown-linux-gnux32,
x86_64-unknown-linux-musl,
]
steps:
- uses: rust-lang/simpleinfra/github-actions/cancel-outdated-builds@master
with:
github_token: "${{ secrets.GITHUB_TOKEN }}"
- uses: actions/checkout@v2
- name: Setup Rust toolchain
run: TARGET=${{ matrix.target }} sh ./ci/install-rust.sh
- name: Execute run-docker.sh
run: LIBC_CI=1 sh ./ci/run-docker.sh ${{ matrix.target }}
# devkitpro's pacman needs to be connected from Docker.
docker_switch:
name: Docker Switch
needs: [docker_linux_tier1, style_and_docs]
runs-on: ubuntu-18.04
strategy:
fail-fast: true
steps:
- uses: rust-lang/simpleinfra/github-actions/cancel-outdated-builds@master
with:
github_token: "${{ secrets.GITHUB_TOKEN }}"
- uses: actions/checkout@v2
- name: Setup Rust toolchain
run: sh ./ci/install-rust.sh
- name: Execute run-docker.sh
run: LIBC_CI=1 sh ./ci/run-docker.sh switch
build_channels_linux:
name: Build Channels Linux
needs: docker_linux_tier2
runs-on: ubuntu-18.04
env:
OS: linux
strategy:
fail-fast: true
max-parallel: 4
matrix:
toolchain: [
stable,
beta,
nightly,
1.13.0,
1.19.0,
1.24.0,
1.25.0,
1.30.0,
]
steps:
- uses: rust-lang/simpleinfra/github-actions/cancel-outdated-builds@master
with:
github_token: "${{ secrets.GITHUB_TOKEN }}"
- uses: actions/checkout@v2
- name: Setup Rust toolchain
run: TOOLCHAIN=${{ matrix.toolchain }} sh ./ci/install-rust.sh
- name: Execute build.sh
run: LIBC_CI=1 TOOLCHAIN=${{ matrix.toolchain }} sh ./ci/build.sh
build_channels_macos:
name: Build Channels macOS
needs: macos
runs-on: macos-10.15
env:
OS: macos
strategy:
fail-fast: true
max-parallel: 3
matrix:
toolchain: [
stable,
beta,
nightly,
1.13.0,
1.19.0,
1.24.0,
1.25.0,
1.30.0,
]
steps:
- uses: rust-lang/simpleinfra/github-actions/cancel-outdated-builds@master
with:
github_token: "${{ secrets.GITHUB_TOKEN }}"
- uses: actions/checkout@v2
- name: Setup Rust toolchain
run: TOOLCHAIN=${{ matrix.toolchain }} sh ./ci/install-rust.sh
- name: Execute build.sh
run: LIBC_CI=1 TOOLCHAIN=${{ matrix.toolchain }} sh ./ci/build.sh
semver_linux:
name: Semver Linux
needs: build_channels_linux
runs-on: ubuntu-18.04
strategy:
fail-fast: true
steps:
- uses: rust-lang/simpleinfra/github-actions/cancel-outdated-builds@master
with:
github_token: "${{ secrets.GITHUB_TOKEN }}"
- uses: actions/checkout@v2
- name: Setup Rust toolchain
# FIXME: Pin nightly version to make semverver compilable.
run: TOOLCHAIN=nightly-2020-06-18 sh ./ci/install-rust.sh
- name: Check breaking changes
run: sh ci/semver.sh linux
semver_macos:
name: Semver macOS
needs: build_channels_macos
runs-on: macos-10.15
strategy:
fail-fast: true
steps:
- uses: rust-lang/simpleinfra/github-actions/cancel-outdated-builds@master
with:
github_token: "${{ secrets.GITHUB_TOKEN }}"
- uses: actions/checkout@v2
- name: Setup Rust toolchain
# FIXME: Pin nightly version to make semverver compilable.
run: TOOLCHAIN=nightly-2020-06-18 sh ./ci/install-rust.sh
- name: Check breaking changes
run: sh ci/semver.sh macos
# These jobs doesn't actually test anything, but they're only used to tell
# bors the build completed, as there is no practical way to detect when a
# workflow is successful listening to webhooks only.
#
# ALL THE PREVIOUS JOBS NEED TO BE ADDED TO THE `needs` SECTION OF THIS JOB!
end_success:
name: bors build finished
if: github.event.pusher.name == 'bors' && success()
runs-on: ubuntu-18.04
needs: [
docker_linux_tier1,
docker_linux_tier2,
macos,
windows,
style_and_docs,
docker_switch,
build_channels_linux,
build_channels_macos,
semver_linux,
semver_macos
]
steps:
- name: Mark the job as successful
run: exit 0
end_failure:
name: bors build finished
if: github.event.pusher.name == 'bors' && (failure() || cancelled())
runs-on: ubuntu-18.04
needs: [
docker_linux_tier1,
docker_linux_tier2,
macos,
windows,
style_and_docs,
docker_switch,
build_channels_linux,
build_channels_macos,
semver_linux,
semver_macos
]
steps:
- name: Mark the job as a failure
run: exit 1
name: CI
on:
pull_request:
types: [opened, synchronize, reopened]
push:
branches:
- master
jobs:
docker_linux_tier1:
name: Docker Linux Tier1
runs-on: ubuntu-18.04
strategy:
fail-fast: true
matrix:
target: [
i686-unknown-linux-gnu,
x86_64-unknown-linux-gnu,
]
steps:
- uses: actions/checkout@v2
- name: Setup Rust toolchain
run: TARGET=${{ matrix.target }} sh ./ci/install-rust.sh
- name: Execute run-docker.sh
run: LIBC_CI=1 sh ./ci/run-docker.sh ${{ matrix.target }}
macos:
name: macOS
runs-on: macos-10.15
strategy:
fail-fast: true
matrix:
target: [
x86_64-apple-darwin,
]
steps:
- uses: actions/checkout@v2
- name: Setup Rust toolchain
run: TARGET=${{ matrix.target }} sh ./ci/install-rust.sh
- name: Execute run.sh
run: LIBC_CI=1 sh ./ci/run.sh ${{ matrix.target }}
windows:
name: Windows
runs-on: windows-2019
env:
OS: windows
strategy:
fail-fast: true
matrix:
include:
- target: x86_64-pc-windows-gnu
env:
ARCH_BITS: 64
ARCH: x86_64
- target: x86_64-pc-windows-msvc
# Disabled because broken:
# https://github.com/rust-lang/libc/issues/1592
#- target: i686-pc-windows-gnu
# env:
# ARCH_BITS: 32
# ARCH: i686
- target: i686-pc-windows-msvc
steps:
- uses: actions/checkout@v2
- name: Setup Rust toolchain
run: TARGET=${{ matrix.target }} sh ./ci/install-rust.sh
shell: bash
- name: Execute run.sh
run: LIBC_CI=1 sh ./ci/run.sh ${{ matrix.target }}
shell: bash
style_and_docs:
name: Style and docs
runs-on: ubuntu-18.04
strategy:
fail-fast: true
steps:
- uses: actions/checkout@v2
- name: Setup Rust toolchain
run: sh ./ci/install-rust.sh
- name: Check style
run: sh ci/style.sh
- name: Generate documentation
run: LIBC_CI=1 sh ci/dox.sh
......@@ -3,7 +3,7 @@
set -ex
NDK=android-ndk-r21d
curl --retry 20 -O https://dl.google.com/android/repository/${NDK}-linux-x86_64.zip
wget --tries=20 https://dl.google.com/android/repository/${NDK}-linux-x86_64.zip
unzip -q ${NDK}-linux-x86_64.zip
case "$1" in
......
......@@ -11,7 +11,7 @@ set -ex
SDK=4333796
mkdir sdk
curl --retry 20 https://dl.google.com/android/repository/sdk-tools-linux-${SDK}.zip -O
wget --tries=20 https://dl.google.com/android/repository/sdk-tools-linux-${SDK}.zip
unzip -q -d sdk sdk-tools-linux-${SDK}.zip
case "$1" in
......
......@@ -14,7 +14,7 @@ main() {
apt-get install --no-install-recommends e2tools
pushd "${td}"
curl --retry 5 -O "${URL}/${name}"
wget --tries=5 "${URL}/${name}"
unzip -q "${name}"
local system
......
steps:
- bash: |
set -ex
toolchain=$TOOLCHAIN
if [ "$toolchain" = "" ]; then
toolchain=nightly
fi
if command -v rustup; then
rustup set profile minimal
rustup update --force $toolchain
rustup default $toolchain
else
curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain $toolchain --profile=minimal
echo "##vso[task.prependpath]$HOME/.cargo/bin"
fi
displayName: Install rust (unix)
condition: ne( variables['Agent.OS'], 'Windows_NT' )
- script: |
@echo on
if not defined TOOLCHAIN set TOOLCHAIN=nightly
rustup set profile minimal
rustup update --no-self-update %TOOLCHAIN%-%TARGET%
rustup default %TOOLCHAIN%-%TARGET%
displayName: Install rust (windows)
condition: eq( variables['Agent.OS'], 'Windows_NT' )
- script: |
set -ex
if [ -n "${TARGET}" ]; then
rustup target add $TARGET
fi
condition: ne( variables['Agent.OS'], 'Windows_NT' )
displayName: Install target (unix)
- script: |
@echo on
if defined TARGET rustup target add %TARGET%
condition: eq( variables['Agent.OS'], 'Windows_NT' )
displayName: Install target (windows)
- script: |
@echo on
if "%ARCH%" == "i686" choco install mingw --x86 --force
condition: eq( variables['Agent.OS'], 'Windows_NT' )
displayName: Install MinGW32 (windows)
- bash: |
set -ex
gcc -print-search-dirs
/usr/bin/find "C:\ProgramData\Chocolatey" -name "crt2*"
/usr/bin/find "C:\ProgramData\Chocolatey" -name "dllcrt2*"
/usr/bin/find "C:\ProgramData\Chocolatey" -name "libmsvcrt*"
condition: eq( variables['Agent.OS'], 'Windows_NT' )
displayName: Find GCC libraries (windows)
- bash: |
set -ex
if [[ -n ${ARCH_BITS} ]]; then
for i in crt2.o dllcrt2.o libmingwex.a libmsvcrt.a ; do
cp -f "/C/ProgramData/Chocolatey/lib/mingw/tools/install/mingw${ARCH_BITS}/${ARCH}-w64-mingw32/lib/$i" "`rustc --print sysroot`/lib/rustlib/${TARGET}/lib"
done
fi
condition: eq( variables['Agent.OS'], 'Windows_NT' )
displayName: Fix MinGW (windows)
- bash: |
set -ex
rustc -Vv
cargo -V
rustup -Vv
rustup show
which rustc
which cargo
which rustup
displayName: Query rust and cargo versions
- script: |
@echo on
where gcc
condition: eq( variables['Agent.OS'], 'Windows_NT' )
displayName: Query gcc path
# This often fails fetching. Let's try several times.
- bash: |
set -ex
cargo generate-lockfile
N=5
n=0
until [ $n -ge $N ]
do
if cargo generate-lockfile ; then
break
fi
n=$((n+1))
sleep 1
done
displayName: Generate lockfiles
variables:
- group: secrets
resources:
repositories:
- repository: rustinfra
type: github
name: rust-lang/simpleinfra
endpoint: gnzlbg
trigger: ["auto-libc","try"]
pr: ["master"]
jobs:
- job: DockerLinuxTier1
pool:
vmImage: ubuntu-18.04
steps:
- template: azure-install-rust.yml
- bash: LIBC_CI=1 sh ./ci/run-docker.sh $TARGET
displayName: Execute run-docker.sh
strategy:
matrix:
i686-unknown-linux-gnu:
TARGET: i686-unknown-linux-gnu
x86_64-unknown-linux-gnu:
TARGET: x86_64-unknown-linux-gnu
- job: DockerLinuxTier2
#dependsOn: DockerLinuxTier1
pool:
vmImage: ubuntu-18.04
steps:
- template: azure-install-rust.yml
- bash: LIBC_CI=1 sh ./ci/run-docker.sh $TARGET
displayName: Execute run-docker.sh
strategy:
matrix:
aarch64-unknown-linux-android:
TARGET: aarch64-linux-android
aarch64-unknown-linux-gnu:
TARGET: aarch64-unknown-linux-gnu
aarch64-unknown-linux-musl:
TARGET: aarch64-unknown-linux-musl
arm-linux-androideabi:
TARGET: arm-linux-androideabi
arm-unknown-linux-gnueabihf:
TARGET: arm-unknown-linux-gnueabihf
arm-unknown-linux-musleabihf:
TARGET: arm-unknown-linux-musleabihf
# Disabled because currently broken, see:
# https://github.com/rust-lang/libc/issues/1591
# asmjs-unknown-emscripten:
# TARGET: asmjs-unknown-emscripten
# FIXME: Disabled due to https://github.com/rust-lang/libc/issues/1765
# i686-linux-android:
# TARGET: i686-linux-android
i686-unknown-linux-musl:
TARGET: i686-unknown-linux-musl
mips-unknown-linux-gnu:
TARGET: mips-unknown-linux-gnu
mips-unknown-linux-musl:
TARGET: mips-unknown-linux-musl
mips64-unknown-linux-gnuabi64:
TARGET: mips64-unknown-linux-gnuabi64
mips64el-unknown-linux-gnuabi64:
TARGET: mips64el-unknown-linux-gnuabi64
mipsel-unknown-linux-musl:
TARGET: mipsel-unknown-linux-musl
#powerpc-unknown-linux-gnu:
# TARGET: powerpc-unknown-linux-gnu
powerpc64-unknown-linux-gnu:
TARGET: powerpc64-unknown-linux-gnu
powerpc64le-unknown-linux-gnu:
TARGET: powerpc64le-unknown-linux-gnu
s390x-unknown-linux-gnu:
TARGET: s390x-unknown-linux-gnu
riscv64gc-unknown-linux-gnu:
TARGET: riscv64gc-unknown-linux-gnu
#wasm32-wasi
# TARGET: wasm32-wasi
sparc64-unknown-linux-gnu:
TARGET: sparc64-unknown-linux-gnu
wasm32-unknown-emscripten:
TARGET: wasm32-unknown-emscripten
x86_64-linux-android:
TARGET: x86_64-linux-android
x86_64-unknown-linux-gnux32:
TARGET: x86_64-unknown-linux-gnux32
x86_64-unknown-linux-musl:
TARGET: x86_64-unknown-linux-musl
- job: DockerOSX64
pool:
vmImage: macos-10.15
steps:
- template: azure-install-rust.yml
- bash: LIBC_CI=1 sh ./ci/run.sh $TARGET
displayName: Execute run.sh
strategy:
matrix:
x86_64-apple-darwin:
TARGET: x86_64-apple-darwin
- job: Windows
pool:
vmImage: windows-2019
steps:
- template: azure-install-rust.yml
- bash: LIBC_CI=1 sh ./ci/run.sh $TARGET
displayName: Execute run.sh
strategy:
matrix:
x86_64-pc-windows-gnu:
TARGET: x86_64-pc-windows-gnu
ARCH_BITS: 64
ARCH: x86_64
x86_64-pc-windows-msvc:
TARGET: x86_64-pc-windows-msvc
# Disabled because broken:
# https://github.com/rust-lang/libc/issues/1592
#i686-pc-windows-gnu:
# TARGET: i686-pc-windows-gnu
# ARCH_BITS: 32
# ARCH: i686
i686-pc-windows-msvc:
TARGET: i686-pc-windows-msvc
- job: StyleAndDocs
pool:
vmImage: ubuntu-18.04
steps:
- template: azure-install-rust.yml
- script: sh ci/style.sh
displayName: Check style
- script: LIBC_CI=1 sh ci/dox.sh
displayName: Generate documentation
- template: azure-configs/static-websites.yml@rustinfra
parameters:
deploy_dir: target/doc
- job: SemverLinux
dependsOn: BuildChannelsLinux
continueOnError: true
pool:
vmImage: ubuntu-18.04
steps:
- template: azure-install-rust.yml
- script: sh ci/semver.sh linux
displayName: Check breaking changes
- job: SemverOSX
dependsOn: BuildChannelsOSX
continueOnError: true
pool:
vmImage: macos-10.15
steps:
- template: azure-install-rust.yml
- script: sh ci/semver.sh osx
displayName: Check breaking changes
- job: BuildChannelsLinux
dependsOn: StyleAndDocs
pool:
vmImage: ubuntu-18.04
steps:
- template: azure-install-rust.yml
- script: LIBC_CI=1 sh ./ci/build.sh
displayName: Execute build.sh
strategy:
matrix:
stable:
TOOLCHAIN: stable
beta:
TOOLCHAIN: beta
nightly:
TOOLCHAIN: nightly
1.13.0:
TOOLCHAIN: 1.13.0
1.19.0:
TOOLCHAIN: 1.19.0
1.24.0:
TOOLCHAIN: 1.24.0
1.25.0:
TOOLCHAIN: 1.25.0
1.30.0:
TOOLCHAIN: 1.30.0
variables:
OS: linux
# devkitpro's pacman needs to be connected from Docker.
- job: DockerSwitch
dependsOn: StyleAndDocs
pool:
vmImage: ubuntu-18.04
steps:
- template: azure-install-rust.yml
- bash: LIBC_CI=1 sh ./ci/run-docker.sh switch
displayName: Execute run-docker.sh
- job: BuildChannelsOSX
dependsOn: StyleAndDocs
pool:
vmImage: macos-10.15
steps:
- template: azure-install-rust.yml
- script: LIBC_CI=1 sh ./ci/build.sh
displayName: Execute build.sh
strategy:
matrix:
stable:
TOOLCHAIN: stable
beta:
TOOLCHAIN: beta
nightly:
TOOLCHAIN: nightly
1.13.0:
TOOLCHAIN: 1.13.0
1.19.0:
TOOLCHAIN: 1.19.0
1.24.0:
TOOLCHAIN: 1.24.0
1.25.0:
TOOLCHAIN: 1.25.0
1.30.0:
TOOLCHAIN: 1.30.0
variables:
OS: osx
......@@ -180,7 +180,7 @@ case "${OS}" in
fi
;;
osx*)
macos*)
TARGETS="${RUST_OSX_TARGETS}"
;;
*)
......@@ -269,7 +269,7 @@ i386-apple-ios \
i686-apple-darwin \
"
if [ "${RUST}" = "nightly" ] && [ "${OS}" = "osx" ]; then
if [ "${RUST}" = "nightly" ] && [ "${OS}" = "macos" ]; then
for TARGET in $RUST_OSX_NO_CORE_TARGETS; do
if echo "$TARGET" | grep -q "$FILTER"; then
test_target build "$TARGET" 1
......
......@@ -5,7 +5,7 @@ RUN apt-get update
RUN apt-get install -y --no-install-recommends libc6-dev gcc
RUN apt-get install -y --no-install-recommends \
file \
curl \
wget \
ca-certificates \
python3 \
python3-distutils \
......
......@@ -5,7 +5,7 @@ RUN apt-get update
RUN apt-get install -y --no-install-recommends libc6-dev gcc
RUN apt-get install -y --no-install-recommends \
file \
curl \
wget \
ca-certificates \
python3 \
python3-distutils \
......
......@@ -3,7 +3,7 @@ FROM ubuntu:20.04
RUN apt-get update && \
apt-get install -y --no-install-recommends \
ca-certificates \
curl \
wget \
gcc \
libc-dev \
python3 \
......
#!/usr/bin/env sh
# This is intended to be used in CI only.
set -ex
echo "Setup toolchain"
toolchain=
if [ -n "$TOOLCHAIN" ]; then
toolchain=$TOOLCHAIN
else
toolchain=nightly
fi
if [ "$OS" = "windows" ]; then
: "${TARGET?The TARGET environment variable must be set.}"
rustup set profile minimal
rustup update --force $toolchain-"$TARGET"
rustup default $toolchain-"$TARGET"
else
rustup set profile minimal
rustup update --force $toolchain
rustup default $toolchain
fi
if [ -n "$TARGET" ]; then
echo "Install target"
rustup target add "$TARGET"
fi
if [ "$OS" = "windows" ]; then
if [ "$ARCH_BITS" = "i686" ]; then
echo "Install MinGW32"
choco install mingw --x86 --force
fi
echo "Find GCC libraries"
gcc -print-search-dirs
/usr/bin/find "C:\ProgramData\Chocolatey" -name "crt2*"
/usr/bin/find "C:\ProgramData\Chocolatey" -name "dllcrt2*"
/usr/bin/find "C:\ProgramData\Chocolatey" -name "libmsvcrt*"
if [ -n "$ARCH_BITS" ]; then
echo "Fix MinGW"
for i in crt2.o dllcrt2.o libmingwex.a libmsvcrt.a ; do
cp -f "/C/ProgramData/Chocolatey/lib/mingw/tools/install/mingw$ARCH_BITS/$ARCH-w64-mingw32/lib/$i" "$(rustc --print sysroot)/lib/rustlib/$TARGET/lib"
done
fi
fi
echo "Query rust and cargo versions"
rustc -Vv
cargo -V
rustup -Vv
rustup show
which rustc
which cargo
which rustup
echo "Generate lockfile"
N=5
n=0
until [ $n -ge $N ]
do
if cargo generate-lockfile; then
break
fi
n=$((n+1))
sleep 1
done
......@@ -5,11 +5,11 @@ set -ex
mkdir -m 777 /qemu
cd /qemu
curl --retry 5 -LO https://cdimage.debian.org/cdimage/ports/2020-04-19/debian-10.0-sparc64-NETINST-1.iso
7z e debian-10.0-sparc64-NETINST-1.iso install/initrd.gz
7z e debian-10.0-sparc64-NETINST-1.iso install/vmlinux
curl --retry 5 -LO https://cdimage.debian.org/cdimage/ports/snapshots/2020-10-13/debian-10.0.0-sparc64-NETINST-1.iso
7z e debian-10.0.0-sparc64-NETINST-1.iso install/initrd.gz
7z e debian-10.0.0-sparc64-NETINST-1.iso install/vmlinux
mv vmlinux kernel
rm debian-10.0-sparc64-NETINST-1.iso
rm debian-10.0.0-sparc64-NETINST-1.iso
mkdir init
cd init
......
......@@ -13,15 +13,10 @@ if ! rustc --version | grep -E "nightly" ; then
exit 1
fi
# FIXME: Pin nightly version to make semverver compile.
NIGHTLY_DATE=nightly-2020-06-18
rustup override set ${NIGHTLY_DATE}
rustup component add rustc-dev llvm-tools-preview
# FIXME: Use upstream once it gets rustup.
cargo +${NIGHTLY_DATE} install semververfork
cargo install semververfork
TARGETS=
case "${OS}" in
......@@ -53,7 +48,7 @@ x86_64-fortanix-unknown-sgx \
wasm32-unknown-unknown \
"
;;
*osx*)
*macos*)
TARGETS="\
aarch64-apple-ios \
x86_64-apple-darwin \
......@@ -77,5 +72,5 @@ for TARGET in $TARGETS; do
done
# FIXME: Use upstream once it gets rustup.
cargo +${NIGHTLY_DATE} semverfork --api-guidelines --target="${TARGET}"
cargo semverfork --api-guidelines --target="${TARGET}"
done
......@@ -11,7 +11,8 @@ if rustup component add rustfmt-preview ; then
fi
if shellcheck --version ; then
shellcheck -e SC2103 ci/*.sh
# GHA's shellcheck is too old (0.4.6) and cannot handle SC2153 correctly.
shellcheck -e SC2103 -e SC2153 ci/*.sh
else
echo "shellcheck not found"
exit 1
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment