From f69a0dca56c11a1c67f207a46836956ccf44dbf1 Mon Sep 17 00:00:00 2001
From: Yuki Okushi <huyuumi.dev@gmail.com>
Date: Sat, 10 Oct 2020 22:24:06 +0900
Subject: [PATCH] Re-order jobs to clarify

---
 .github/workflows/main.yml | 227 ++++++++++++++++---------------------
 1 file changed, 97 insertions(+), 130 deletions(-)

diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 39fd0358..2b5253a3 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -20,19 +20,16 @@ jobs:
         ]
     steps:
       - uses: actions/checkout@v2
-
       - name: Setup Rust toolchain
         run: |
           set -ex
           rustup set profile minimal
           rustup update --force nightly
           rustup default nightly
-
       - name: Install target
         run: |
           set -ex
           rustup target add ${{ matrix.target }}
-
       - name: Query Rust and Cargo versions
         run: |
           set -ex
@@ -43,7 +40,6 @@ jobs:
           which rustc
           which cargo
           which rustup
-
       - name: Generate lockfile
         run: |
           set -ex
@@ -57,93 +53,10 @@ jobs:
             n=$((n+1))
             sleep 1
           done
-
       - name: Execute run-docker.sh
         run: LIBC_CI=1 sh ./ci/run-docker.sh ${{ matrix.target }}
 
 
-  docker_linux_tier2:
-    name: Docker Linux Tier2
-    runs-on: ubuntu-18.04
-    strategy:
-      fail-fast: false
-      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: actions/checkout@v2
-
-      - name: Setup Rust toolchain
-        run: |
-          set -ex
-          rustup set profile minimal
-          rustup update --force nightly
-          rustup default nightly
-
-      - name: Install target
-        run: |
-          set -ex
-          rustup target add ${{ matrix.target }}
-
-      - name: Query Rust and Cargo versions
-        run: |
-          set -ex
-          rustc -Vv
-          cargo -V
-          rustup -Vv
-          rustup show
-          which rustc
-          which cargo
-          which rustup
-
-      - name: Generate lockfile
-        run: |
-          set -ex
-          N=5
-          n=0
-          until [ $n -ge $N ]
-          do
-            if cargo generate-lockfile ; then
-              break
-            fi
-            n=$((n+1))
-            sleep 1
-          done
-
-      - name: Execute run-docker.sh
-        run: LIBC_CI=1 sh ./ci/run-docker.sh ${{ matrix.target }}
-
   macos:
     name: macOS
     runs-on: macos-10.15
@@ -155,19 +68,16 @@ jobs:
         ]
     steps:
       - uses: actions/checkout@v2
-
       - name: Setup Rust toolchain
         run: |
           set -ex
           rustup set profile minimal
           rustup update --force nightly
           rustup default nightly
-
       - name: Install target
         run: |
           set -ex
           rustup target add ${{ matrix.target }}
-
       - name: Query Rust and Cargo versions
         run: |
           set -ex
@@ -178,7 +88,6 @@ jobs:
           which rustc
           which cargo
           which rustup
-
       - name: Generate lockfile
         run: |
           set -ex
@@ -192,11 +101,9 @@ jobs:
             n=$((n+1))
             sleep 1
           done
-
       - name: Execute run.sh
         run: LIBC_CI=1 sh ./ci/run.sh ${{ matrix.target }}
 
-
   windows:
     name: Windows
     runs-on: windows-2019
@@ -218,16 +125,13 @@ jobs:
           - target: i686-pc-windows-msvc
     steps:
       - uses: actions/checkout@v2
-
       - name: Setup Rust toolchain
         run: |
           rustup set profile minimal
           rustup update --force --no-self-update nightly-${{ matrix.target }}
           rustup default nightly-${{ matrix.target }}
-
       - name: Install target
         run: rustup target add ${{ matrix.target }}
-
       - name: Install MinGW32
         run: |
           set -ex
@@ -235,7 +139,6 @@ jobs:
             choco install mingw --x86 --force
           fi
         shell: bash
-
       - name: Find GCC libraries
         run: |
           set -ex
@@ -244,7 +147,6 @@ jobs:
           /usr/bin/find "C:\ProgramData\Chocolatey" -name "dllcrt2*"
           /usr/bin/find "C:\ProgramData\Chocolatey" -name "libmsvcrt*"
         shell: bash
-
       - name: Fix MinGW
         run: |
           set -ex
@@ -254,7 +156,6 @@ jobs:
             done
           fi
         shell: bash
-
       - name: Query Rust and Cargo versions
         run: |
           set -ex
@@ -266,7 +167,6 @@ jobs:
           which cargo
           which rustup
         shell: bash
-
       - name: Generate lockfile
         run: |
           set -ex
@@ -281,12 +181,10 @@ jobs:
             sleep 1
           done
         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
@@ -294,7 +192,6 @@ jobs:
       fail-fast: false
     steps:
       - uses: actions/checkout@v2
-
       - name: Setup Rust toolchain
         run: |
           set -ex
@@ -324,41 +221,62 @@ jobs:
             n=$((n+1))
             sleep 1
           done
-
       - name: Check style
         run: sh ci/style.sh
       - name: Generate documentation
         run: LIBC_CI=1 sh ci/dox.sh
 
-
-  build_channels_linux:
-    name: Build Channels Linux
+  docker_linux_tier2:
+    name: Docker Linux Tier2
     runs-on: ubuntu-18.04
-    env:
-      OS: linux
     strategy:
       fail-fast: false
-      max-parallel: 5
+      max-parallel: 10
       matrix:
-        toolchain: [
-          stable,
-          beta,
-          nightly,
-          1.13.0,
-          1.19.0,
-          1.24.0,
-          1.25.0,
-          1.30.0,
+        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: actions/checkout@v2
-
       - name: Setup Rust toolchain
         run: |
           set -ex
           rustup set profile minimal
-          rustup update --force ${{ matrix.toolchain }}
-          rustup default ${{ matrix.toolchain }}
+          rustup update --force nightly
+          rustup default nightly
+      - name: Install target
+        run: |
+          set -ex
+          rustup target add ${{ matrix.target }}
       - name: Query Rust and Cargo versions
         run: |
           set -ex
@@ -382,9 +300,8 @@ jobs:
             n=$((n+1))
             sleep 1
           done
-      - name: Execute build.sh
-        run: LIBC_CI=1 TOOLCHAIN=${{ matrix.toolchain }} sh ./ci/build.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.
   DockerSwitch:
@@ -394,7 +311,6 @@ jobs:
       fail-fast: false
     steps:
       - uses: actions/checkout@v2
-
       - name: Setup Rust toolchain
         run: |
           set -ex
@@ -427,6 +343,60 @@ jobs:
       - name: Execute run-docker.sh
         run: LIBC_CI=1 sh ./ci/run-docker.sh switch
 
+  build_channels_linux:
+    name: Build Channels Linux
+    runs-on: ubuntu-18.04
+    env:
+      OS: linux
+    strategy:
+      fail-fast: false
+      max-parallel: 5
+      matrix:
+        toolchain: [
+          stable,
+          beta,
+          nightly,
+          1.13.0,
+          1.19.0,
+          1.24.0,
+          1.25.0,
+          1.30.0,
+        ]
+    steps:
+      - uses: actions/checkout@v2
+      - name: Setup Rust toolchain
+        run: |
+          set -ex
+          rustup set profile minimal
+          rustup update --force ${{ matrix.toolchain }}
+          rustup default ${{ matrix.toolchain }}
+      - name: Query Rust and Cargo versions
+        run: |
+          set -ex
+          rustc -Vv
+          cargo -V
+          rustup -Vv
+          rustup show
+          which rustc
+          which cargo
+          which rustup
+      - name: Generate lockfile
+        run: |
+          set -ex
+          N=5
+          n=0
+          until [ $n -ge $N ]
+          do
+            if cargo generate-lockfile ; then
+              break
+            fi
+            n=$((n+1))
+            sleep 1
+          done
+      - name: Execute build.sh
+        run: LIBC_CI=1 TOOLCHAIN=${{ matrix.toolchain }} sh ./ci/build.sh
+
+
   build_channels_macos:
     name: Build Channels macOS
     runs-on: macos-10.15
@@ -448,7 +418,6 @@ jobs:
         ]
     steps:
       - uses: actions/checkout@v2
-
       - name: Setup Rust toolchain
         run: |
           set -ex
@@ -481,6 +450,7 @@ jobs:
       - name: Execute build.sh
         run: LIBC_CI=1 TOOLCHAIN=${{ matrix.toolchain }} sh ./ci/build.sh
 
+
   semver_linux:
     name: Semver Linux
     runs-on: ubuntu-18.04
@@ -488,7 +458,6 @@ jobs:
       fail-fast: false
     steps:
       - uses: actions/checkout@v2
-
       - name: Setup Rust toolchain
         run: |
           set -ex
@@ -521,7 +490,6 @@ jobs:
       - name: Check breaking changes
         run: sh ci/semver.sh linux
 
-
   semver_macos:
     name: Semver macOS
     runs-on: macos-10.15
@@ -529,7 +497,6 @@ jobs:
       fail-fast: false
     steps:
       - uses: actions/checkout@v2
-
       - name: Setup Rust toolchain
         run: |
           set -ex
-- 
GitLab