Skip to content

Release

Release #54

Workflow file for this run

name: Release
on:
workflow_dispatch:
inputs:
schemio_version:
description: 'Schemio version'
type: string
default: '0.1.1'
node_version:
description: 'Node version'
type: string
default: 18.x
jobs:
release:
name: Build and release
permissions:
# write permission is required to create a github release
contents: write
# write permission is required for autolabeler
# otherwise, read permission is required at least
pull-requests: write
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- run: git fetch --all --tags
- name: Use Node.js ${{ inputs.node_version }}
uses: actions/setup-node@v3
with:
node-version: ${{ inputs.node_version }}
- run: npm ci
- run: ./scripts/ci/release-build.sh ${{ inputs.schemio_version }}
- name: Release
uses: softprops/action-gh-release@v1
with:
tag_name: v${{ inputs.schemio_version }}
fail_on_unmatched_files: true
files: |
dist/release/schemio-${{ inputs.schemio_version }}.zip
dist/release/schemio-static-${{ inputs.schemio_version }}.zip
- name: Login to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push
uses: docker/build-push-action@v3
with:
push: true
tags: |
binshu/schemio:latest
binshu/schemio:${{ inputs.schemio_version }}
# build-mac:
# needs: release
# runs-on: macOS-latest
# name: Build on MacOS
# steps:
# - uses: actions/checkout@v3
# with:
# ref: v${{ inputs.schemio_version }}
# - name: Use Node.js ${{ inputs.node_version }}
# uses: actions/setup-node@v3
# with:
# node-version: ${{ inputs.node_version }}
# - run: npm ci
# - run: npm run package-electron
# - run: npm run make-electron
# - run: find out | grep -v .webpack/renderer/assets
# - name: Upload to release asset
# uses: softprops/action-gh-release@v1
# with:
# tag_name: v${{ inputs.schemio_version }}
# fail_on_unmatched_files: true
# files: out/make/zip/darwin/x64/schemio-darwin-x64-${{ inputs.schemio_version }}.zip
# build-linux:
# needs: release
# runs-on: ubuntu-latest
# name: Build on Linux
# steps:
# - uses: actions/checkout@v3
# with:
# ref: v${{ inputs.schemio_version }}
# - name: Use Node.js ${{ inputs.node_version }}
# uses: actions/setup-node@v3
# with:
# node-version: ${{ inputs.node_version }}
# - run: npm ci
# - run: npm run package-electron
# - run: npm run make-electron
# - uses: actions/upload-artifact@v3
# with:
# name: schemio-electron-linux-rpm
# path: out/make/rpm/x64/schemio-${{ inputs.schemio_version }}-1.x86_64.rpm
# - run: find out | grep -v .webpack/renderer/assets
# - name: Upload to release asset
# uses: softprops/action-gh-release@v1
# with:
# tag_name: v${{ inputs.schemio_version }}
# fail_on_unmatched_files: true
# files: |
# out/make/rpm/x64/schemio-${{ inputs.schemio_version }}-1.x86_64.rpm
# out/make/deb/x64/schemio_${{ inputs.schemio_version }}_amd64.deb
# build-win:
# needs: release
# name: Build Windows app
# runs-on: windows-latest
# steps:
# - uses: actions/checkout@v3
# with:
# ref: v${{ inputs.schemio_version }}
# - name: Use Node.js ${{ inputs.node_version }}
# uses: actions/setup-node@v3
# with:
# node-version: ${{ inputs.node_version }}
# - run: npm ci
# - run: npm run package-electron
# - run: npm run make-electron
# - run: npm install -g tree-cli
# - run: cd out && tree -l 8
# - name: Upload to release asset
# uses: softprops/action-gh-release@v1
# with:
# tag_name: v${{ inputs.schemio_version }}
# fail_on_unmatched_files: true
# files: out/make/squirrel.windows/x64/schemio-${{ inputs.schemio_version }} Setup.exe