|
11 | 11 | jobs: |
12 | 12 | linux: |
13 | 13 | runs-on: ubuntu-16.04 |
| 14 | + strategy: |
| 15 | + matrix: |
| 16 | + target: [i686-unknown-linux-gnu, x86_64-unknown-linux-gnu] |
14 | 17 | steps: |
15 | 18 | - uses: actions/checkout@v2 |
16 | 19 | - uses: GoogleCloudPlatform/github-actions/setup-gcloud@master |
17 | 20 | with: |
18 | 21 | project_id: ${{ secrets.GCP_PROJECT_ID }} |
19 | 22 | service_account_key: ${{ secrets.GCP_SA_KEY }} |
| 23 | + - name: Install dependencies |
| 24 | + run: sudo apt install -y gcc-multilib # required to build for 32-bit arch |
20 | 25 | - name: Cargo build |
21 | | - run: cargo build -p tmc-langs-cli --release --verbose |
| 26 | + run: | |
| 27 | + rustup target add ${{ matrix.target }} |
| 28 | + cargo build -p tmc-langs-cli --release --verbose --target ${{ matrix.target }} |
22 | 29 | - name: Deploy |
23 | | - run: gsutil cp target/release/tmc-langs-cli gs://${{ secrets.GCP_BUCKET }}/tmc-langs-rust/tmc-langs-cli-linux-$TAG |
| 30 | + run: gsutil cp target/release/tmc-langs-cli gs://${{ secrets.GCP_BUCKET }}/tmc-langs-rust/tmc-langs-cli-${{ matrix.target }}-$TAG |
24 | 31 |
|
25 | 32 | windows: |
26 | 33 | runs-on: windows-latest |
| 34 | + strategy: |
| 35 | + matrix: |
| 36 | + target: [i686-pc-windows-msvc, x86_64-pc-windows-msvc] |
27 | 37 | steps: |
28 | 38 | - uses: actions/checkout@v2 |
29 | 39 | - uses: GoogleCloudPlatform/github-actions/setup-gcloud@master |
30 | 40 | with: |
31 | 41 | project_id: ${{ secrets.GCP_PROJECT_ID }} |
32 | 42 | service_account_key: ${{ secrets.GCP_SA_KEY }} |
33 | 43 | - name: Cargo build |
34 | | - run: cargo build -p tmc-langs-cli --release --verbose |
| 44 | + run: | |
| 45 | + rustup target add ${{ matrix.target }} |
| 46 | + cargo build -p tmc-langs-cli --release --verbose --target ${{ matrix.target }} |
35 | 47 | - name: Deploy |
36 | 48 | run: | |
37 | 49 | $env:python_version=$(python -c 'import sys; print(\".\".join(map(str, sys.version_info[:3])))') |
38 | 50 | $env:CLOUDSDK_PYTHON="C:\hostedtoolcache\windows\Python\$env:python_version\x64\python" |
39 | | - gsutil cp target/release/tmc-langs-cli.exe gs://${{ secrets.GCP_BUCKET }}/tmc-langs-rust/tmc-langs-cli-windows-$Env:TAG.exe |
| 51 | + gsutil cp target/release/tmc-langs-cli.exe gs://${{ secrets.GCP_BUCKET }}/tmc-langs-rust/tmc-langs-cli-${{ matrix.target }}-$Env:TAG.exe |
40 | 52 |
|
41 | 53 | macos: |
42 | 54 | runs-on: macos-latest |
| 55 | + strategy: |
| 56 | + matrix: |
| 57 | + target: [i686-apple-darwin, x86_64-apple-darwin] |
43 | 58 | steps: |
44 | 59 | - uses: actions/checkout@v2 |
45 | 60 | - uses: GoogleCloudPlatform/github-actions/setup-gcloud@master |
46 | 61 | with: |
47 | 62 | project_id: ${{ secrets.GCP_PROJECT_ID }} |
48 | 63 | service_account_key: ${{ secrets.GCP_SA_KEY }} |
49 | 64 | - name: Cargo build |
50 | | - run: cargo build -p tmc-langs-cli --release --verbose |
| 65 | + run: | |
| 66 | + rustup target add ${{ matrix.target }} |
| 67 | + cargo build -p tmc-langs-cli --release --verbose --target ${{ matrix.target }} |
51 | 68 | - name: Deploy |
52 | | - run: gsutil cp target/release/tmc-langs-cli gs://${{ secrets.GCP_BUCKET }}/tmc-langs-rust/tmc-langs-cli-macos-$TAG |
| 69 | + run: gsutil cp target/release/tmc-langs-cli gs://${{ secrets.GCP_BUCKET }}/tmc-langs-rust/tmc-langs-cli-${{ matrix.target }}-$TAG |
0 commit comments