From 204839bcf91891f97b2003021171472f24054d10 Mon Sep 17 00:00:00 2001 From: Andrey Zgarbul Date: Fri, 11 Feb 2022 10:31:37 +0300 Subject: [PATCH] ci --- .github/workflows/ci.yaml | 62 +++++++++++++++++------------ .github/workflows/mmaps_master.yaml | 6 ++- .github/workflows/mmaps_pr.yaml | 6 ++- 3 files changed, 46 insertions(+), 28 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 7cf2326ee..a3a151bf1 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -6,9 +6,33 @@ on: pull_request: jobs: + install-deps: + name: Install svdtools & svd2rust + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + profile: minimal + override: true + components: rustfmt + + - name: Cache dependencies + uses: Swatinem/rust-cache@v1 + with: + sharedKey: prebuilded + + - name: Self install + run: | + cargo install svdtools --version 0.2.0 + cargo install svd2rust --version 0.21.0 + check: name: Check runs-on: ubuntu-latest + needs: [install-deps] strategy: matrix: crate: @@ -28,12 +52,16 @@ jobs: - stm32mp1 - stm32wl - stm32wb + env: CRATES: ${{ matrix.crate }} CARGO_INCREMENTAL: 0 + SVDTOOLS: svdtools + steps: - name: Checkout code uses: actions/checkout@v2 + - name: Install Rust uses: actions-rs/toolchain@v1 with: @@ -41,38 +69,20 @@ jobs: profile: minimal override: true components: rustfmt - - name: Install xmllint - run: sudo apt-get install libxml2-utils - - name: Install Python dependencies - run: | - pip3 install --user setuptools wheel - pip3 install --user svdtools - - name: Put pip binary directory into path - run: echo "~/.local/bin" >> $GITHUB_PATH - - name: Cache Cargo installed binaries - uses: actions/cache@v1 - id: cache-cargo - with: - path: ~/cargo-bin - key: ${{ runner.os }}-svd2rust-0.21.0 - - name: Install svd2rust - if: steps.cache-cargo.outputs.cache-hit != 'true' - uses: actions-rs/install@v0.1 + + - name: Cache + uses: Swatinem/rust-cache@v1 with: - crate: svd2rust - version: 0.21.0 - - name: Copy svd2rust to cache directory - if: steps.cache-cargo.outputs.cache-hit != 'true' - run: | - mkdir ~/cargo-bin - cp ~/.cargo/bin/svd2rust ~/cargo-bin - - name: Put new cargo binary directory into path - run: echo "~/cargo-bin" >> $GITHUB_PATH + sharedKey: prebuilded + - name: Patch SVDs run: make -j2 patch + - name: Check SVDs run: make lint + - name: Build PACs run: make -j2 svd2rust + - name: Check PACs run: make -j2 check diff --git a/.github/workflows/mmaps_master.yaml b/.github/workflows/mmaps_master.yaml index 6e757eb8a..d4dca4ac6 100644 --- a/.github/workflows/mmaps_master.yaml +++ b/.github/workflows/mmaps_master.yaml @@ -9,6 +9,10 @@ jobs: build: name: Build mmaps runs-on: ubuntu-18.04 + + env: + SVDTOOLS: svdtools + steps: - name: Checkout stm32-rs uses: actions/checkout@v2 @@ -33,7 +37,7 @@ jobs: run: | cd stm32-rs COMMIT=$(git rev-parse HEAD) - SVDTOOLS=svdtools make -j2 mmaps + make -j2 mmaps mv mmaps/* ../stm32-rs-mmaps/ cd ../stm32-rs-mmaps git config user.name "stm32-rs builder" diff --git a/.github/workflows/mmaps_pr.yaml b/.github/workflows/mmaps_pr.yaml index c20b8d035..f2c006c51 100644 --- a/.github/workflows/mmaps_pr.yaml +++ b/.github/workflows/mmaps_pr.yaml @@ -8,6 +8,10 @@ jobs: name: Compare mmaps runs-on: ubuntu-18.04 continue-on-error: true + + env: + SVDTOOLS: svdtools + steps: - name: Checkout master uses: actions/checkout@v2 @@ -46,7 +50,7 @@ jobs: cd ../master rm -rf devices peripherals mv ../pr/devices ../pr/peripherals . - SVDTOOLS=svdtools make -j2 mmaps + make -j2 mmaps # Use the new mmaps to make a commit in the mmaps repo mv mmaps/* ../mmaps/