diff options
89 files changed, 1712 insertions, 2406 deletions
diff --git a/.github/workflows/build-workflow.yml b/.github/workflows/build-workflow.yml index e2a38ce4..551f4d6c 100644 --- a/.github/workflows/build-workflow.yml +++ b/.github/workflows/build-workflow.yml @@ -7,17 +7,18 @@ on: env: CARGO_TERM_COLOR: always + RUSTFLAGS: -D warnings jobs: - build_amd64: - name: Build tedge and mapper Debian packages for amd64 + build-amd64: + name: Build for amd64 runs-on: Ubuntu-20.04 steps: - name: Checkout uses: actions/checkout@v2 - - name: enable toolchain via github action + - name: Enable toolchain via github action # https://github.com/actions-rs/toolchain uses: actions-rs/toolchain@v1 with: @@ -28,75 +29,8 @@ jobs: # https://github.com/marketplace/actions/rust-cache uses: Swatinem/rust-cache@v1 - - name: Install cargo-deb - uses: actions-rs/cargo@v1 - # https://github.com/marketplace/actions/rust-cargo - with: - command: install - args: cargo-deb --version 1.38.1 - - - name: Build tedge debian package - uses: actions-rs/cargo@v1 - # https://github.com/marketplace/actions/rust-cargo - with: - command: deb - args: -p tedge - - - name: Build tedge_mapper debian package - uses: actions-rs/cargo@v1 - # https://github.com/marketplace/actions/rust-cargo - with: - command: deb - args: -p tedge_mapper - - - name: Build tedge_apt_plugin debian package - uses: actions-rs/cargo@v1 - # https://github.com/marketplace/actions/rust-cargo - with: - command: deb - args: -p tedge_apt_plugin - - - name: Build tedge_apama_plugin debian package - uses: actions-rs/cargo@v1 - # https://github.com/marketplace/actions/rust-cargo - with: - command: deb - args: -p tedge_apama_plugin - - - name: Build tedge_agent debian package - uses: actions-rs/cargo@v1 - # https://github.com/marketplace/actions/rust-cargo - with: - command: deb - args: -p tedge_agent - - - name: Build tedge_watchdog debian package - uses: actions-rs/cargo@v1 - # https://github.com/marketplace/actions/rust-cargo - with: - command: deb - args: -p tedge_watchdog - - - name: Build c8y_log_plugin debian package - uses: actions-rs/cargo@v1 - # https://github.com/marketplace/actions/rust-cargo - with: - command: deb - args: -p c8y_log_plugin - - - name: Build c8y_configuration_plugin debian package - uses: actions-rs/cargo@v1 - # https://github.com/marketplace/actions/rust-cargo - with: - command: deb - args: -p c8y_configuration_plugin - - - name: build sawtooth-publisher for amd64 - uses: actions-rs/cargo@v1 - # https://github.com/marketplace/actions/rust-cargo - with: - command: build - args: --release -p sawtooth_publisher + - name: Build packages for amd64 + run: ./ci/build_scripts/build_for_amd64.sh - name: Upload artifacts as zip # https://github.com/marketplace/actions/upload-a-build-artifact @@ -105,34 +39,12 @@ jobs: name: debian-packages-amd64 path: target/debian/*.deb - - name: upload amd64 sawtooth-publisher as zip - # https://github.com/marketplace/actions/upload-a-build-artifact - uses: actions/upload-artifact@v2 - with: - name: sawtooth_publisher_amd64 - path: target/release/sawtooth_publisher - - - name: Build tedge_dummy_plugin - uses: actions-rs/cargo@v1 - # https://github.com/marketplace/actions/rust-cargo - with: - command: build - args: --release -p tedge_dummy_plugin - - - name: upload dummy-plugin - # https://github.com/marketplace/actions/upload-a-build-artifact - uses: actions/upload-artifact@v2 - with: - name: tedge_dummy_plugin_amd64 - path: target/release/tedge_dummy_plugin - - build_matrix_arm: - name: Build tedge and mapper Debian for armv7 + build-arm-matrix: + name: Build for ${{ matrix.target }} runs-on: Ubuntu-20.04 - strategy: matrix: - # Currently only arm targets, as we use a custom strip binary ! + # Add only arm targets here as we use a custom strip binary! target: [ aarch64-unknown-linux-gnu, @@ -143,10 +55,10 @@ jobs: ] steps: - - name: checkout + - name: Checkout uses: actions/checkout@v2 - - name: enable toolchain via github action + - name: Enable toolchain via github action # https://github.com/actions-rs/toolchain uses: actions-rs/toolchain@v1 with: @@ -158,152 +70,24 @@ jobs: # https://github.com/marketplace/actions/rust-cache uses: Swatinem/rust-cache@v1 - - name: install cargo-deb - uses: actions-rs/cargo@v1 - # https://github.com/marketplace/actions/rust-cargo - with: - command: install - args: cargo-deb --version 1.38.1 - - - name: install cargo-strip - uses: actions-rs/cargo@v1 - # https://github.com/marketplace/actions/rust-cargo - with: - command: install - args: cargo-strip - - - name: build cross release for target - uses: actions-rs/cargo@v1 - # https://github.com/marketplace/actions/rust-cargo - with: - use-cross: true - command: build - args: --release --target=${{ matrix.target }} - - - name: apt update - run: sudo apt update - - # armv7 uses `arm-linux-gnueabihf-strip`; aarch64 uses `aarch64-linux-gnu-strip` - # It appears `aarch64-linux-gnu-strip` seems to work explicitly on other arm bins but not other way around. - - name: Install binutils to add `strip` for striping arm binaries - run: sudo apt-get --assume-yes install binutils-arm-linux-gnueabihf binutils-aarch64-linux-gnu - |