mirror of https://gitlab.com/fscarmen/test.git
parent
0f49c62db7
commit
6bfb55c3c6
@ -0,0 +1,119 @@ |
||||
name: CI |
||||
|
||||
on: |
||||
workflow_dispatch: |
||||
|
||||
jobs: |
||||
style: |
||||
name: Check Style |
||||
runs-on: ubuntu-latest |
||||
steps: |
||||
- name: Checkout |
||||
uses: actions/checkout@v1 |
||||
|
||||
- name: Install rust |
||||
uses: actions-rs/toolchain@v1 |
||||
with: |
||||
toolchain: stable |
||||
components: rustfmt |
||||
profile: minimal |
||||
override: true |
||||
|
||||
- name: cargo fmt -- --check |
||||
uses: actions-rs/cargo@v1 |
||||
with: |
||||
command: fmt |
||||
args: --all -- --check |
||||
|
||||
|
||||
test: |
||||
name: Test |
||||
needs: [style] |
||||
runs-on: ubuntu-latest |
||||
|
||||
strategy: |
||||
matrix: |
||||
build: [stable, beta, nightly] |
||||
include: |
||||
- build: beta |
||||
rust: beta |
||||
- build: nightly |
||||
rust: nightly |
||||
benches: true |
||||
|
||||
steps: |
||||
- name: Checkout |
||||
uses: actions/checkout@v1 |
||||
|
||||
- name: Install rust |
||||
uses: actions-rs/toolchain@v1 |
||||
with: |
||||
toolchain: ${{ matrix.rust || 'stable' }} |
||||
profile: minimal |
||||
override: true |
||||
|
||||
- name: Build debug |
||||
uses: actions-rs/cargo@v1 |
||||
with: |
||||
command: build |
||||
args: ${{ matrix.features }} |
||||
|
||||
- name: Test |
||||
uses: actions-rs/cargo@v1 |
||||
with: |
||||
command: test |
||||
args: ${{ matrix.features }} |
||||
|
||||
- name: Test all benches |
||||
if: matrix.benches |
||||
uses: actions-rs/cargo@v1 |
||||
with: |
||||
command: test |
||||
args: --benches ${{ matrix.features }} |
||||
deploy: |
||||
name: deploy |
||||
needs: [test] |
||||
if: startsWith(github.ref, 'refs/tags/') |
||||
runs-on: ubuntu-latest |
||||
strategy: |
||||
matrix: |
||||
target: [ aarch64-unknown-linux-gnu, armv7-unknown-linux-gnueabihf, i686-unknown-linux-gnu, i686-unknown-linux-musl, mips-unknown-linux-gnu, mips64-unknown-linux-gnuabi64, mips64el-unknown-linux-gnuabi64, mipsel-unknown-linux-gnu, powerpc-unknown-linux-gnu, powerpc64-unknown-linux-gnu, powerpc64le-unknown-linux-gnu, arm-unknown-linux-gnueabi ,x86_64-unknown-linux-gnu ,x86_64-unknown-linux-musl] |
||||
steps: |
||||
- name: Checkout |
||||
uses: actions/checkout@v1 |
||||
|
||||
- name: Git clone BorningTun |
||||
run: | |
||||
git clone https://github.com/cloudflare/boringtun.git |
||||
cd boringtun |
||||
|
||||
- name: Install rust |
||||
uses: actions-rs/toolchain@v1 |
||||
with: |
||||
toolchain: stable |
||||
profile: minimal |
||||
override: true |
||||
target: ${{ matrix.target }} |
||||
|
||||
- name: Build target |
||||
uses: actions-rs/cargo@v1 |
||||
with: |
||||
use-cross: true |
||||
command: build |
||||
args: --release --target ${{ matrix.target }} |
||||
|
||||
- name: Package |
||||
shell: bash |
||||
run: | |
||||
#strip target/${{ matrix.target }}/release/testmest |
||||
cd target/${{ matrix.target }}/release |
||||
tar czvf ../../../testmest-${{ matrix.target }}.tar.gz testmest |
||||
cd - |
||||
- name: Publish |
||||
uses: softprops/action-gh-release@v1 |
||||
# TODO: if any of the build step fails, the release should be deleted. |
||||
with: |
||||
files: 'testmest*' |
||||
env: |
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
||||
|
||||
Loading…
Reference in new issue