parent
cecc701a5a
commit
b1568d0b79
@ -0,0 +1,254 @@
|
||||
name: "Build And Release"
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- "*"
|
||||
|
||||
jobs:
|
||||
# job 1
|
||||
build-and-upload:
|
||||
runs-on: ${{ matrix.os }}-latest
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: [
|
||||
windows,
|
||||
ubuntu,
|
||||
macos
|
||||
]
|
||||
node: [
|
||||
16,
|
||||
17
|
||||
]
|
||||
steps:
|
||||
- name: "Checkout"
|
||||
uses: actions/checkout@v4.1.7
|
||||
|
||||
- name: "Setup Node.js environment"
|
||||
uses: actions/setup-node@v4.0.3
|
||||
with:
|
||||
node-version: ${{ matrix.node }}
|
||||
registry-url: https://npm.pkg.github.com/
|
||||
|
||||
- name: "Get package info"
|
||||
id: package-info
|
||||
uses: luizfelipelaviola/get-package-info@v1
|
||||
with:
|
||||
path: ./packages/mitmproxy
|
||||
|
||||
- name: "Print"
|
||||
run: |
|
||||
echo "version = ${{ steps.package-info.outputs.version }}";
|
||||
echo "github.ref_type = ${{ github.ref_type }}";
|
||||
echo "github.ref = ${{ github.ref }}";
|
||||
echo "github.ref_name = ${{ github.ref_name }}";
|
||||
|
||||
- name: "npm install -g lerna@6/yarn"
|
||||
run: |
|
||||
echo "======================================================================";
|
||||
echo "npm install -g lerna@6";
|
||||
echo "--------------------";
|
||||
npm install -g lerna@6;
|
||||
|
||||
echo "======================================================================";
|
||||
echo "npm install -g yarn";
|
||||
echo "--------------------";
|
||||
npm install -g yarn;
|
||||
|
||||
- name: "npm -v | yarn -v | lerna -v"
|
||||
run: |
|
||||
echo "======================================================================";
|
||||
echo "npm -v";
|
||||
echo "--------------------";
|
||||
npm -v;
|
||||
|
||||
echo "======================================================================";
|
||||
echo "yarn -v";
|
||||
echo "--------------------";
|
||||
yarn -v;
|
||||
|
||||
echo "======================================================================";
|
||||
echo "lerna -v";
|
||||
echo "--------------------";
|
||||
lerna -v;
|
||||
|
||||
- name: "lerna bootstrap"
|
||||
run: |
|
||||
echo "======================================================================";
|
||||
dir || ls -lah;
|
||||
|
||||
echo "======================================================================";
|
||||
echo "lerna bootstrap --npm-client=yarn";
|
||||
echo "--------------------";
|
||||
lerna bootstrap --npm-client=yarn;
|
||||
|
||||
- name: "npm run electron:build for node16"
|
||||
if: ${{ matrix.node == '16' }}
|
||||
run: |
|
||||
echo "======================================================================";
|
||||
echo "cd packages/gui";
|
||||
echo "--------------------";
|
||||
cd packages/gui;
|
||||
dir || ls -lah;
|
||||
|
||||
echo "======================================================================";
|
||||
echo "npm run electron:build";
|
||||
echo "--------------------";
|
||||
npm run electron:build;
|
||||
|
||||
echo "======================================================================";
|
||||
echo "cd dist_electron";
|
||||
echo "--------------------";
|
||||
cd dist_electron;
|
||||
dir || ls -lah;
|
||||
|
||||
echo "======================================================================";
|
||||
echo "cd ../../../";
|
||||
echo "--------------------";
|
||||
cd ../../../;
|
||||
dir || ls -lah;
|
||||
|
||||
- name: "npm run electron:build for node17"
|
||||
if: ${{ matrix.node != '16' }}
|
||||
env:
|
||||
NODE_OPTIONS: --openssl-legacy-provider
|
||||
run: |
|
||||
echo "======================================================================";
|
||||
echo "cd packages/gui";
|
||||
echo "--------------------";
|
||||
cd packages/gui;
|
||||
dir || ls -lah;
|
||||
|
||||
echo "======================================================================";
|
||||
echo "npm run electron:build";
|
||||
echo "--------------------";
|
||||
npm run electron:build;
|
||||
|
||||
echo "======================================================================";
|
||||
echo "cd dist_electron";
|
||||
echo "--------------------";
|
||||
cd dist_electron;
|
||||
dir || ls -lah;
|
||||
|
||||
echo "======================================================================";
|
||||
echo "cd ../../../";
|
||||
echo "--------------------";
|
||||
cd ../../../;
|
||||
dir || ls -lah;
|
||||
|
||||
- name: "Upload DevSidecar-${{ steps.package-info.outputs.version }}-node${{ matrix.node }}.exe - Windows"
|
||||
uses: actions/upload-artifact@v4.4.0
|
||||
if: ${{ matrix.os == 'windows' }}
|
||||
with:
|
||||
path: packages/gui/dist_electron/DevSidecar-${{ steps.package-info.outputs.version }}.exe
|
||||
name: "DevSidecar-${{ steps.package-info.outputs.version }}-node${{ matrix.node }}.exe"
|
||||
if-no-files-found: error
|
||||
- name: "Upload DevSidecar-${{ steps.package-info.outputs.version }}-node${{ matrix.node }}.deb - Ubuntu"
|
||||
uses: actions/upload-artifact@v4.4.0
|
||||
if: ${{ matrix.os == 'ubuntu' }}
|
||||
with:
|
||||
path: packages/gui/dist_electron/DevSidecar-${{ steps.package-info.outputs.version }}.deb
|
||||
name: "DevSidecar-${{ steps.package-info.outputs.version }}-node${{ matrix.node }}.deb"
|
||||
if-no-files-found: error
|
||||
- name: "Upload DevSidecar-${{ steps.package-info.outputs.version }}-node${{ matrix.node }}.AppImage - Ubuntu"
|
||||
uses: actions/upload-artifact@v4.4.0
|
||||
if: ${{ matrix.os == 'ubuntu' }}
|
||||
with:
|
||||
path: packages/gui/dist_electron/DevSidecar-${{ steps.package-info.outputs.version }}.AppImage
|
||||
name: "DevSidecar-${{ steps.package-info.outputs.version }}-node${{ matrix.node }}.AppImage"
|
||||
if-no-files-found: error
|
||||
- name: "Upload DevSidecar-${{ steps.package-info.outputs.version }}-node${{ matrix.node }}.dmg - Mac"
|
||||
uses: actions/upload-artifact@v4.4.0
|
||||
if: ${{ matrix.os == 'macos' }}
|
||||
with:
|
||||
path: packages/gui/dist_electron/DevSidecar-${{ steps.package-info.outputs.version }}.dmg
|
||||
name: "DevSidecar-${{ steps.package-info.outputs.version }}-node${{ matrix.node }}.dmg"
|
||||
if-no-files-found: error
|
||||
|
||||
# job 2
|
||||
download-and-release:
|
||||
runs-on: ubuntu-latest
|
||||
needs:
|
||||
- build-and-upload
|
||||
steps:
|
||||
- name: "Checkout"
|
||||
uses: actions/checkout@v4.1.7
|
||||
|
||||
- name: "Get package info"
|
||||
id: package-info
|
||||
uses: luizfelipelaviola/get-package-info@v1
|
||||
with:
|
||||
path: ./packages/mitmproxy
|
||||
|
||||
- name: "Make 'release' dir"
|
||||
run: mkdir release
|
||||
|
||||
# Download artifacts with node16
|
||||
- name: "Download DevSidecar-${{ steps.package-info.outputs.version }}-node16.exe - Windows"
|
||||
uses: actions/download-artifact@v4.1.8
|
||||
with:
|
||||
name: DevSidecar-${{ steps.package-info.outputs.version }}-node16.exe
|
||||
path: release
|
||||
- name: "Download DevSidecar-${{ steps.package-info.outputs.version }}-node16.deb - Ubuntu"
|
||||
uses: actions/download-artifact@v4.1.8
|
||||
with:
|
||||
name: DevSidecar-${{ steps.package-info.outputs.version }}-node16.deb
|
||||
path: release
|
||||
- name: "Download DevSidecar-${{ steps.package-info.outputs.version }}-node16.AppImage - Ubuntu"
|
||||
uses: actions/download-artifact@v4.1.8
|
||||
with:
|
||||
name: DevSidecar-${{ steps.package-info.outputs.version }}-node16.AppImage
|
||||
path: release
|
||||
- name: "Download DevSidecar-${{ steps.package-info.outputs.version }}-node16.dmg - Mac"
|
||||
uses: actions/download-artifact@v4.1.8
|
||||
with:
|
||||
name: DevSidecar-${{ steps.package-info.outputs.version }}-node16.dmg
|
||||
path: release
|
||||
- name: "Rename 'release/DevSidecar-${{ steps.package-info.outputs.version }}.*' to 'release/DevSidecar-${{ steps.package-info.outputs.version }}-node16.*'"
|
||||
run: |
|
||||
mv release/DevSidecar-${{ steps.package-info.outputs.version }}.exe release/DevSidecar-${{ steps.package-info.outputs.version }}-node16.exe;
|
||||
mv release/DevSidecar-${{ steps.package-info.outputs.version }}.deb release/DevSidecar-${{ steps.package-info.outputs.version }}-node16.deb;
|
||||
mv release/DevSidecar-${{ steps.package-info.outputs.version }}.AppImage release/DevSidecar-${{ steps.package-info.outputs.version }}-node16.AppImage;
|
||||
mv release/DevSidecar-${{ steps.package-info.outputs.version }}.dmg release/DevSidecar-${{ steps.package-info.outputs.version }}-node16.dmg;
|
||||
|
||||
# Download artifacts with node17
|
||||
- name: "Download DevSidecar-${{ steps.package-info.outputs.version }}-node17.exe - Windows"
|
||||
uses: actions/download-artifact@v4.1.8
|
||||
with:
|
||||
name: DevSidecar-${{ steps.package-info.outputs.version }}-node17.exe
|
||||
path: release
|
||||
- name: "Download DevSidecar-${{ steps.package-info.outputs.version }}-node17.deb - Ubuntu"
|
||||
uses: actions/download-artifact@v4.1.8
|
||||
with:
|
||||
name: DevSidecar-${{ steps.package-info.outputs.version }}-node17.deb
|
||||
path: release
|
||||
- name: "Download DevSidecar-${{ steps.package-info.outputs.version }}-node17.AppImage - Ubuntu"
|
||||
uses: actions/download-artifact@v4.1.8
|
||||
with:
|
||||
name: DevSidecar-${{ steps.package-info.outputs.version }}-node17.AppImage
|
||||
path: release
|
||||
- name: "Download DevSidecar-${{ steps.package-info.outputs.version }}-node17.dmg - Mac"
|
||||
uses: actions/download-artifact@v4.1.8
|
||||
with:
|
||||
name: DevSidecar-${{ steps.package-info.outputs.version }}-node17.dmg
|
||||
path: release
|
||||
- name: "Rename 'release/DevSidecar-${{ steps.package-info.outputs.version }}.*' to 'release/DevSidecar-${{ steps.package-info.outputs.version }}-node17.*'"
|
||||
run: |
|
||||
mv release/DevSidecar-${{ steps.package-info.outputs.version }}.exe release/DevSidecar-${{ steps.package-info.outputs.version }}-node17.exe;
|
||||
mv release/DevSidecar-${{ steps.package-info.outputs.version }}.deb release/DevSidecar-${{ steps.package-info.outputs.version }}-node17.deb;
|
||||
mv release/DevSidecar-${{ steps.package-info.outputs.version }}.AppImage release/DevSidecar-${{ steps.package-info.outputs.version }}-node17.AppImage;
|
||||
mv release/DevSidecar-${{ steps.package-info.outputs.version }}.dmg release/DevSidecar-${{ steps.package-info.outputs.version }}-node17.dmg;
|
||||
|
||||
- name: "Print files from 'release' dir"
|
||||
run: |
|
||||
ls -lah release;
|
||||
|
||||
- name: "Create a draft release"
|
||||
uses: fnkr/github-action-ghr@ghr-options
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ github.token }}
|
||||
GHR_PATH: release/
|
||||
GHR_TITLE: ${{ github.ref_name }}
|
||||
GHR_REPLACE: true
|
||||
GHR_DRAFT: true
|
Loading…
Reference in new issue