Skip to content

Update github action. #1

Update github action.

Update github action. #1

Workflow file for this run

name: CanMV K230 Build for Release
on:
push:
tags: [ "v*" ]
jobs:
build:
runs-on: ubuntu-24.04
permissions:
contents: write
defaults:
run:
shell: bash
steps:
- name: Setup SSH
run: |
# configure git
git config --global user.name kendryte747
git config --global user.email kendryte747@gmail.com
# update ssh key
mkdir -p ~/.ssh
echo "${{ secrets.ACTIONS_PRIVATE_KEY }}" > ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
- name: Install repo
run: |
# install repo
mkdir -p ~/.bin/
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/.bin/repo
chmod +x ~/.bin/repo
- name: Prepare code
run: |
rm -rf *
ls -alh
~/.bin/repo init -u git@github.com:canmv-k230/manifest.git -m rtsmart.xml
~/.bin/repo sync
# - name: Tag Subprojects
# run: |
# ./.github/tag_subproject.sh ${{ github.ref_name }}
- name: Prepare Environment
run: |
sudo apt update
sudo apt install -y bison flex gcc libncurses5-dev pkg-config \
libconfuse-dev libssl-dev python3 python3-pip python-is-python3 python3-venv \
cmake libyaml-dev scons mtools bzip2
python3 -m venv ~/.canmv_venv
source ~/.canmv_venv/bin/activate
pip3 install pycryptodome gmssl jsonschema jinja2
- name: Download toolchains
run: |
make dl_toolchain
- name: Build Projects
run: |
source ~/.canmv_venv/bin/activate
projects=("k230_rtos_01studio_defconfig" "k230_rtos_aihardware_defconfig" "k230_rtos_evb_defconfig" "k230_rtos_evb_spinand_defconfig" "k230_rtos_lckfb_defconfig")
echo "Config list is ${projects}"
for proj in ${projects[@]};do
echo "-------------------"
echo "build project ${proj}"
echo "-------------------"
make ${proj}
time make log
echo "-------------------"
done
- name: Generate release.xml
run: |
~/.bin/repo manifest -r -o release_${{ github.ref_name }}.xml
- name: Upload images to Release Asset
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ github.ref_name }}
files: |
output/**/*.img.gz
output/**/*.img.gz.md5
release_${{ github.ref_name }}.xml
generate_release_notes: true