Skip to content

Commit 7abd594

Browse files
committed
ci: more matrix
1 parent 745397f commit 7abd594

1 file changed

Lines changed: 31 additions & 34 deletions

File tree

.github/workflows/release.yml

Lines changed: 31 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -11,22 +11,31 @@ on:
1111

1212
jobs:
1313
job-matrix:
14-
name: ${{ matrix.os }}; ${{ matrix.cross-target }}
14+
name: ${{ matrix.os }}; release:${{ matrix.release-build }}; ${{ matrix.cross-target }}
1515
runs-on: ${{ matrix.os }}
1616
strategy:
1717
fail-fast: true
1818
matrix:
1919
include:
2020
- os: ubuntu-latest
21+
- os: ubuntu-latest
22+
release-build: true
23+
24+
- os: macos-latest
25+
- os: macos-latest
26+
release-build: true
27+
2128
- os: macos-latest
29+
cross-target: aarch64-apple-darwin
2230
- os: macos-latest
2331
cross-target: aarch64-apple-darwin
32+
release-build: true
2433

2534
steps:
2635
- uses: actions/checkout@v2
2736

28-
- name: Set build-target outputs
29-
id: set-build-target
37+
- name: Set outputs
38+
id: set-outputs
3039
run: |
3140
if [[ "${{ matrix.cross-target }}" ]]; then
3241
echo "::set-output name=build-target::${{ matrix.cross-target }}"
@@ -39,6 +48,14 @@ jobs:
3948
exit 1
4049
fi
4150
51+
if [[ "${{ matrix.release-build }}" ]]; then
52+
echo "::set-output name=release-build-option::--release"
53+
echo "::set-output name=build-type::release"
54+
else
55+
echo "::set-output name=release-build-option::"
56+
echo "::set-output name=build-type::debug"
57+
fi
58+
4259
- name: Install Rust stable
4360
uses: actions-rs/toolchain@v1
4461
with:
@@ -52,48 +69,28 @@ jobs:
5269
run: |
5370
rustup target add ${{ matrix.cross-target }}
5471
55-
- name: debug build (straight build)
56-
if: ${{ ! matrix.cross-target }}
57-
run: |
58-
cargo build
59-
60-
- name: debug build (cross build)
61-
if: ${{ matrix.cross-target }}
72+
- name: build (${{ steps.set-outputs.outputs.build-type }}; ${{ matrix.cross-target }})
6273
run: |
63-
cargo build --target=${{ matrix.cross-target }}
64-
ls target/debug/
65-
find target/debug/
74+
cargo build ${{ steps.set-outputs.outputs.release-build-option }} --target=${{ matrix.cross-target }}
6675
67-
- name: create debug artifact
76+
- name: create artifact
6877
run: |
69-
d=springql_client-${{ steps.set-build-target.outputs.build-target }}-debug
70-
mkdir ${d}
78+
artifact_dir=springql_client-${{ steps.set-outputs.outputs.build-target }}-${{ steps.set-outputs.outputs.build-type }}
79+
target_dir=target/${{ matrix.cross-target }}/${{ steps.set-outputs.outputs.build-type }}
7180
72-
cp springql.h ${d}/
73-
mv target/debug/libspringql_client.{so,dylib} ${d}/ || :
74-
75-
zip -r ${d}.zip ${d}
76-
77-
- name: release build (straight build)
78-
if: ${{ ! matrix.cross-target }}
79-
run: |
80-
cargo build --release
81-
- name: create release artifact
82-
run: |
83-
d=springql_client-${{ steps.set-build-target.outputs.build-target }}-release
84-
mkdir ${d}
81+
mkdir ${artifact_dir}
8582
86-
cp springql.h ${d}/
87-
mv target/release/libspringql_client.{so,dylib} ${d}/ || :
83+
cp springql.h ${artifact_dir}/
84+
mv ${target_dir}/libspringql_client.{so,dylib} ${artifact_dir}/ || :
8885
89-
zip -r ${d}.zip ${d}
86+
zip -r ${artifact_dir}.zip ${artifact_dir}
9087
91-
# - name: Upload Files to a GitHub Release (${{ steps.set-build-target.outputs.os }})
88+
# - name: Upload Files to a GitHub Release (${{ steps.set-outputs.outputs.os }})
9289
# uses: svenstaro/upload-release-action@2.2.1
9390
# with:
9491
# repo_token: ${{ secrets.GITHUB_TOKEN }}
9592
# file_glob: true
96-
# file: springql_client-${{ steps.set-build-target.outputs.os }}-*.zip
93+
# file: springql_client-${{ steps.set-outputs.outputs.os }}-*.zip
9794
# tag: ${{ github.ref }}
9895
# overwrite: true
9996
# prerelease: false

0 commit comments

Comments
 (0)