name: Release on: push: tags: - v*.*.* jobs: release: name: Create release runs-on: ubuntu-20.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@v3 - name: Write release body id: body run: | FILENAME=RELEASE.md extras/scripts/get-release-body.sh ${{ steps.init.outputs.tag }} CHANGELOG.md | tee $FILENAME 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 Arduino package id: arduino run: | FILENAME=ArduinoJson-${{ steps.init.outputs.tag }}.zip extras/scripts/build-arduino-package.sh . "$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 }},${{ steps.arduino.outputs.filename }} token: ${{ secrets.GITHUB_TOKEN }} idf: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v3 - 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: runs-on: ubuntu-latest steps: - name: Install run: npm install -g particle-cli - name: Checkout uses: actions/checkout@v3 - name: Login run: particle login --token ${{ secrets.PARTICLE_TOKEN }} - name: Publish run: extras/scripts/publish-particle-library.sh