From cad6c42ecc2da5c79ab774983155170212c4f30b Mon Sep 17 00:00:00 2001 From: TiejunZhou <50469179+TiejunMS@users.noreply.github.com> Date: Fri, 24 Nov 2023 16:23:21 +0800 Subject: [PATCH] Fix action to run on fork repo for cortex-m builds and unify them (#326) --- .github/workflows/cache-update.yml | 28 -------- .../{ci_cortex_m7.yml => ci_cortex_m.yml} | 20 ++++-- .github/workflows/ci_cortex_m0.yml | 69 ------------------- .github/workflows/ci_cortex_m3.yml | 69 ------------------- .github/workflows/ci_cortex_m4.yml | 69 ------------------- 5 files changed, 14 insertions(+), 241 deletions(-) delete mode 100644 .github/workflows/cache-update.yml rename .github/workflows/{ci_cortex_m7.yml => ci_cortex_m.yml} (84%) delete mode 100644 .github/workflows/ci_cortex_m0.yml delete mode 100644 .github/workflows/ci_cortex_m3.yml delete mode 100644 .github/workflows/ci_cortex_m4.yml diff --git a/.github/workflows/cache-update.yml b/.github/workflows/cache-update.yml deleted file mode 100644 index aadd48a91..000000000 --- a/.github/workflows/cache-update.yml +++ /dev/null @@ -1,28 +0,0 @@ -name: cache-update - -on: - schedule: - - cron: '0 0 */3 * *' # every 30m for testing - -# A workflow run is made up of one or more jobs that can run sequentially or in parallel -jobs: - # This workflow contains a single job called "build" - build: - # The type of runner that the job will run on - runs-on: ubuntu-latest - - # Steps represent a sequence of tasks that will be executed as part of the job - steps: # Cache location for arm tools - - name: Cache arm-none-eabi-gcc tools - id: cache-arm-gcc - uses: actions/cache@v1 - with: - path: $HOME/arm-none-eabi-gcc-9-2019-q4 - key: ${{ runner.os }}-arm-gcc-9-2019-q4 - - # Get the arm-non-eabi-gcc toolchain - - name: Install arm-none-eabi-gcc - uses: fiam/arm-none-eabi-gcc@v1 - with: - release: '9-2019-q4' # The arm-none-eabi-gcc release to use. - directory: $HOME/arm-none-eabi-gcc-9-2019-q4 diff --git a/.github/workflows/ci_cortex_m7.yml b/.github/workflows/ci_cortex_m.yml similarity index 84% rename from .github/workflows/ci_cortex_m7.yml rename to .github/workflows/ci_cortex_m.yml index 4089cefb1..57e1149bb 100644 --- a/.github/workflows/ci_cortex_m7.yml +++ b/.github/workflows/ci_cortex_m.yml @@ -1,6 +1,6 @@ # This is a basic workflow to help you get started with Actions -name: cortex_m7 +name: cortex_m # Controls when the action will run. Triggers the workflow on push or pull request # events but only for the master branch @@ -10,9 +10,12 @@ on: pull_request: branches: [ master ] paths: - - ".github/workflows/ci_cortex_m7.yml" + - ".github/workflows/ci_cortex_m.yml" - 'common/**' - 'utility/**' + - 'ports/cortex_m0/gnu/**' + - 'ports/cortex_m3/gnu/**' + - 'ports/cortex_m4/gnu/**' - 'ports/cortex_m7/gnu/**' # A workflow run is made up of one or more jobs that can run sequentially or in parallel @@ -22,13 +25,18 @@ jobs: # The type of runner that the job will run on runs-on: ubuntu-latest + strategy: + matrix: + port: [0, 3, 4, 7] + + name: Cortex M${{ matrix.port }} build + # Steps represent a sequence of tasks that will be executed as part of the job steps: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - - name: Checkout sources recursively - uses: actions/checkout@v2 + - name: Check out the repository + uses: actions/checkout@v4 with: - token: ${{ secrets.REPO_SCOPED_TOKEN }} submodules: true # Store the arm compilers in the cache to speed up builds @@ -57,7 +65,7 @@ jobs: # Prepare the build system - name: Prepare build system - run: cmake -Bbuild -DCMAKE_TOOLCHAIN_FILE=./cmake/cortex_m7.cmake -GNinja . + run: cmake -Bbuild -DCMAKE_TOOLCHAIN_FILE=./cmake/cortex_m${{ matrix.port }}.cmake -GNinja . env: PATH: "$HOME/arm-none-eabi-gcc-9-2019-q4/bin:$PATH" diff --git a/.github/workflows/ci_cortex_m0.yml b/.github/workflows/ci_cortex_m0.yml deleted file mode 100644 index 0e1568f40..000000000 --- a/.github/workflows/ci_cortex_m0.yml +++ /dev/null @@ -1,69 +0,0 @@ -# This is a basic workflow to help you get started with Actions - -name: cortex_m0 - -# Controls when the action will run. Triggers the workflow on push or pull request -# events but only for the master branch -on: - push: - branches: [ master ] - pull_request: - branches: [ master ] - paths: - - ".github/workflows/ci_cortex_m0.yml" - - 'common/**' - - 'utility/**' - - 'ports/cortex_m0/gnu/**' - -# A workflow run is made up of one or more jobs that can run sequentially or in parallel -jobs: - # This workflow contains a single job called "build" - build: - # The type of runner that the job will run on - runs-on: ubuntu-latest - - # Steps represent a sequence of tasks that will be executed as part of the job - steps: - # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - - name: Checkout sources recursively - uses: actions/checkout@v2 - with: - token: ${{ secrets.REPO_SCOPED_TOKEN }} - submodules: true - - # Store the arm compilers in the cache to speed up builds - - name: Cache arm-none-eabi-gcc tools - id: cache-arm-gcc - uses: actions/cache@v1 - with: - path: $HOME/arm-none-eabi-gcc-9-2019-q4 - key: ${{ runner.os }}-arm-gcc-9-2019-q4 - - # Get the arm-non-eabi-gcc toolchain - - name: Install arm-none-eabi-gcc - uses: fiam/arm-none-eabi-gcc@v1 - if: steps.cache-arm-gcc.outputs.cache-hit != 'true' - with: - release: '9-2019-q4' # The arm-none-eabi-gcc release to use. - directory: $HOME/arm-none-eabi-gcc-9-2019-q4 - - # Get CMake into the environment - - name: Install cmake 3.19.1 - uses: lukka/get-cmake@v3.19.1 - - # Get Ninja into the environment - - name: Install ninja-build - uses: seanmiddleditch/gha-setup-ninja@v3 - - # Prepare the build system - - name: Prepare build system - run: cmake -Bbuild -DCMAKE_TOOLCHAIN_FILE=./cmake/cortex_m0.cmake -GNinja . - env: - PATH: "$HOME/arm-none-eabi-gcc-9-2019-q4/bin:$PATH" - - - name: Compile and link - run: cmake --build ./build - env: - PATH: "$HOME/arm-none-eabi-gcc-9-2019-q4/bin:$PATH" - - diff --git a/.github/workflows/ci_cortex_m3.yml b/.github/workflows/ci_cortex_m3.yml deleted file mode 100644 index c58120251..000000000 --- a/.github/workflows/ci_cortex_m3.yml +++ /dev/null @@ -1,69 +0,0 @@ -# This is a basic workflow to help you get started with Actions - -name: cortex_m3 - -# Controls when the action will run. Triggers the workflow on push or pull request -# events but only for the master branch -on: - push: - branches: [ master ] - pull_request: - branches: [ master ] - paths: - - ".github/workflows/ci_cortex_m3.yml" - - 'common/**' - - 'utility/**' - - 'ports/cortex_m3/gnu/**' - -# A workflow run is made up of one or more jobs that can run sequentially or in parallel -jobs: - # This workflow contains a single job called "build" - build: - # The type of runner that the job will run on - runs-on: ubuntu-latest - - # Steps represent a sequence of tasks that will be executed as part of the job - steps: - # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - - name: Checkout sources recursively - uses: actions/checkout@v2 - with: - token: ${{ secrets.REPO_SCOPED_TOKEN }} - submodules: true - - # Store the arm compilers in the cache to speed up builds - - name: Cache arm-none-eabi-gcc tools - id: cache-arm-gcc - uses: actions/cache@v1 - with: - path: $HOME/arm-none-eabi-gcc-9-2019-q4 - key: ${{ runner.os }}-arm-gcc-9-2019-q4 - - # Get the arm-non-eabi-gcc toolchain - - name: Install arm-none-eabi-gcc - uses: fiam/arm-none-eabi-gcc@v1 - if: steps.cache-arm-gcc.outputs.cache-hit != 'true' - with: - release: '9-2019-q4' # The arm-none-eabi-gcc release to use. - directory: $HOME/arm-none-eabi-gcc-9-2019-q4 - - # Get CMake into the environment - - name: Install cmake 3.19.1 - uses: lukka/get-cmake@v3.19.1 - - # Get Ninja into the environment - - name: Install ninja-build - uses: seanmiddleditch/gha-setup-ninja@v3 - - # Prepare the build system - - name: Prepare build system - run: cmake -Bbuild -DCMAKE_TOOLCHAIN_FILE=./cmake/cortex_m3.cmake -GNinja . - env: - PATH: "$HOME/arm-none-eabi-gcc-9-2019-q4/bin:$PATH" - - - name: Compile and link - run: cmake --build ./build - env: - PATH: "$HOME/arm-none-eabi-gcc-9-2019-q4/bin:$PATH" - - diff --git a/.github/workflows/ci_cortex_m4.yml b/.github/workflows/ci_cortex_m4.yml deleted file mode 100644 index 30141d6b9..000000000 --- a/.github/workflows/ci_cortex_m4.yml +++ /dev/null @@ -1,69 +0,0 @@ -# This is a basic workflow to help you get started with Actions - -name: cortex_m4 - -# Controls when the action will run. Triggers the workflow on push or pull request -# events but only for the master branch -on: - push: - branches: [ master ] - pull_request: - branches: [ master ] - paths: - - ".github/workflows/ci_cortex_m4.yml" - - 'common/**' - - 'utility/**' - - 'ports/cortex_m4/gnu/**' - -# A workflow run is made up of one or more jobs that can run sequentially or in parallel -jobs: - # This workflow contains a single job called "build" - build: - # The type of runner that the job will run on - runs-on: ubuntu-latest - - # Steps represent a sequence of tasks that will be executed as part of the job - steps: - # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - - name: Checkout sources recursively - uses: actions/checkout@v2 - with: - token: ${{ secrets.REPO_SCOPED_TOKEN }} - submodules: true - - # Store the arm compilers in the cache to speed up builds - - name: Cache arm-none-eabi-gcc tools - id: cache-arm-gcc - uses: actions/cache@v1 - with: - path: $HOME/arm-none-eabi-gcc-9-2019-q4 - key: ${{ runner.os }}-arm-gcc-9-2019-q4 - - # Get the arm-non-eabi-gcc toolchain - - name: Install arm-none-eabi-gcc - uses: fiam/arm-none-eabi-gcc@v1 - if: steps.cache-arm-gcc.outputs.cache-hit != 'true' - with: - release: '9-2019-q4' # The arm-none-eabi-gcc release to use. - directory: $HOME/arm-none-eabi-gcc-9-2019-q4 - - # Get CMake into the environment - - name: Install cmake 3.19.1 - uses: lukka/get-cmake@v3.19.1 - - # Get Ninja into the environment - - name: Install ninja-build - uses: seanmiddleditch/gha-setup-ninja@v3 - - # Prepare the build system - - name: Prepare build system - run: cmake -Bbuild -DCMAKE_TOOLCHAIN_FILE=./cmake/cortex_m4.cmake -GNinja . - env: - PATH: "$HOME/arm-none-eabi-gcc-9-2019-q4/bin:$PATH" - - - name: Compile and link - run: cmake --build ./build - env: - PATH: "$HOME/arm-none-eabi-gcc-9-2019-q4/bin:$PATH" - -