💚 Update: Release Script
This commit is contained in:
parent
612ccae092
commit
1650b097f9
6 changed files with 129 additions and 11 deletions
65
.github/workflows/release.yaml
vendored
65
.github/workflows/release.yaml
vendored
|
@ -6,12 +6,65 @@ on:
|
||||||
- "v*.*.*"
|
- "v*.*.*"
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
Release-on-Windows:
|
||||||
strategy:
|
name: Release on Windows
|
||||||
matrix:
|
runs-on: windows-latest
|
||||||
os: ["ubuntu-latest", "macos-latest", "windows-latest"]
|
steps:
|
||||||
runs-on: ${{ matrix.os }}
|
- name: Install V
|
||||||
|
uses: vlang/setup-v@v1
|
||||||
|
with:
|
||||||
|
check-latest: true
|
||||||
|
|
||||||
|
- name: Install Task
|
||||||
|
uses: arduino/setup-task@v1
|
||||||
|
|
||||||
|
- name: Checkout ${{ github.event.repository.name }}
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Install deps
|
||||||
|
run: task setup
|
||||||
|
|
||||||
|
- name: Build ${{ github.event.repository.name }}
|
||||||
|
run: task dist
|
||||||
|
|
||||||
|
- name: Release
|
||||||
|
uses: softprops/action-gh-release@v1
|
||||||
|
if: startsWith(github.ref, 'refs/tags/')
|
||||||
|
with:
|
||||||
|
files: |
|
||||||
|
dist/**
|
||||||
|
|
||||||
|
Release-on-Ubuntu:
|
||||||
|
name: Release on Windows
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Install V
|
||||||
|
uses: vlang/setup-v@v1
|
||||||
|
with:
|
||||||
|
check-latest: true
|
||||||
|
|
||||||
|
- name: Install Task
|
||||||
|
uses: arduino/setup-task@v1
|
||||||
|
|
||||||
|
- name: Checkout ${{ github.event.repository.name }}
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Install deps
|
||||||
|
run: task setup
|
||||||
|
|
||||||
|
- name: Build ${{ github.event.repository.name }}
|
||||||
|
run: task dist
|
||||||
|
|
||||||
|
- name: Release
|
||||||
|
uses: softprops/action-gh-release@v1
|
||||||
|
if: startsWith(github.ref, 'refs/tags/')
|
||||||
|
with:
|
||||||
|
files: |
|
||||||
|
dist/**
|
||||||
|
|
||||||
|
Release-on-Darwin:
|
||||||
|
name: Release on Windows
|
||||||
|
runs-on: macos-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Install V
|
- name: Install V
|
||||||
uses: vlang/setup-v@v1
|
uses: vlang/setup-v@v1
|
||||||
|
|
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -11,3 +11,5 @@ vls.log
|
||||||
# generated test files
|
# generated test files
|
||||||
index.html
|
index.html
|
||||||
example/dist/
|
example/dist/
|
||||||
|
|
||||||
|
dist/
|
17
Taskfile.yml
17
Taskfile.yml
|
@ -2,11 +2,20 @@
|
||||||
|
|
||||||
version: '3'
|
version: '3'
|
||||||
|
|
||||||
env:
|
vars:
|
||||||
TARGET: vss
|
TARGET: vss
|
||||||
|
|
||||||
|
includes:
|
||||||
|
build: ./misc/Taskfile_{{OS}}.yml
|
||||||
|
|
||||||
tasks:
|
tasks:
|
||||||
|
|
||||||
|
echo:
|
||||||
|
cmds:
|
||||||
|
- echo {{.ARCHIVE_DIR}}
|
||||||
|
vars:
|
||||||
|
ARCHIVE_DIR: "{{.TARGET}}_{{OS}}_{{ARCH}}"
|
||||||
|
|
||||||
setup:
|
setup:
|
||||||
desc: Setup vss project
|
desc: Setup vss project
|
||||||
cmds:
|
cmds:
|
||||||
|
@ -41,14 +50,14 @@ tasks:
|
||||||
dist:
|
dist:
|
||||||
desc: Mkdir dist
|
desc: Mkdir dist
|
||||||
cmds:
|
cmds:
|
||||||
- mkdir -p dist
|
- task: clean
|
||||||
- task: build
|
- task: build
|
||||||
- cp $TARGET dist/
|
- task build:archive
|
||||||
|
|
||||||
build:
|
build:
|
||||||
desc: Build vss
|
desc: Build vss
|
||||||
cmds:
|
cmds:
|
||||||
- v . -o $TARGET
|
- v . -o {{.TARGET}}
|
||||||
|
|
||||||
example:
|
example:
|
||||||
desc: Setup for example
|
desc: Setup for example
|
||||||
|
|
18
misc/Taskfile_darwin.yml
Normal file
18
misc/Taskfile_darwin.yml
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
# https://taskfile.dev
|
||||||
|
|
||||||
|
version: '3'
|
||||||
|
|
||||||
|
vars:
|
||||||
|
TARGET: vss
|
||||||
|
|
||||||
|
tasks:
|
||||||
|
archive:
|
||||||
|
desc: Create archive file
|
||||||
|
vars:
|
||||||
|
ARCHIVE_DIR: "dist/{{.TARGET}}_{{OS}}_{{ARCH}}"
|
||||||
|
cmds:
|
||||||
|
- mkdir -p dist
|
||||||
|
- mkdir -p {{.ARCHIVE_DIR}}
|
||||||
|
- mv {{.TARGET}} {{.ARCHIVE_DIR}}
|
||||||
|
- tar -zcvf {{.ARCHIVE_DIR}}.tar.gz {{.ARCHIVE_DIR}}
|
||||||
|
- rm -rf {{.ARCHIVE_DIR}}
|
18
misc/Taskfile_linux.yml
Normal file
18
misc/Taskfile_linux.yml
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
# https://taskfile.dev
|
||||||
|
|
||||||
|
version: '3'
|
||||||
|
|
||||||
|
vars:
|
||||||
|
TARGET: vss
|
||||||
|
|
||||||
|
tasks:
|
||||||
|
archive:
|
||||||
|
desc: Create archive file
|
||||||
|
vars:
|
||||||
|
ARCHIVE_DIR: "dist/{{.TARGET}}_{{OS}}_{{ARCH}}"
|
||||||
|
cmds:
|
||||||
|
- mkdir -p dist
|
||||||
|
- mkdir -p {{.ARCHIVE_DIR}}
|
||||||
|
- mv {{.TARGET}} {{.ARCHIVE_DIR}}
|
||||||
|
- tar -zcvf {{.ARCHIVE_DIR}}.tar.gz {{.ARCHIVE_DIR}}
|
||||||
|
- rm -rf {{.ARCHIVE_DIR}}
|
18
misc/Taskfile_windows.yml
Normal file
18
misc/Taskfile_windows.yml
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
# https://taskfile.dev
|
||||||
|
|
||||||
|
version: '3'
|
||||||
|
|
||||||
|
vars:
|
||||||
|
TARGET: vss
|
||||||
|
|
||||||
|
tasks:
|
||||||
|
archive:
|
||||||
|
desc: Create archive file for windows
|
||||||
|
vars:
|
||||||
|
ARCHIVE_DIR: "dist/{{.TARGET}}_{{OS}}_{{ARCH}}"
|
||||||
|
cmds:
|
||||||
|
- mkdir -p dist
|
||||||
|
- mkdir -p {{.ARCHIVE_DIR}}
|
||||||
|
- mv {{.TARGET}} {{.ARCHIVE_DIR}}
|
||||||
|
- zip -r {{.ARCHIVE_DIR}}.tar.gz {{.ARCHIVE_DIR}}
|
||||||
|
- rm -rf {{.ARCHIVE_DIR}}
|
Loading…
Add table
Reference in a new issue