--- name: Semantic Release on: push: branches: - main workflow_dispatch: permissions: contents: write # To be able to publish a GitHub release issues: write # To be able to comment on released issues pull-requests: write # To be able to comment on released pull requests jobs: get-next-version: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: fetch-depth: 0 persist-credentials: false - uses: volta-cli/action@v4 - run: yarn install --immutable - run: npx semantic-release --dry-run id: get-next-version env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} outputs: new-release-published: ${{ steps.get-next-version.outputs.new-release-published }} new-release-version: ${{ steps.get-next-version.outputs.new-release-version }} new-release-git-tag: ${{ steps.get-next-version.outputs.new-release-git-tag }} release: runs-on: ubuntu-latest needs: get-next-version if: needs.get-next-version.outputs.new-release-published == 'true' steps: - uses: actions/checkout@v4 with: fetch-depth: 0 persist-credentials: false - uses: volta-cli/action@v4 - run: yarn install --immutable - run: yarn run build env: RELEASE_VERSION: ${{ needs.get-next-version.outputs.new-release-version }} RELEASE_TAG: ${{ needs.get-next-version.outputs.new-release-git-tag }} - uses: thedoctor0/zip-release@0.7.6 with: type: zip path: dist filename: advanced-camera-card.zip - run: npx semantic-release env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}