mirror of
https://github.com/crosspoint-reader/crosspoint-reader.git
synced 2026-08-13 14:21:57 -07:00
Compare commits
1
Commits
master
...
v1.5.0-rc-4
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
af9d262097 |
No files matched your search
@@ -7,6 +7,13 @@ on:
|
||||
jobs:
|
||||
build-release:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
include:
|
||||
- pio_env: gh_release
|
||||
artifact_name: firmware-x4_x3
|
||||
- pio_env: sticky
|
||||
artifact_name: firmware-sticky
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
@@ -33,15 +40,22 @@ jobs:
|
||||
restore-keys: pio-${{ runner.os }}-
|
||||
|
||||
- name: Build CrossPoint
|
||||
run: pio run -e gh_release
|
||||
env:
|
||||
CROSSPOINT_RELEASE_BUILD: "1"
|
||||
run: pio run -e ${{ matrix.pio_env }} -j1
|
||||
|
||||
- name: Name Release Firmware
|
||||
run: |
|
||||
cp ".pio/build/${{ matrix.pio_env }}/firmware.bin" \
|
||||
".pio/build/${{ matrix.pio_env }}/${{ matrix.artifact_name }}.bin"
|
||||
|
||||
- name: Upload Artifacts
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: CrossPoint-${{ github.ref_name }}
|
||||
name: ${{ matrix.artifact_name }}
|
||||
path: |
|
||||
.pio/build/gh_release/bootloader.bin
|
||||
.pio/build/gh_release/firmware.bin
|
||||
.pio/build/gh_release/firmware.elf
|
||||
.pio/build/gh_release/firmware.map
|
||||
.pio/build/gh_release/partitions.bin
|
||||
.pio/build/${{ matrix.pio_env }}/bootloader.bin
|
||||
.pio/build/${{ matrix.pio_env }}/${{ matrix.artifact_name }}.bin
|
||||
.pio/build/${{ matrix.pio_env }}/firmware.elf
|
||||
.pio/build/${{ matrix.pio_env }}/firmware.map
|
||||
.pio/build/${{ matrix.pio_env }}/partitions.bin
|
||||
@@ -7,6 +7,13 @@ jobs:
|
||||
build-release-candidate:
|
||||
if: startsWith(github.ref_name, 'release/')
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
include:
|
||||
- pio_env: gh_release_rc
|
||||
artifact_name: firmware-x4_x3
|
||||
- pio_env: sticky
|
||||
artifact_name: firmware-sticky
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
@@ -32,23 +39,27 @@ jobs:
|
||||
key: pio-${{ runner.os }}-${{ hashFiles('platformio.ini') }}
|
||||
restore-keys: pio-${{ runner.os }}-
|
||||
|
||||
- name: Extract env
|
||||
- name: Extract short SHA
|
||||
run: |
|
||||
echo "SHORT_SHA=${GITHUB_SHA::7}" >> $GITHUB_ENV
|
||||
echo "BRANCH_SUFFIX=${GITHUB_REF_NAME#release/}" >> $GITHUB_ENV
|
||||
|
||||
- name: Build CrossPoint Release Candidate
|
||||
env:
|
||||
CROSSPOINT_RC_HASH: ${{ env.SHORT_SHA }}
|
||||
run: pio run -e gh_release_rc
|
||||
run: pio run -e ${{ matrix.pio_env }} -j1
|
||||
|
||||
- name: Name Release Candidate Firmware
|
||||
run: |
|
||||
cp ".pio/build/${{ matrix.pio_env }}/firmware.bin" \
|
||||
".pio/build/${{ matrix.pio_env }}/${{ matrix.artifact_name }}-rc+${{ env.SHORT_SHA }}.bin"
|
||||
|
||||
- name: Upload Artifacts
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: CrossPoint-RC-${{ env.BRANCH_SUFFIX }}
|
||||
name: ${{ matrix.artifact_name }}-rc+${{ env.SHORT_SHA }}
|
||||
path: |
|
||||
.pio/build/gh_release_rc/bootloader.bin
|
||||
.pio/build/gh_release_rc/firmware.bin
|
||||
.pio/build/gh_release_rc/firmware.elf
|
||||
.pio/build/gh_release_rc/firmware.map
|
||||
.pio/build/gh_release_rc/partitions.bin
|
||||
.pio/build/${{ matrix.pio_env }}/bootloader.bin
|
||||
.pio/build/${{ matrix.pio_env }}/${{ matrix.artifact_name }}-rc+${{ env.SHORT_SHA }}.bin
|
||||
.pio/build/${{ matrix.pio_env }}/firmware.elf
|
||||
.pio/build/${{ matrix.pio_env }}/firmware.map
|
||||
.pio/build/${{ matrix.pio_env }}/partitions.bin
|
||||
+1
-2
@@ -200,7 +200,6 @@ board_build.mcu = esp32s3
|
||||
build_flags =
|
||||
${base.build_flags}
|
||||
-DFREEINK_DEVICE_STICKY=1
|
||||
; git_branch.py only injects CROSSPOINT_VERSION for the default env; set it here.
|
||||
-DCROSSPOINT_VERSION=\"${crosspoint.version}-sticky\"
|
||||
; CROSSPOINT_VERSION is set by scripts/git_branch.py.
|
||||
-DENABLE_SERIAL_LOG
|
||||
-DLOG_LEVEL=2
|
||||
+27
-10
@@ -1,9 +1,20 @@
|
||||
"""
|
||||
PlatformIO pre-build script: inject git branch and short SHA into
|
||||
CROSSPOINT_VERSION for the default (dev) environment.
|
||||
PlatformIO pre-build script: set the embedded CROSSPOINT_VERSION.
|
||||
|
||||
Results in a version string like: 1.1.0-dev-feat-kosync-xpath-05c6cf8
|
||||
Release environments are unaffected; they set CROSSPOINT_VERSION in the ini.
|
||||
Version schema by device and build type:
|
||||
|
||||
X3/X4 development: <base>-dev-<branch>-<git-sha>
|
||||
X3/X4 production: <base>
|
||||
X3/X4 RC: <base>-rc+<git-sha>
|
||||
|
||||
Sticky development: <base>-dev-<branch>-<git-sha>
|
||||
Sticky production: <base>
|
||||
Sticky RC: <base>-rc+<git-sha>
|
||||
|
||||
This script injects the X3/X4 development and all Sticky versions. The
|
||||
dedicated X3/X4 production and RC environments set their versions in
|
||||
platformio.ini. CI marks production builds with CROSSPOINT_RELEASE_BUILD and
|
||||
supplies the seven-character RC SHA through CROSSPOINT_RC_HASH.
|
||||
"""
|
||||
|
||||
import configparser
|
||||
@@ -77,16 +88,22 @@ def get_base_version(project_dir):
|
||||
|
||||
|
||||
def inject_version(env):
|
||||
# Only applies to the dev (default) environment; release envs set the
|
||||
# version via build_flags in platformio.ini and are unaffected.
|
||||
if env['PIOENV'] != 'default':
|
||||
pioenv = env['PIOENV']
|
||||
if pioenv not in ('default', 'sticky'):
|
||||
return
|
||||
|
||||
project_dir = env['PROJECT_DIR']
|
||||
base_version = get_base_version(project_dir)
|
||||
branch = get_git_branch(project_dir)
|
||||
short_sha = get_git_short_sha(project_dir)
|
||||
version_string = f'{base_version}-dev-{branch}-{short_sha}'
|
||||
|
||||
rc_hash = os.environ.get('CROSSPOINT_RC_HASH')
|
||||
if pioenv == 'sticky' and rc_hash:
|
||||
version_string = f'{base_version}-rc+{rc_hash}'
|
||||
elif pioenv == 'sticky' and os.environ.get('CROSSPOINT_RELEASE_BUILD'):
|
||||
version_string = base_version
|
||||
else:
|
||||
branch = get_git_branch(project_dir)
|
||||
short_sha = get_git_short_sha(project_dir)
|
||||
version_string = f'{base_version}-dev-{branch}-{short_sha}'
|
||||
|
||||
env.Append(CPPDEFINES=[('CROSSPOINT_VERSION', f'\\"{version_string}\\"')])
|
||||
print(f'CrossPoint build version: {version_string}')
|
||||
|
||||
Reference in new issue
Block a user