Browse Source

Migrate to github actions from Azure Pipelines

Less need to manage users, more concurrency, and interface is all in
one!
master
Alex Crichton 2 years ago
parent
commit
1ac3970855
  1. 146
      .github/workflows/main.yml
  2. 2
      README.md
  3. 80
      azure-pipelines.yml
  4. 30
      ci/azure-install-rust.yml
  5. 28
      ci/azure-steps.yml

146
.github/workflows/main.yml

@ -0,0 +1,146 @@
name: CI
on: [push, pull_request]
jobs:
test:
name: Test
runs-on: ${{ matrix.os }}
strategy:
matrix:
target:
- aarch64-unknown-linux-gnu
- arm-unknown-linux-gnueabi
- arm-unknown-linux-gnueabihf
- i586-unknown-linux-gnu
- i686-unknown-linux-gnu
- mips-unknown-linux-gnu
- mips64-unknown-linux-gnuabi64
- mips64el-unknown-linux-gnuabi64
- mipsel-unknown-linux-gnu
- powerpc-unknown-linux-gnu
- powerpc64-unknown-linux-gnu
- powerpc64le-unknown-linux-gnu
- thumbv6m-none-eabi
- thumbv7em-none-eabi
- thumbv7em-none-eabihf
- thumbv7m-none-eabi
- wasm32-unknown-unknown
- x86_64-unknown-linux-gnu
- x86_64-apple-darwin
- i686-pc-windows-msvc
- x86_64-pc-windows-msvc
- i686-pc-windows-gnu
- x86_64-pc-windows-gnu
include:
- target: aarch64-unknown-linux-gnu
os: ubuntu-latest
rust: nightly
- target: arm-unknown-linux-gnueabi
os: ubuntu-latest
rust: nightly
- target: arm-unknown-linux-gnueabihf
os: ubuntu-latest
rust: nightly
- target: i586-unknown-linux-gnu
os: ubuntu-latest
rust: nightly
- target: i686-unknown-linux-gnu
os: ubuntu-latest
rust: nightly
- target: mips-unknown-linux-gnu
os: ubuntu-latest
rust: nightly
- target: mips64-unknown-linux-gnuabi64
os: ubuntu-latest
rust: nightly
- target: mips64el-unknown-linux-gnuabi64
os: ubuntu-latest
rust: nightly
- target: mipsel-unknown-linux-gnu
os: ubuntu-latest
rust: nightly
- target: powerpc-unknown-linux-gnu
os: ubuntu-latest
rust: nightly
- target: powerpc64-unknown-linux-gnu
os: ubuntu-latest
rust: nightly
- target: powerpc64le-unknown-linux-gnu
os: ubuntu-latest
rust: nightly
- target: thumbv6m-none-eabi
os: ubuntu-latest
rust: nightly
- target: thumbv7em-none-eabi
os: ubuntu-latest
rust: nightly
- target: thumbv7em-none-eabihf
os: ubuntu-latest
rust: nightly
- target: thumbv7m-none-eabi
os: ubuntu-latest
rust: nightly
- target: wasm32-unknown-unknown
os: ubuntu-latest
rust: nightly
- target: x86_64-unknown-linux-gnu
os: ubuntu-latest
rust: nightly
- target: x86_64-apple-darwin
os: macos-latest
rust: nightly
- target: i686-pc-windows-msvc
os: windows-latest
rust: nightly
- target: x86_64-pc-windows-msvc
os: windows-latest
rust: nightly
- target: i686-pc-windows-gnu
os: windows-latest
rust: nightly-i686-gnu
- target: x86_64-pc-windows-gnu
os: windows-latest
rust: nightly-x86_64-gnu
steps:
- uses: actions/checkout@master
with:
submodules: true
- name: Install Rust (rustup)
run: rustup update ${{ matrix.rust }} --no-self-update && rustup default ${{ matrix.rust }}
if: matrix.os != 'macos-latest'
- name: Install Rust (macos)
run: |
curl https://sh.rustup.rs | sh -s -- -y --default-toolchain nightly
echo "##[add-path]$HOME/.cargo/bin"
if: matrix.os == 'macos-latest'
- run: rustup target add ${{ matrix.target }}
- name: Download compiler-rt reference sources
run: |
curl -L -o code.tar.gz https://github.com/rust-lang/llvm-project/archive/rustc/8.0-2019-03-18.tar.gz
tar xzf code.tar.gz --strip-components 1 llvm-project-rustc-8.0-2019-03-18/compiler-rt
echo "##[set-env name=RUST_COMPILER_RT_ROOT]./compiler-rt"
shell: bash
# Non-linux tests just use our raw script
- run: ./ci/run.sh ${{ matrix.target }}
if: matrix.os != 'ubuntu-latest'
shell: bash
# Wasm is special and is just build as a smoke test
- run: cargo build --target ${{ matrix.target }}
if: matrix.target == 'wasm32-unknown-unknown'
# Otherwise we use our docker containers to run builds
- run: cargo generate-lockfile && ./ci/run-docker.sh ${{ matrix.target }}
if: matrix.target != 'wasm32-unknown-unknown' && matrix.os == 'ubuntu-latest'
rustfmt:
name: Rustfmt
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
with:
submodules: true
- name: Install Rust
run: rustup update stable && rustup default stable && rustup component add rustfmt
- run: cargo fmt -- --check

2
README.md

@ -1,7 +1,5 @@
# `compiler-builtins`
[![Build Status](https://dev.azure.com/rust-lang/compiler-builtins/_apis/build/status/rust-lang-nursery.compiler-builtins?branchName=master)](https://dev.azure.com/rust-lang/compiler-builtins/_build/latest?definitionId=6&branchName=master)
> Porting `compiler-rt` intrinsics to Rust
See [rust-lang/rust#35437][0].

80
azure-pipelines.yml

@ -1,80 +0,0 @@
trigger:
- master
jobs:
- job: Linux
pool:
vmImage: ubuntu-16.04
steps:
- template: ci/azure-steps.yml
strategy:
matrix:
aarch64:
TARGET: aarch64-unknown-linux-gnu
arm:
TARGET: arm-unknown-linux-gnueabi
armhf:
TARGET: arm-unknown-linux-gnueabihf
i586:
TARGET: i586-unknown-linux-gnu
i686:
TARGET: i686-unknown-linux-gnu
mips:
TARGET: mips-unknown-linux-gnu
mips64:
TARGET: mips64-unknown-linux-gnuabi64
mips64el:
TARGET: mips64el-unknown-linux-gnuabi64
mipsel:
TARGET: mipsel-unknown-linux-gnu
powerpc:
TARGET: powerpc-unknown-linux-gnu
powerpc64:
TARGET: powerpc64-unknown-linux-gnu
powerpc64le:
TARGET: powerpc64le-unknown-linux-gnu
thumbv6m:
TARGET: thumbv6m-none-eabi
thumbv7em:
TARGET: thumbv7em-none-eabi
thumbv7emhf:
TARGET: thumbv7em-none-eabihf
thumbv7m:
TARGET: thumbv7m-none-eabi
wasm32:
TARGET: wasm32-unknown-unknown
ONLY_BUILD: 1
x86_64:
TARGET: x86_64-unknown-linux-gnu
- job: macOS
pool:
vmImage: macos-10.13
steps:
- template: ci/azure-steps.yml
strategy:
matrix:
x86_64:
TARGET: x86_64-apple-darwin
i686:
TARGET: i686-apple-darwin
- job: Windows
pool:
vmImage: 'vs2017-win2016'
steps:
- template: ci/azure-steps.yml
strategy:
matrix:
i686-msvc:
TARGET: i686-pc-windows-msvc
x86_64-msvc:
TARGET: x86_64-pc-windows-msvc
i686-gnu:
TARGET: i686-pc-windows-gnu
INTRINSICS_FAILS_WITH_MEM_FEATURE: 1
DEBUG_LTO_BUILD_DOESNT_WORK: 1
x86_64-gnu:
TARGET: x86_64-pc-windows-gnu
INTRINSICS_FAILS_WITH_MEM_FEATURE: 1
DEBUG_LTO_BUILD_DOESNT_WORK: 1

30
ci/azure-install-rust.yml

@ -1,30 +0,0 @@
parameters:
toolchain: 'nightly'
steps:
- bash: |
set -e
if command -v rustup; then
rustup update $TOOLCHAIN
rustup default $TOOLCHAIN
else
curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain $TOOLCHAIN
echo "##vso[task.prependpath]$HOME/.cargo/bin"
fi
displayName: Install rust
condition: ne( variables['Agent.OS'], 'Windows_NT' )
env:
TOOLCHAIN: ${{ parameters.toolchain }}
- script: |
rustup update --no-self-update %TOOLCHAIN%-%TARGET%
rustup default %TOOLCHAIN%-%TARGET%
displayName: Install rust
condition: eq( variables['Agent.OS'], 'Windows_NT' )
env:
TOOLCHAIN: ${{ parameters.toolchain }}
- script: |
rustc -Vv
cargo -V
displayName: Query rust and cargo versions

28
ci/azure-steps.yml

@ -1,28 +0,0 @@
steps:
- checkout: self
submodules: true
- template: azure-install-rust.yml
- bash: rustup target add $TARGET
displayName: Install Rust target
- bash: |
set -e
curl -L https://github.com/rust-lang/llvm-project/archive/rustc/8.0-2019-03-18.tar.gz | \
tar xzf - --strip-components 1 llvm-project-rustc-8.0-2019-03-18/compiler-rt
echo '##vso[task.setvariable variable=RUST_COMPILER_RT_ROOT]./compiler-rt'
displayName: "Download compiler-rt reference sources"
- bash: ./ci/run.sh $TARGET
condition: ne( variables['Agent.OS'], 'Linux' )
displayName: Run test script
- bash: |
if [ "$ONLY_BUILD" = "1" ]; then
cargo build --target $TARGET
else
cargo generate-lockfile && ./ci/run-docker.sh $TARGET
fi
condition: eq( variables['Agent.OS'], 'Linux' )
displayName: Run docker test script
Loading…
Cancel
Save