| name: Nightly |
| on: |
| schedule: |
| - cron: "0 0 * * *" # Every day at midnight |
| pull_request: |
| paths: |
| - ".github/workflows/nightly.yml" |
| |
| permissions: # added using https://github.com/step-security/secure-workflows |
| contents: read |
| |
| jobs: |
| linux: |
| name: Linux |
| runs-on: ubuntu-latest |
| timeout-minutes: 30 |
| |
| defaults: |
| run: |
| working-directory: src/github.com/containerd/containerd |
| |
| steps: |
| - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 |
| with: |
| path: src/github.com/containerd/containerd |
| |
| - uses: ./src/github.com/containerd/containerd/.github/actions/install-go |
| |
| - name: Set env |
| shell: bash |
| run: | |
| echo "GOPATH=${{ github.workspace }}" >> $GITHUB_ENV |
| echo "${{ github.workspace }}/bin" >> $GITHUB_PATH |
| |
| # |
| # Build |
| # |
| |
| - name: Install dependencies |
| run: | |
| sudo apt-get update || true |
| |
| sudo apt-get install -y \ |
| crossbuild-essential-arm64 \ |
| crossbuild-essential-s390x \ |
| crossbuild-essential-ppc64el \ |
| crossbuild-essential-riscv64 \ |
| |
| - name: Build amd64 |
| env: |
| GOOS: linux |
| GOARCH: amd64 |
| run: | |
| make binaries |
| mv bin bin_amd64 |
| |
| - name: Build arm64 |
| env: |
| GOOS: linux |
| GOARCH: arm64 |
| CC: aarch64-linux-gnu-gcc |
| CGO_ENABLED: 1 |
| run: | |
| make binaries |
| mv bin bin_arm64 |
| |
| - name: Build s390x |
| env: |
| GOOS: linux |
| GOARCH: s390x |
| CGO_ENABLED: 1 |
| CC: s390x-linux-gnu-gcc |
| run: | |
| make binaries |
| mv bin bin_s390x |
| |
| - name: Build ppc64le |
| env: |
| GOOS: linux |
| GOARCH: ppc64le |
| CGO_ENABLED: 1 |
| CC: powerpc64le-linux-gnu-gcc |
| run: | |
| make binaries |
| mv bin bin_ppc64le |
| |
| - name: Build riscv64 |
| env: |
| GOOS: linux |
| GOARCH: riscv64 |
| CGO_ENABLED: 1 |
| CC: riscv64-linux-gnu-gcc |
| run: | |
| make binaries |
| mv bin bin_riscv64 |
| |
| # |
| # Upload |
| # |
| |
| - name: Upload artifacts (linux_amd64) |
| uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 |
| with: |
| name: linux_amd64 |
| path: src/github.com/containerd/containerd/bin_amd64 |
| |
| - name: Upload artifacts (linux_arm64) |
| uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 |
| with: |
| name: linux_arm64 |
| path: src/github.com/containerd/containerd/bin_arm64 |
| |
| - name: Upload artifacts (linux_s390x) |
| uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 |
| with: |
| name: linux_s390x |
| path: src/github.com/containerd/containerd/bin_s390x |
| |
| - name: Upload artifacts (linux_ppc64le) |
| uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 |
| with: |
| name: linux_ppc64le |
| path: src/github.com/containerd/containerd/bin_ppc64le |
| |
| - name: Upload artifacts (linux_riscv64) |
| uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 |
| with: |
| name: linux_riscv64 |
| path: src/github.com/containerd/containerd/bin_riscv64 |
| |
| windows: |
| name: Windows |
| runs-on: windows-latest |
| timeout-minutes: 30 |
| |
| defaults: |
| run: |
| working-directory: src/github.com/containerd/containerd |
| |
| steps: |
| - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 |
| with: |
| path: src/github.com/containerd/containerd |
| |
| - uses: ./src/github.com/containerd/containerd/.github/actions/install-go |
| |
| - name: Set env |
| shell: bash |
| run: | |
| echo "GOPATH=${{ github.workspace }}" >> $GITHUB_ENV |
| echo "${{ github.workspace }}/bin" >> $GITHUB_PATH |
| |
| - name: Build amd64 |
| env: |
| GOOS: windows |
| GOARCH: amd64 |
| run: | |
| make binaries |
| |
| - name: Upload artifacts (windows_amd64) |
| uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 |
| with: |
| name: windows_amd64 |
| path: src/github.com/containerd/containerd/bin/ |