Skip to content

misc(ncs): Update to NCS v2.6.1 #11

misc(ncs): Update to NCS v2.6.1

misc(ncs): Update to NCS v2.6.1 #11

Workflow file for this run

name: Build
on:
workflow_call:
inputs:
checkout_ref:
required: true
type: string
pull_request:
types: [opened, reopened, synchronize]
push:
branches:
- "main"
workflow_dispatch:
env:
GIT_CREDENTIALS: ${{ secrets.GIT_CREDENTIALS }}
jobs:
build:
runs-on: ubuntu-20.04
defaults:
run:
shell: bash
# Set work dir to "project" for all 'run' calls. Beware, everything else
# (actions, 'with' params, etc.) still needs to reference full path.
working-directory: project
steps:
- name: Checkout last PR commit
if: github.event_name == 'pull_request'
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}
path: project
- name: Checkout last tag
if: github.event_name == 'workflow_dispatch'
uses: actions/checkout@v4
with:
ref: ${{ inputs.checkout_ref }}
path: project
- name: Checkout main
if: github.event_name == 'push'
uses: actions/checkout@v4
with:
ref: main
path: project
# This is needed due to the later east update (west update) command that
# could be cloning from the private repos. The provided token in
# GIT_CREDENTIALS needs to be a fine-grained token, with access to all
# repositores, with "Read-only" access level to the Content repository
# permissions.
- name: Set Git credentials
run: |
git config --global credential.helper '!f() { printf "%s\n" "username=runner" "password=$GIT_CREDENTIALS"; };f'
- name: Install and cache apt packages
if: contains(runner.name, 'Github Action')
uses: awalsh128/[email protected]
with:
packages: gcc-multilib
# Update this manually when changing the packages above, increment
# only minor version to keep APT caches separate.
version: 1.0
- name: Retrieve cache
if: contains(runner.name, 'Github Action')
uses: actions/cache@v4
env:
cache-name: cache-modules
with:
path: |
bootloader
modules
nrf
nrfxlib
test
tools
zephyr
~/.local/share/east/downloads/
~/.local/share/east/tooling/nrfutil
# Note above two lines, if we are caching entire ~/.local/share/east
# folder then cache action fails during download/extract step
key:
${{ runner.os }}-build-${{ env.cache-name }}-${{
hashFiles('project/west.yml') }}
restore-keys: ${{ runner.os }}-build-${{ env.cache-name }}-
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.8"
cache: "pip"
cache-dependency-path: project/scripts/requirements.txt
- name: Install Python dependencies
run: pip install -r scripts/requirements.txt
- name: Install project dependencies
run: make install-dep
- name: Setup project
run: make project-setup
- name: Pre-build
run: make pre-build
- name: Quick build
if: github.event_name == 'push'
run: make quick-build
- name: Release
if:
github.event_name == 'workflow_dispatch' || github.event_name ==
'pull_request'
run: make release
- name: Pre-package
if: github.event_name == 'workflow_dispatch'
run: make pre-package
- name: Package artefacts
if: github.event_name == 'workflow_dispatch'
uses: actions/upload-artifact@v3
with:
name: artefacts
path: project/artefacts/*
- name: Post-build clean
# Only for self hosted runners
# Makes sure east init does not fail in the project setup
if: ${{ always() && !contains(runner.name, 'Github Action') }}
run: rm -rf ${{ github.workspace }}/.west