Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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