Release #60
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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/arm64/schemio-darwin-arm64-${{ 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@v4 | |
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 | |