Skip to content
3 changes: 0 additions & 3 deletions .eslintignore

This file was deleted.

18 changes: 0 additions & 18 deletions .eslintrc.js

This file was deleted.

194 changes: 156 additions & 38 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,18 @@ on:
pull_request:
branches:
- '*'
workflow_dispatch:

jobs:
build:
name: ${{ matrix.os }} ${{ matrix.version }}
runs-on: ${{ matrix.os }}
if: "!contains(github.event.head_commit.message, 'skip ci')"
timeout-minutes: 20
permissions:
contents: write
issues: write
pull-requests: write
strategy:
fail-fast: false
matrix:
Expand All @@ -22,23 +27,37 @@ jobs:

steps:
- name: Clone repository
uses: actions/checkout@v1
uses: actions/checkout@v4

- name: Setup Node
uses: actions/setup-node@v1
uses: actions/setup-node@v4
with:
node-version: '12.17'
node-version: '22.18'

- name: Install SVN (Ubuntu)
if: runner.os == 'Linux'
run: sudo apt-get update && sudo apt-get install -y subversion

- name: Install SVN (macOS)
if: runner.os == 'macOS'
run: brew install svn

- name: Install SVN (Windows)
if: runner.os == 'Windows'
run: |
choco install tortoisesvn --params "/NoTortoiseOverlays"
echo "C:\Program Files\TortoiseSVN\bin" >> $GITHUB_PATH

- name: Install Dependencies
run: 'yarn install --frozen-lockfile || yarn install --frozen-lockfile'
run: npm ci
shell: bash

- name: Compile sources for tests
run: yarn run test-compile
run: npm run test-compile

- name: Cache VSCode binary
id: cache-vscode
uses: actions/cache@v1
uses: actions/cache@v4
with:
path: .vscode-test
key: vscode-${{ runner.os }}-${{ matrix.version }}-${{ github.run_id }}
Expand All @@ -47,80 +66,179 @@ jobs:
vscode-${{ runner.os }}-

- name: Run tests
uses: GabrielBB/xvfb-action@v1.0
uses: coactions/setup-xvfb@v1
with:
run: yarn test
run: npm test
env:
CODE_VERSION: ${{ matrix.version }}
continue-on-error: ${{ matrix.version == 'insiders' }}

- name: Release
if: startsWith(matrix.os, 'ubuntu') && matrix.version == 'stable' && github.ref == 'refs/heads/master' && github.repository == 'JohnstonCode/svn-scm'
if: startsWith(matrix.os, 'ubuntu') && matrix.version == 'stable' && github.ref == 'refs/heads/master'
run: |
yarn run organize
yarn run semantic-release
git config --global user.email "github-actions[bot]@users.noreply.github.com"
git config --global user.name "github-actions[bot]"
npm run organize
npx @vscode/vsce package -o svn-scm-community.vsix
npm run semantic-release
env:
VSCE_TOKEN: ${{ secrets.vsceToken }}
GITHUB_TOKEN: ${{ secrets.githubToken }}
GH_TOKEN: ${{ secrets.githubToken }}
GIT_AUTHOR_EMAIL: ${{ secrets.gitEmail }}
GIT_COMMITTER_EMAIL: ${{ secrets.gitEmail }}
GIT_AUTHOR_NAME: ${{ secrets.gitName }}
GIT_COMMITTER_NAME: ${{ secrets.gitName }}
VSCE_TOKEN: ${{ secrets.VSCE_TOKEN }}
GITHUB_TOKEN: ${{ github.token }}
GH_TOKEN: ${{ github.token }}

eslint:
runs-on: ubuntu-latest
if: "!contains(github.event.head_commit.message, 'skip ci')"

steps:
- name: Clone repository
uses: actions/checkout@v1
uses: actions/checkout@v4

- name: Setup Node
uses: actions/setup-node@v1
uses: actions/setup-node@v4
with:
node-version: '12.17'
node-version: '22.18'

- name: Install SVN (Ubuntu)
if: runner.os == 'Linux'
run: sudo apt-get update && sudo apt-get install -y subversion

- name: Install SVN (macOS)
if: runner.os == 'macOS'
run: brew install svn

- name: Install SVN (Windows)
if: runner.os == 'Windows'
run: |
choco install tortoisesvn --params "/NoTortoiseOverlays"
echo "C:\Program Files\TortoiseSVN\bin" >> $GITHUB_PATH

- name: Install Dependencies
run: 'yarn install --frozen-lockfile || yarn install --frozen-lockfile'
run: npm ci
shell: bash

- name: Lint check
run: yarn run lint --silent -- -f stylish
run: npm run lint --silent -- -f stylish

artifact:
runs-on: ubuntu-latest
if: "!contains(github.event.head_commit.message, 'skip ci')"

steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v4

- name: Setup Node
uses: actions/setup-node@v1
uses: actions/setup-node@v4
with:
node-version: '12.17'
node-version: '22.18'

- name: Install SVN (Ubuntu)
if: runner.os == 'Linux'
run: sudo apt-get update && sudo apt-get install -y subversion

- name: Install SVN (macOS)
if: runner.os == 'macOS'
run: brew install svn

- name: Install SVN (Windows)
if: runner.os == 'Windows'
run: |
choco install tortoisesvn --params "/NoTortoiseOverlays"
echo "C:\Program Files\TortoiseSVN\bin" >> $GITHUB_PATH

- name: Install Dependencies
run: 'yarn install --frozen-lockfile || yarn install --frozen-lockfile'
run: npm ci
shell: bash

- name: Package extension
run: npx vsce package -o svn-scm.vsix
run: npx @vscode/vsce package -o svn-scm-community.vsix

- name: Upload artifact
uses: actions/upload-artifact@v1
uses: actions/upload-artifact@v4
with:
name: "svn-scm-${{ github.sha }}.vsix"
path: "svn-scm.vsix"
name: "svn-scm-community-${{ github.sha }}.vsix"
path: "svn-scm-community.vsix"

- name: Package open-vsx extension
- name: Package OpenVSX extension
run: |
yarn add iconv-lite jschardet
npx vsce package -o svn-scm-ovsx.vsix
npm add iconv-lite jschardet
npx @vscode/vsce package -o svn-scm-community-ovsx.vsix

- name: Upload OpenVSX artifact
uses: actions/upload-artifact@v4
with:
name: "svn-scm-community-ovsx-${{ github.sha }}.vsix"
path: "svn-scm-community-ovsx.vsix"


- name: Upload open-vsx artifact
uses: actions/upload-artifact@v1
release:
runs-on: ubuntu-latest
if: (github.ref == 'refs/heads/master' && github.event_name == 'push') || github.event_name == 'workflow_dispatch'
needs: [build, eslint, artifact]
permissions:
contents: write
issues: write
pull-requests: write

steps:
- name: Checkout
uses: actions/checkout@v4
with:
name: "svn-scm-ovsx-${{ github.sha }}.vsix"
path: "svn-scm-ovsx.vsix"
fetch-depth: 0

- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: '22.18'

- name: Install SVN (Ubuntu)
if: runner.os == 'Linux'
run: sudo apt-get update && sudo apt-get install -y subversion

- name: Install SVN (macOS)
if: runner.os == 'macOS'
run: brew install svn

- name: Install SVN (Windows)
if: runner.os == 'Windows'
run: |
choco install tortoisesvn --params "/NoTortoiseOverlays"
echo "C:\Program Files\TortoiseSVN\bin" >> $GITHUB_PATH

- name: Install Dependencies
run: npm ci
shell: bash

- name: Download artifact
uses: actions/download-artifact@v4
with:
name: "svn-scm-community-${{ github.sha }}.vsix"

- name: Download OpenVSX artifact
uses: actions/download-artifact@v4
with:
name: "svn-scm-community-ovsx-${{ github.sha }}.vsix"

- name: Get package version
id: package-version
run: |
echo "PACKAGE_VERSION=$(node -p "require('./package.json').version")" >> $GITHUB_ENV

- name: Create Release
uses: softprops/action-gh-release@v1
with:
tag_name: v${{ env.PACKAGE_VERSION }}
name: Release v${{ env.PACKAGE_VERSION }}
files: |
svn-scm-community.vsix
svn-scm-community-ovsx.vsix
generate_release_notes: true
env:
GITHUB_TOKEN: ${{ github.token }}

- name: Publish to OpenVSX Registry
if: startsWith(github.ref, 'refs/tags/')
run: npx ovsx publish svn-scm-community-ovsx.vsix
env:
OVSX_PAT: ${{ secrets.OVSX_TOKEN }}
41 changes: 0 additions & 41 deletions .github/workflows/releaseOpenVsx.yml

This file was deleted.

12 changes: 4 additions & 8 deletions .releaserc.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,7 @@
"verifyConditions": [
"@semantic-release/github",
"@semantic-release/git",
"@semantic-release/changelog",
"semantic-release-vsce"
"@semantic-release/changelog"
],
"prepare": [
"@semantic-release/npm",
Expand All @@ -12,15 +11,12 @@
"path": "@semantic-release/git",
"assets": ["CHANGELOG.md", "README.md", "package.json", "package-lock.json"],
"message": "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"
},
"semantic-release-vsce"
}
],
"publish": [
"semantic-release-vsce",
{
"path": "@semantic-release/github",
"assets": "svn-scm.vsix"
"assets": "*.vsix"
}
],
"packageVsix": "svn-scm.vsix"
]
}
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
## [3.0.4](https://github.com/hatrd/svn-scm/compare/v3.0.3...v3.0.4) (2025-09-09)


### Bug Fixes

* ci ([1babaed](https://github.com/hatrd/svn-scm/commit/1babaed9da171414db59ff3eb36d21584bd3aef1))
* release token ([6505712](https://github.com/hatrd/svn-scm/commit/6505712c2b36fd2dc0d8ded448fb923a36cb10ac))

# [2.17.0](https://github.com/JohnstonCode/svn-scm/compare/v2.16.1...v2.17.0) (2023-06-22)


Expand Down
Loading