github.com/minio/console@v1.3.0/.github/workflows/cross-compile.yaml (about) 1 # @format 2 3 name: Cross Compile 4 5 on: 6 pull_request: 7 branches: 8 - master 9 paths: 10 - go.sum 11 12 # This ensures that previous jobs for the PR are canceled when the PR is 13 # updated. 14 concurrency: 15 group: ${{ github.workflow }}-${{ github.head_ref }} 16 cancel-in-progress: true 17 18 jobs: 19 cross-compile-1: 20 name: Cross compile 21 needs: 22 - lint-job 23 - ui-assets 24 - reuse-golang-dependencies 25 - semgrep-static-code-analysis 26 runs-on: ${{ matrix.os }} 27 strategy: 28 matrix: 29 go-version: [ 1.21.x ] 30 os: [ ubuntu-latest ] 31 steps: 32 - name: Check out code 33 uses: actions/checkout@v3 34 35 - name: Set up Go ${{ matrix.go-version }} on ${{ matrix.os }} 36 uses: actions/setup-go@v3 37 with: 38 go-version: ${{ matrix.go-version }} 39 cache: true 40 id: go 41 42 - name: Build on ${{ matrix.os }} 43 env: 44 GO111MODULE: on 45 GOOS: linux 46 run: | 47 make crosscompile arg1="'linux/ppc64le linux/mips64'" 48 49 cross-compile-2: 50 name: Cross compile 2 51 needs: 52 - lint-job 53 - ui-assets 54 - reuse-golang-dependencies 55 - semgrep-static-code-analysis 56 runs-on: ${{ matrix.os }} 57 strategy: 58 matrix: 59 go-version: [ 1.21.x ] 60 os: [ ubuntu-latest ] 61 steps: 62 - name: Check out code 63 uses: actions/checkout@v3 64 - name: Set up Go ${{ matrix.go-version }} on ${{ matrix.os }} 65 uses: actions/setup-go@v3 66 with: 67 go-version: ${{ matrix.go-version }} 68 cache: true 69 id: go 70 71 - name: Build on ${{ matrix.os }} 72 env: 73 GO111MODULE: on 74 GOOS: linux 75 run: | 76 make crosscompile arg1="'linux/arm64 linux/s390x'" 77 78 cross-compile-3: 79 name: Cross compile 3 80 needs: 81 - lint-job 82 - ui-assets 83 - reuse-golang-dependencies 84 - semgrep-static-code-analysis 85 runs-on: ${{ matrix.os }} 86 strategy: 87 matrix: 88 go-version: [ 1.21.x ] 89 os: [ ubuntu-latest ] 90 steps: 91 - name: Check out code 92 uses: actions/checkout@v3 93 94 - name: Set up Go ${{ matrix.go-version }} on ${{ matrix.os }} 95 uses: actions/setup-go@v3 96 with: 97 go-version: ${{ matrix.go-version }} 98 cache: true 99 id: go 100 101 - name: Build on ${{ matrix.os }} 102 env: 103 GO111MODULE: on 104 GOOS: linux 105 run: | 106 make crosscompile arg1="'darwin/amd64 freebsd/amd64'" 107 108 cross-compile-4: 109 name: Cross compile 4 110 needs: 111 - lint-job 112 - ui-assets 113 - reuse-golang-dependencies 114 - semgrep-static-code-analysis 115 runs-on: ${{ matrix.os }} 116 strategy: 117 matrix: 118 go-version: [ 1.21.x ] 119 os: [ ubuntu-latest ] 120 steps: 121 - name: Check out code 122 uses: actions/checkout@v3 123 124 - name: Set up Go ${{ matrix.go-version }} on ${{ matrix.os }} 125 uses: actions/setup-go@v3 126 with: 127 go-version: ${{ matrix.go-version }} 128 cache: true 129 id: go 130 131 - name: Build on ${{ matrix.os }} 132 env: 133 GO111MODULE: on 134 GOOS: linux 135 run: | 136 make crosscompile arg1="'windows/amd64 linux/arm'" 137 138 cross-compile-5: 139 name: Cross compile 5 140 needs: 141 - lint-job 142 - ui-assets 143 - reuse-golang-dependencies 144 - semgrep-static-code-analysis 145 runs-on: ${{ matrix.os }} 146 strategy: 147 matrix: 148 go-version: [ 1.21.x ] 149 os: [ ubuntu-latest ] 150 steps: 151 - name: Check out code 152 uses: actions/checkout@v3 153 154 - name: Set up Go ${{ matrix.go-version }} on ${{ matrix.os }} 155 uses: actions/setup-go@v3 156 with: 157 go-version: ${{ matrix.go-version }} 158 cache: true 159 id: go 160 161 - name: Build on ${{ matrix.os }} 162 env: 163 GO111MODULE: on 164 GOOS: linux 165 run: | 166 make crosscompile arg1="'linux/386 netbsd/amd64'"