Skip to content

ci: allow skipping duplicates #248

ci: allow skipping duplicates

ci: allow skipping duplicates #248

Workflow file for this run

name: CI
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Install dependencies
run: yarn
- name: Check formatting and lints
run: yarn run check
- name: Ensure auto-generated files are up-to-date
run: yarn run ts-node ./meta.ts --ensure-up-to-date --check
- name: Check tests
run: xvfb-run -a yarn run test
env:
MOCHA_REPORTER: dot
publish:
needs: check
if: ${{ github.event_name == 'push' }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Install dependencies
run: yarn
- name: Create tag based on package.json
uses: butlerlogic/action-autotag@ade8d2e19bfcd1e6a91272e2849b4bf4c37a67f1
id: autotag
with:
tag_prefix: v
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Publish to Open VSX Registry
uses: HaaLeo/publish-vscode-extension@8dd35ed51f326dfb0a3e9cfc6baeca81781229fc
if: ${{ steps.autotag.outputs.tagcreated == 'yes' }}
id: publishToOpenVSX
with:
pat: ${{ secrets.OPEN_VSX_TOKEN }}
yarn: true
skipDuplicate: true
- name: Publish to Visual Studio Marketplace
uses: HaaLeo/publish-vscode-extension@8dd35ed51f326dfb0a3e9cfc6baeca81781229fc
if: ${{ steps.autotag.outputs.tagcreated == 'yes' }}
with:
pat: ${{ secrets.VS_MARKETPLACE_TOKEN }}
registryUrl: https://marketplace.visualstudio.com
extensionFile: ${{ steps.publishToOpenVSX.outputs.vsixPath }}
packagePath: '' # Default is `./` and conflicts with `extensionFile`.
yarn: true
skipDuplicate: true
- name: Compute pre-release versions
id: pre-release-versions
run: |
yarn
echo MARKETPLACE=`node -e "console.log(JSON.parse(require('child_process').execFileSync(process.execPath, ['node_modules/vsce/vsce', 'show', 'gregoire.dance', '--json'], { encoding: 'utf8' })).versions[0].version)"` >> "$GITHUB_OUTPUT"
echo LOCAL=`node -e "console.log(/[0-9]+.[0-9]+.[0-9]+/.exec(require('./package.json').scripts['package:pre'])[0])"` >> "$GITHUB_OUTPUT"
- name: Build pre-release .vsix
run: yarn run package:pre
if: ${{ steps.pre-release-versions.outputs.MARKETPLACE != steps.pre-release-versions.outputs.LOCAL }}
- name: Publish pre-release to Visual Studio Marketplace
uses: HaaLeo/publish-vscode-extension@8dd35ed51f326dfb0a3e9cfc6baeca81781229fc
if: ${{ steps.pre-release-versions.outputs.MARKETPLACE != steps.pre-release-versions.outputs.LOCAL }}
with:
pat: ${{ secrets.VS_MARKETPLACE_TOKEN }}
registryUrl: https://marketplace.visualstudio.com
extensionFile: dance-${{ steps.pre-release-versions.outputs.LOCAL }}.vsix
packagePath: '' # Default is `./` and conflicts with `extensionFile`.
yarn: true
preRelease: true
skipDuplicate: true