| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- name: Release
- on:
- push:
- tags:
- - v*.*.*
- jobs:
- release:
- name: Create release
- runs-on: ubuntu-22.04
- steps:
- - name: Set variables
- id: init
- run: |
- echo "tag=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT
- echo "version=${GITHUB_REF#refs/tags/v}" >> $GITHUB_OUTPUT
- - name: Checkout
- uses: actions/checkout@v4
- - name: Write release body
- id: body
- run: |
- FILENAME=RELEASE.md
- tee $FILENAME <<END
- ## Changes
- $(extras/scripts/extract_changes.awk CHANGELOG.md)
- [View version history](https://github.com/bblanchon/ArduinoJson/blob/${{ steps.init.outputs.tag }}/CHANGELOG.md)
- END
- echo "filename=$FILENAME" >> $GITHUB_OUTPUT
- - name: Amalgamate ArduinoJson.h
- id: amalgamate_h
- run: |
- FILENAME=ArduinoJson-${{ steps.init.outputs.tag }}.h
- extras/scripts/build-single-header.sh src/ArduinoJson.h "$FILENAME"
- echo "filename=$FILENAME" >> $GITHUB_OUTPUT
- - name: Amalgamate ArduinoJson.hpp
- id: amalgamate_hpp
- run: |
- FILENAME=ArduinoJson-${{ steps.init.outputs.tag }}.hpp
- extras/scripts/build-single-header.sh src/ArduinoJson.hpp "$FILENAME"
- echo "filename=$FILENAME" >> $GITHUB_OUTPUT
- - name: Create release
- uses: ncipollo/release-action@v1
- with:
- bodyFile: ${{ steps.body.outputs.filename }}
- name: ArduinoJson ${{ steps.init.outputs.version }}
- artifacts: ${{ steps.amalgamate_h.outputs.filename }},${{ steps.amalgamate_hpp.outputs.filename }}
- token: ${{ secrets.GITHUB_TOKEN }}
- idf:
- name: IDF Component Registry
- runs-on: ubuntu-latest
- steps:
- - name: Checkout
- uses: actions/checkout@v4
- - name: Upload component to the component registry
- uses: espressif/upload-components-ci-action@v1
- with:
- name: ArduinoJson
- namespace: bblanchon
- api_token: ${{ secrets.IDF_COMPONENT_API_TOKEN }}
- particle:
- name: Particle
- runs-on: ubuntu-latest
- steps:
- - name: Install
- run: npm install -g particle-cli
- - name: Checkout
- uses: actions/checkout@v4
- - name: Login
- run: particle login --token ${{ secrets.PARTICLE_TOKEN }}
- - name: Publish
- run: bash -eux extras/scripts/publish-particle-library.sh
- platformio:
- name: PlatformIO
- runs-on: ubuntu-latest
- steps:
- - name: Set up Python 3.x
- uses: actions/setup-python@v5
- with:
- python-version: "3.x"
- - name: Install PlatformIO
- run: pip install platformio
- - name: Checkout
- uses: actions/checkout@v4
- - name: Publish
- run: pio pkg publish --no-interactive --no-notify
- env:
- PLATFORMIO_AUTH_TOKEN: ${{ secrets.PLATFORMIO_AUTH_TOKEN }}
|