github.com/containerd/containerd@v22.0.0-20200918172823-438c87b8e050+incompatible/.github/workflows/nightly.yml (about) 1 name: Nightly 2 on: 3 schedule: 4 - cron: '0 0 * * *' # Every day at midnight 5 pull_request: 6 paths: 7 - '.github/workflows/nightly.yml' 8 9 jobs: 10 linux: 11 name: Linux 12 runs-on: ubuntu-latest 13 14 steps: 15 - name: Set up Go 16 uses: actions/setup-go@v1 17 with: 18 go-version: '1.15.2' 19 20 - name: Checkout 21 uses: actions/checkout@v1 22 env: 23 GOPATH: ${{ runner.workspace }} 24 GO111MODULE: off 25 with: 26 path: ./src/github.com/containerd/containerd 27 28 # 29 # Build 30 # 31 32 - name: Install dependencies 33 run: | 34 sudo add-apt-repository "deb [arch=arm64,s390x,ppc64el] http://ports.ubuntu.com/ubuntu-ports/ $(lsb_release -sc) main" || true 35 sudo add-apt-repository "deb [arch=arm64,s390x,ppc64el] http://ports.ubuntu.com/ubuntu-ports/ $(lsb_release -sc)-updates main" || true 36 37 sudo dpkg --add-architecture arm64 38 sudo dpkg --add-architecture s390x 39 sudo dpkg --add-architecture ppc64el 40 41 sudo apt-get update || true 42 43 sudo apt-get install -y \ 44 crossbuild-essential-arm64 \ 45 crossbuild-essential-s390x \ 46 crossbuild-essential-ppc64el \ 47 libseccomp-dev:amd64 \ 48 libseccomp-dev:arm64 \ 49 libseccomp-dev:s390x \ 50 libseccomp-dev:ppc64el 51 52 - name: Build amd64 53 env: 54 GOPATH: ${{ runner.workspace }} 55 GOOS: linux 56 GOARCH: amd64 57 run: | 58 make binaries 59 mv bin bin_amd64 60 61 - name: Build arm64 62 env: 63 GOPATH: ${{ runner.workspace }} 64 GOOS: linux 65 GOARCH: arm64 66 CC: aarch64-linux-gnu-gcc 67 CGO_ENABLED: 1 68 run: | 69 make binaries 70 mv bin bin_arm64 71 72 - name: Build s390x 73 env: 74 GOPATH: ${{ runner.workspace }} 75 GOOS: linux 76 GOARCH: s390x 77 CGO_ENABLED: 1 78 CC: s390x-linux-gnu-gcc 79 run: | 80 make binaries 81 mv bin bin_s390x 82 83 - name: Build ppc64le 84 env: 85 GOPATH: ${{ runner.workspace }} 86 GOOS: linux 87 GOARCH: ppc64le 88 CGO_ENABLED: 1 89 CC: powerpc64le-linux-gnu-gcc 90 run: | 91 make binaries 92 mv bin bin_ppc64le 93 94 # 95 # Upload 96 # 97 98 - name: Upload artifacts (linux_amd64) 99 uses: actions/upload-artifact@v1 100 with: 101 name: linux_amd64 102 path: bin_amd64 103 104 - name: Upload artifacts (linux_arm64) 105 uses: actions/upload-artifact@v1 106 with: 107 name: linux_arm64 108 path: bin_arm64 109 110 - name: Upload artifacts (linux_s390x) 111 uses: actions/upload-artifact@v1 112 with: 113 name: linux_s390x 114 path: bin_s390x 115 116 - name: Upload artifacts (linux_ppc64le) 117 uses: actions/upload-artifact@v1 118 with: 119 name: linux_ppc64le 120 path: bin_ppc64le 121 122 windows: 123 name: Windows 124 runs-on: windows-latest 125 steps: 126 - name: Set up Go 127 uses: actions/setup-go@v1 128 with: 129 go-version: '1.15.2' 130 131 - name: Checkout 132 uses: actions/checkout@v1 133 env: 134 GOPATH: ${{ runner.workspace }} 135 GO111MODULE: off 136 with: 137 path: ./src/github.com/containerd/containerd 138 139 - name: Build amd64 140 env: 141 GOPATH: ${{ runner.workspace }} 142 GOOS: windows 143 GOARCH: amd64 144 run: | 145 make binaries 146 147 - name: Upload artifacts (windows_amd64) 148 uses: actions/upload-artifact@v1 149 with: 150 name: windows_amd64 151 path: bin