diff --git a/.github/workflows/platformio-publish.yml b/.github/workflows/platformio-publish.yml new file mode 100644 index 0000000..fdf5240 --- /dev/null +++ b/.github/workflows/platformio-publish.yml @@ -0,0 +1,46 @@ +name: PlatformIO Publish + +on: + push: + tags: + - v*.*.* + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v2 + - name: Cache pip + uses: actions/cache@v2 + with: + path: ~/.cache/pip + key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} + restore-keys: | + ${{ runner.os }}-pip- + - name: Cache PlatformIO + uses: actions/cache@v2 + with: + path: ~/.platformio + key: ${{ runner.os }}-${{ hashFiles('**/lockfiles') }} + - name: Set up Python + uses: actions/setup-python@v2 + - name: Install PlatformIO + run: | + python -m pip install --upgrade pip + pip install --upgrade platformio + - name: Publish PlatformIO package + run: pio package publish + env: + CI: true + PLATFORMIO_AUTH_TOKEN: ${{ secrets.PLATFORMIO_AUTH_TOKEN }} + - name: Get latest version + id: get_version + run: echo ::set-output name=VERSION::${GITHUB_REF/refs\/tags\//} + - name: Release on GitHub + uses: softprops/action-gh-release@v1 + with: + name: ${{ steps.get_version.outputs.VERSION }} + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}