Skip to content

GitHub release and VSCode Extension publishing #8

GitHub release and VSCode Extension publishing

GitHub release and VSCode Extension publishing #8

Workflow file for this run

name: GitHub release and VSCode Extension publishing
on:
push:
tags:
- "v*.*.*"
- "v*.*.*-*"
- "v*.*.*-*.*"
jobs:
# check_if_version_upgraded:
# name: Check if version upgrade
# # When someone forks the repo and opens a PR we want to enables the tests
# # to be run (the previous jobs) but obviously only us should be allowed to
# # release. In the following check we make sure that we own the branch this
# # CI workflow is running on before continuing. Without this check, trying
# # to release would fail anyway because only us have the correct
# # secret.NPM_TOKEN but it's cleaner to stop the execution instead of
# # letting the CI crash.
# if: |
# github.event_name == 'push' ||
# github.event.pull_request.head.repo.owner.login == github.event.pull_request.base.repo.owner.login
# runs-on: ubuntu-latest
# outputs:
# from_version: ${{ steps.step1.outputs.from_version }}
# to_version: ${{ steps.step1.outputs.to_version }}
# is_upgraded_version: ${{ steps.step1.outputs.is_upgraded_version }}
# is_pre_release: ${{steps.step1.outputs.is_pre_release }}
# steps:
# - uses: garronej/[email protected]
# id: step1
# with:
# action_name: is_package_json_version_upgraded
# branch: ${{ github.head_ref || github.ref }}
#
# create_github_release:
# runs-on: ubuntu-latest
# # We create release only if the version in the package.json have been
# # upgraded and this CI is running against the main branch.
# # We allow branches with a PR open on main to publish pre-release
# # (x.y.z-rc.u) but not actual releases.
# if: |
# needs.check_if_version_upgraded.outputs.is_upgraded_version == 'true' &&
# (
# github.event_name == 'push' ||
# needs.check_if_version_upgraded.outputs.is_pre_release == 'true'
# )
# needs:
# - check_if_version_upgraded
# steps:
# - uses: softprops/action-gh-release@v2
# with:
# name: Release v${{ needs.check_if_version_upgraded.outputs.to_version }}
# tag_name: v${{ needs.check_if_version_upgraded.outputs.to_version }}
# target_commitish: ${{ github.head_ref || github.ref }}
# generate_release_notes: true
# draft: false
# prerelease: ${{ needs.check_if_version_upgraded.outputs.is_pre_release == 'true' }}
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
publish:
runs-on: ubuntu-latest
# needs:
# - check_if_version_upgraded
# - create_github_release
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install Node.js
uses: actions/setup-node@v4
with:
registry-url: https://registry.npmjs.org/
node-version: 20.x
cache: yarn
- run: yarn install --frozen-lockfile
- run: yarn run compile
- uses: softprops/action-gh-release@v2
with:
generate_release_notes: true
draft: false
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Publish
run: yarn publish
env:
VSCE_PAT: ${{ secrets.VSCE_PAT }}