name: Build plugin on: push: # Sequence of patterns matched against refs/tags tags: - '*' # Push events to matching any tag format, i.e. 1.0, 20.15.10 env: PLUGIN_NAME: ${{ github.event.repository.name }} jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Use Node.js uses: actions/setup-node@v1 with: node-version: '16.x' # You might need to adjust this value to your own version - name: Build id: build run: | npm i && npm run build mkdir ${{ env.PLUGIN_NAME }} cp README.md package.json icon.png ${{ env.PLUGIN_NAME }} mv dist ${{ env.PLUGIN_NAME }} zip -r ${{ env.PLUGIN_NAME }}.zip ${{ env.PLUGIN_NAME }} ls echo "::set-output name=tag_name::$(git tag --sort version:refname | tail -n 1)" - name: Create Release uses: ncipollo/release-action@v1 id: create_release env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} VERSION: ${{ github.ref }} with: allowUpdates: true draft: false prerelease: false - name: Upload zip file id: upload_zip uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ steps.create_release.outputs.upload_url }} asset_path: ./${{ env.PLUGIN_NAME }}.zip asset_name: ${{ env.PLUGIN_NAME }}-${{ steps.build.outputs.tag_name }}.zip asset_content_type: application/zip - name: Upload package.json id: upload_metadata uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ steps.create_release.outputs.upload_url }} asset_path: ./package.json asset_name: package.json asset_content_type: application/json