Browse Source

Migrate to github actions from Azure Pipelines

Less need to manage users, more concurrency, and interface is all in
one!
Alex Crichton 5 năm trước cách đây
mục cha
commit
1ac3970855
5 tập tin đã thay đổi với 146 bổ sung140 xóa
  1. 146 0
      .github/workflows/main.yml
  2. 0 2
      README.md
  3. 0 80
      azure-pipelines.yml
  4. 0 30
      ci/azure-install-rust.yml
  5. 0 28
      ci/azure-steps.yml

+ 146 - 0
.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

+ 0 - 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].

+ 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

+ 0 - 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

+ 0 - 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