Reconciles develop to master's latest renovate values for deps bumped on the 2.7 line but never back-merged, so the develop->master 2.8 promotion (#10777) doesn't regress them. Done as a value reconcile, not a cherry-pick: several master commits are superseded (5 device-ui bumps, 2 ststm32 bumps), and develop's stale archive/refs/tags/ URL form actually blocked renovate from bumping these (the regex expects archive/<version>.zip). GitHub Actions: - actions/checkout v6 -> v7 (35 refs) - actions/cache v5 -> v6 - actions/github-script v8 -> v9 (3 refs) - actions/stale v10.2.0 -> v10.3.0 Build / platform: - alpine 3.23 -> 3.24 (alpine.Dockerfile) - platformio/ststm32 19.5.0 -> 19.7.0 - platformio/nordicnrf52 10.11.0 -> 10.12.0 Libraries: - Adafruit SSD1306 2.5.16 -> 2.5.17 - SparkFun MMC5983MA v1.1.4 -> v1.1.5 - Sensirion I2C SCD30 1.0.0 -> 1.1.1 - meshtastic esp8266-oled-ssd1306 6bfd1f1 -> 2e26010 Deliberately excluded: - meshtastic/device-ui digest: coupled to firmware protobuf/API and develop has diverged hard (NodeDB v25); left for a separate maintainer bump + visual check. - libpax: develop uses the mverch67 fork (pinned by Arduino-3.x migration #9122), master uses dbinfrago -- a fork divergence, not a version bump; not reconciled. - platform-native digest: develop already at 61067ac (equal to master).
147 lines
4.7 KiB
YAML
147 lines
4.7 KiB
YAML
name: Trigger release workflows upon Publish
|
|
|
|
on:
|
|
release:
|
|
types: [published, released]
|
|
|
|
permissions:
|
|
contents: write
|
|
packages: write
|
|
|
|
jobs:
|
|
build-docker:
|
|
uses: ./.github/workflows/docker_manifest.yml
|
|
with:
|
|
release_channel: |-
|
|
${{ contains(github.event.release.name, 'Beta') && 'beta' || contains(github.event.release.name, 'Alpha') && 'alpha' }}
|
|
secrets: inherit
|
|
|
|
package-ppa:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
series:
|
|
- jammy # 22.04 LTS
|
|
- noble # 24.04 LTS
|
|
- questing # 25.10
|
|
- resolute # 26.04 LTS
|
|
uses: ./.github/workflows/package_ppa.yml
|
|
with:
|
|
ppa_repo: |-
|
|
ppa:meshtastic/${{ contains(github.event.release.name, 'Beta') && 'beta' || contains(github.event.release.name, 'Alpha') && 'alpha' }}
|
|
series: ${{ matrix.series }}
|
|
secrets: inherit
|
|
|
|
package-obs:
|
|
uses: ./.github/workflows/package_obs.yml
|
|
with:
|
|
obs_project: |-
|
|
network:Meshtastic:${{ contains(github.event.release.name, 'Beta') && 'beta' || contains(github.event.release.name, 'Alpha') && 'alpha' }}
|
|
series: |-
|
|
${{ contains(github.event.release.name, 'Beta') && 'beta' || contains(github.event.release.name, 'Alpha') && 'alpha' }}
|
|
secrets: inherit
|
|
|
|
hook-copr:
|
|
uses: ./.github/workflows/hook_copr.yml
|
|
with:
|
|
copr_project: |-
|
|
${{ contains(github.event.release.name, 'Beta') && 'beta' || contains(github.event.release.name, 'Alpha') && 'alpha' }}
|
|
secrets: inherit
|
|
|
|
publish-release-notes:
|
|
if: github.event.action == 'published'
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Get release version
|
|
id: version
|
|
run: |
|
|
# Extract version from tag (e.g., v2.7.15.567b8ea -> 2.7.15.567b8ea)
|
|
VERSION=${GITHUB_REF#refs/tags/v}
|
|
echo "version=$VERSION" >> $GITHUB_OUTPUT
|
|
|
|
- name: Get release notes
|
|
run: |
|
|
mkdir -p ./publish
|
|
gh release view ${{ github.event.release.tag_name }} --json body --jq '.body' > ./publish/release_notes.md
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
- name: Publish release notes to meshtastic.github.io
|
|
uses: peaceiris/actions-gh-pages@v4
|
|
with:
|
|
deploy_key: ${{ secrets.DIST_PAGES_DEPLOY_KEY }}
|
|
external_repository: meshtastic/meshtastic.github.io
|
|
publish_branch: master
|
|
publish_dir: ./publish
|
|
destination_dir: firmware-${{ steps.version.outputs.version }}
|
|
user_name: github-actions[bot]
|
|
user_email: github-actions[bot]@users.noreply.github.com
|
|
commit_message: Release notes for ${{ steps.version.outputs.version }}
|
|
enable_jekyll: true
|
|
|
|
# Create a PR to bump version when a release is Published
|
|
bump-version:
|
|
if: github.event.action == 'published'
|
|
runs-on: ubuntu-latest
|
|
permissions:
|
|
pull-requests: write
|
|
contents: write
|
|
defaults:
|
|
run:
|
|
shell: bash
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v7
|
|
with:
|
|
# Always use master branch for version bumps
|
|
ref: master
|
|
|
|
- name: Setup Python
|
|
uses: actions/setup-python@v6
|
|
with:
|
|
python-version: 3.x
|
|
|
|
- name: Bump version.properties
|
|
run: |
|
|
# Bump version.properties
|
|
chmod +x ./bin/bump_version.py
|
|
./bin/bump_version.py
|
|
|
|
- name: Get new release version string
|
|
run: |
|
|
echo "short=$(./bin/buildinfo.py short)" >> $GITHUB_OUTPUT
|
|
id: new_version
|
|
|
|
- name: Ensure debian deps are installed
|
|
run: |
|
|
sudo apt-get update -y --fix-missing
|
|
sudo apt-get install -y devscripts
|
|
|
|
- name: Update debian changelog
|
|
run: |
|
|
# Update debian changelog
|
|
chmod +x ./debian/ci_changelog.sh
|
|
./debian/ci_changelog.sh
|
|
|
|
- name: Bump org.meshtastic.meshtasticd.metainfo.xml
|
|
run: |
|
|
# Bump org.meshtastic.meshtasticd.metainfo.xml
|
|
pip install -r bin/bump_metainfo/requirements.txt -q
|
|
chmod +x ./bin/bump_metainfo/bump_metainfo.py
|
|
./bin/bump_metainfo/bump_metainfo.py --file bin/org.meshtastic.meshtasticd.metainfo.xml "${{ steps.new_version.outputs.short }}"
|
|
env:
|
|
PIP_DISABLE_PIP_VERSION_CHECK: 1
|
|
|
|
- name: Create Bumps pull request
|
|
uses: peter-evans/create-pull-request@v8
|
|
with:
|
|
base: ${{ github.event.repository.default_branch }}
|
|
branch: create-pull-request/bump-version
|
|
labels: github_actions
|
|
title: Bump release version
|
|
commit-message: Automated version bumps
|
|
add-paths: |
|
|
version.properties
|
|
debian/changelog
|
|
bin/org.meshtastic.meshtasticd.metainfo.xml
|