Automate build and release process w/GH Actions (#43)

Add a utility script and PACKAGE.md describing how to do a release.
    
The script will update the version number in the JSON, while a tag
push will now automate a build and release.  No reason to have the
VSIX as part of the repo anymore.
This commit is contained in:
Earle F. Philhower, III
2024-06-20 17:19:27 -07:00
committed by GitHub
parent cc9910e4b6
commit 3e48404be4

View File

@ -6,26 +6,30 @@ on:
# tags: # tags:
# - '*' # - '*'
jobs: jobs:
build-vsix: build-vsix:
runs-on: ubuntu-20.04 runs-on: ubuntu-20.04
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
with: with:
submodules: true submodules: true
- uses: actions/setup-node@v4 - uses: actions/setup-node@v4
with: with:
node-version: 20 node-version: 20
cache: 'npm' cache: 'npm'
cache-dependency-path: ./package-lock.json cache-dependency-path: ./package-lock.json
- name: Install code
- name: Install NPM dependencies
run: | run: |
sudo snap install --classic code npm install -g @vscode/vsce
npm install
- name: Build VSIX - name: Build VSIX
run: | run: |
rm -f *.vsix rm -f *.vsix
vsce package vsce package
- name: Upload VSIX - name: Upload VSIX
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4
@ -38,20 +42,27 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
permissions: permissions:
contents: write contents: write
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
with: with:
submodules: true submodules: true
- name: Download all artifacts - name: Download all artifacts
uses: actions/download-artifact@v4 uses: actions/download-artifact@v4
with: with:
path: . path: .
- name: Renaming artifacts - name: Renaming artifacts
run: | run: |
rev=$(git rev-parse --short HEAD) rev=$(git rev-parse --short HEAD)
#ls -altR
mkdir release mkdir release
mkdir tmp && cd tmp && unzip ../arduino-littlefs-upload.vsix.zip/*zip && mv */*vsix ../release/. && cd .. && rm -rf tmp cp ./arduino-littlefs-upload.vsix/arduino-littlefs-upload-*.vsix ./release/.
#mkdir tmp && cd tmp && unzip ../arduino-littlefs-upload.vsix.zip/*zip && mv */*vsix ../release/. && cd .. && rm -rf tmp
ls -l release ls -l release
- name: Drafting release - name: Drafting release
uses: ncipollo/release-action@v1 uses: ncipollo/release-action@v1
with: with: