chore(release): publish 1.11.0 #236
Workflow file for this run
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: ci | |
on: | |
# https://docs.github.com/en/actions/using-workflows/triggering-a-workflow#example-including-branches-and-tags | |
push: | |
# Sequence of patterns matched against refs/heads | |
branches: | |
- master | |
# Sequence of patterns matched against refs/tags | |
tags: | |
- '*' | |
pull_request: | |
branches: | |
- master | |
workflow_dispatch: | |
jobs: | |
build-linux: | |
# https://github.com/actions/runner-images?tab=readme-ov-file#available-images | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
node-version: [18.x] | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Setup Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.node-version }} | |
- name: Environment variables | |
run: | | |
# https://docs.github.com/en/actions/learn-github-actions/variables#default-environment-variables | |
echo "• GITHUB_REF_NAME=$GITHUB_REF_NAME" | |
echo "• GITHUB_REF_TYPE=$GITHUB_REF_TYPE" # `branch` or `tag` | |
echo "• GITHUB_RUN_NUMBER=$GITHUB_RUN_NUMBER" | |
echo "• GITHUB_SHA=$GITHUB_SHA" | |
echo "• RUNNER_ARCH=$RUNNER_ARCH" | |
echo "• RUNNER_NAME=$RUNNER_NAME" | |
echo "• RUNNER_OS=$RUNNER_OS" | |
echo "• RUNNER_TEMP=$RUNNER_TEMP" | |
echo "• RUNNER_TOOL_CACHE=$RUNNER_TOOL_CACHE" | |
- name: Install Yarn package manager | |
run: npm install -g yarn | |
- name: Install necessary dependencies and perform initial checks | |
run: | | |
yarn up | |
yarn install | |
yarn lint | |
yarn test | |
- name: Run "build" script | |
if: github.ref_type == 'tag' | |
run: yarn run build | |
- name: Run "build-latest" script | |
if: github.ref_type == 'branch' | |
run: yarn run build-latest | |
- name: Build Linux binaries | |
run: | | |
yarn run build:linux | |
- name: Prepare release assets | |
shell: bash | |
run: | | |
GIT_COMMIT_LOG=`git log -1 --format='%ci %H %s'` | |
PRODUCT_NAME=CNCjs | |
PACKAGE_NAME=`node -e "console.log(require('./src/package.json').name)"` | |
PACKAGE_VERSION=`node -e "console.log(require('./src/package.json').version)"` | |
mkdir -p releases/linux | |
cp -af "output/${PACKAGE_NAME}-${PACKAGE_VERSION}.x86_64.rpm" "releases/linux/${PACKAGE_NAME}-${PACKAGE_VERSION}-linux.x86_64.rpm" | |
cp -af "output/${PRODUCT_NAME}-${PACKAGE_VERSION}.AppImage" "releases/linux/${PACKAGE_NAME}-${PACKAGE_VERSION}-linux-x86_64.AppImage" | |
cp -af "output/${PACKAGE_NAME}_${PACKAGE_VERSION}_amd64.deb" "releases/linux/${PACKAGE_NAME}-${PACKAGE_VERSION}-linux-amd64.deb" | |
cp -af "output/${PACKAGE_NAME}-${PACKAGE_VERSION}.armv7l.rpm" "releases/linux/${PACKAGE_NAME}-${PACKAGE_VERSION}-linux.armv7l.rpm" | |
cp -af "output/${PRODUCT_NAME}-${PACKAGE_VERSION}-armv7l.AppImage" "releases/linux/${PACKAGE_NAME}-${PACKAGE_VERSION}-linux-armv7l.AppImage" | |
cp -af "output/${PACKAGE_NAME}_${PACKAGE_VERSION}_armv7l.deb" "releases/linux/${PACKAGE_NAME}-${PACKAGE_VERSION}-linux-armv7l.deb" | |
cp -af "output/${PACKAGE_NAME}-${PACKAGE_VERSION}.aarch64.rpm" "releases/linux/${PACKAGE_NAME}-${PACKAGE_VERSION}-linux.aarch64.rpm" | |
cp -af "output/${PRODUCT_NAME}-${PACKAGE_VERSION}-arm64.AppImage" "releases/linux/${PACKAGE_NAME}-${PACKAGE_VERSION}-linux-arm64.AppImage" | |
cp -af "output/${PACKAGE_NAME}_${PACKAGE_VERSION}_arm64.deb" "releases/linux/${PACKAGE_NAME}-${PACKAGE_VERSION}-linux-arm64.deb" | |
pushd releases/linux | |
ln -sf ../../output/linux-unpacked "${PACKAGE_NAME}-${PACKAGE_VERSION}-linux-x64" | |
tar zcfh "${PACKAGE_NAME}-${PACKAGE_VERSION}-linux-x64.tar.gz" "${PACKAGE_NAME}-${PACKAGE_VERSION}-linux-x64" | |
rm -f "${PACKAGE_NAME}-${PACKAGE_VERSION}-linux-x64" | |
ln -sf ../../output/linux-armv7l-unpacked "${PACKAGE_NAME}-${PACKAGE_VERSION}-linux-armv7l" | |
tar zcfh "${PACKAGE_NAME}-${PACKAGE_VERSION}-linux-armv7l.tar.gz" "${PACKAGE_NAME}-${PACKAGE_VERSION}-linux-armv7l" | |
rm -f "${PACKAGE_NAME}-${PACKAGE_VERSION}-linux-armv7l" | |
ln -sf ../../output/linux-arm64-unpacked "${PACKAGE_NAME}-${PACKAGE_VERSION}-linux-arm64" | |
tar zcfh "${PACKAGE_NAME}-${PACKAGE_VERSION}-linux-arm64.tar.gz" "${PACKAGE_NAME}-${PACKAGE_VERSION}-linux-arm64" | |
rm -f "${PACKAGE_NAME}-${PACKAGE_VERSION}-linux-arm64" | |
popd | |
ls -al output releases/linux | |
if [[ "$GITHUB_REF_TYPE" == "branch" && "$GITHUB_REF_NAME" == "master" ]]; then | |
yarn github-release delete \ | |
--owner=cncjs \ | |
--repo=cncjs \ | |
--tag="${GITHUB_REF_NAME}-latest" \ | |
--release-name="${GITHUB_REF_NAME}" \ | |
"*-linux*"; | |
yarn github-release upload \ | |
--owner=cncjs \ | |
--repo=cncjs \ | |
--tag="${GITHUB_REF_NAME}-latest" \ | |
--release-name="${GITHUB_REF_NAME}" \ | |
--body="${GIT_COMMIT_LOG}" \ | |
releases/linux/*; | |
fi | |
#- name: Upload release assets | |
# uses: actions/github-script@v6 | |
# with: | |
# github-token: ${{ secrets.GITHUB_TOKEN }} | |
# script: | | |
# // https://github.com/actions/upload-release-asset/issues/47#issuecomment-659071145 | |
# console.log('environment:', process.versions); | |
- name: Release | |
uses: softprops/action-gh-release@v1 | |
if: startsWith(github.ref, 'refs/tags/') | |
with: | |
files: | | |
releases/linux/* | |
build-macos-x64: | |
# https://github.com/actions/runner-images?tab=readme-ov-file#available-images | |
runs-on: macos-13 | |
strategy: | |
matrix: | |
node-version: [18.x] | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Setup Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.node-version }} | |
- name: Environment variables | |
run: | | |
# https://docs.github.com/en/actions/learn-github-actions/variables#default-environment-variables | |
echo "• GITHUB_REF_NAME=$GITHUB_REF_NAME" | |
echo "• GITHUB_REF_TYPE=$GITHUB_REF_TYPE" # `branch` or `tag` | |
echo "• GITHUB_RUN_NUMBER=$GITHUB_RUN_NUMBER" | |
echo "• GITHUB_SHA=$GITHUB_SHA" | |
echo "• RUNNER_ARCH=$RUNNER_ARCH" | |
echo "• RUNNER_NAME=$RUNNER_NAME" | |
echo "• RUNNER_OS=$RUNNER_OS" | |
echo "• RUNNER_TEMP=$RUNNER_TEMP" | |
echo "• RUNNER_TOOL_CACHE=$RUNNER_TOOL_CACHE" | |
- name: Install Yarn package manager | |
run: npm install -g yarn | |
- name: Install necessary dependencies and perform initial checks | |
run: | | |
yarn up | |
yarn install | |
yarn lint | |
yarn test | |
- name: Run "build" script | |
if: github.ref_type == 'tag' | |
run: yarn run build | |
- name: Run "build-latest" script | |
if: github.ref_type == 'branch' | |
run: yarn run build-latest | |
- name: Build macOS binaries | |
run: yarn run build:macos-x64 | |
- name: Prepare release assets | |
shell: bash | |
run: | | |
GIT_COMMIT_LOG=`git log -1 --format='%ci %H %s'` | |
PRODUCT_NAME=CNCjs | |
PACKAGE_NAME=`node -e "console.log(require('./src/package.json').name)"` | |
PACKAGE_VERSION=`node -e "console.log(require('./src/package.json').version)"` | |
mkdir -p releases/macos | |
cp -af "output/${PRODUCT_NAME}-${PACKAGE_VERSION}.dmg" "releases/macos/${PACKAGE_NAME}-${PACKAGE_VERSION}-macos-x64.dmg" | |
ls -al output releases/macos | |
if [[ "$GITHUB_REF_TYPE" == "branch" && "$GITHUB_REF_NAME" == "master" ]]; then | |
yarn github-release delete \ | |
--owner=cncjs \ | |
--repo=cncjs \ | |
--tag="${GITHUB_REF_NAME}-latest" \ | |
--release-name="${GITHUB_REF_NAME}" \ | |
"*-macos-x64.*"; | |
yarn github-release upload \ | |
--owner=cncjs \ | |
--repo=cncjs \ | |
--tag="${GITHUB_REF_NAME}-latest" \ | |
--release-name="${GITHUB_REF_NAME}" \ | |
--body="${GIT_COMMIT_LOG}" \ | |
releases/macos/*; | |
fi | |
#- name: Upload release assets | |
# uses: actions/github-script@v6 | |
# with: | |
# github-token: ${{ secrets.GITHUB_TOKEN }} | |
# script: | | |
# // https://github.com/actions/upload-release-asset/issues/47#issuecomment-659071145 | |
# console.log('environment:', process.versions); | |
- name: Release | |
uses: softprops/action-gh-release@v1 | |
if: startsWith(github.ref, 'refs/tags/') | |
with: | |
files: | | |
releases/macos/* | |
build-macos-arm64: | |
# https://github.com/actions/runner-images?tab=readme-ov-file#available-images | |
runs-on: macos-15 | |
strategy: | |
matrix: | |
node-version: [18.x] | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Setup Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.node-version }} | |
- name: Environment variables | |
run: | | |
# https://docs.github.com/en/actions/learn-github-actions/variables#default-environment-variables | |
echo "• GITHUB_REF_NAME=$GITHUB_REF_NAME" | |
echo "• GITHUB_REF_TYPE=$GITHUB_REF_TYPE" # `branch` or `tag` | |
echo "• GITHUB_RUN_NUMBER=$GITHUB_RUN_NUMBER" | |
echo "• GITHUB_SHA=$GITHUB_SHA" | |
echo "• RUNNER_ARCH=$RUNNER_ARCH" | |
echo "• RUNNER_NAME=$RUNNER_NAME" | |
echo "• RUNNER_OS=$RUNNER_OS" | |
echo "• RUNNER_TEMP=$RUNNER_TEMP" | |
echo "• RUNNER_TOOL_CACHE=$RUNNER_TOOL_CACHE" | |
- name: Install Yarn package manager | |
run: npm install -g yarn | |
- name: Install necessary dependencies and perform initial checks | |
run: | | |
yarn up | |
yarn install | |
yarn lint | |
yarn test | |
- name: Run "build" script | |
if: github.ref_type == 'tag' | |
run: yarn run build | |
- name: Run "build-latest" script | |
if: github.ref_type == 'branch' | |
run: yarn run build-latest | |
- name: Build macOS binaries | |
run: yarn run build:macos-arm64 | |
- name: Prepare release assets | |
shell: bash | |
run: | | |
GIT_COMMIT_LOG=`git log -1 --format='%ci %H %s'` | |
PRODUCT_NAME=CNCjs | |
PACKAGE_NAME=`node -e "console.log(require('./src/package.json').name)"` | |
PACKAGE_VERSION=`node -e "console.log(require('./src/package.json').version)"` | |
mkdir -p releases/macos | |
cp -af "output/${PRODUCT_NAME}-${PACKAGE_VERSION}-arm64.dmg" "releases/macos/${PACKAGE_NAME}-${PACKAGE_VERSION}-macos-arm64.dmg" | |
ls -al output releases/macos | |
if [[ "$GITHUB_REF_TYPE" == "branch" && "$GITHUB_REF_NAME" == "master" ]]; then | |
yarn github-release delete \ | |
--owner=cncjs \ | |
--repo=cncjs \ | |
--tag="${GITHUB_REF_NAME}-latest" \ | |
--release-name="${GITHUB_REF_NAME}" \ | |
"*-macos-arm64.*"; | |
yarn github-release upload \ | |
--owner=cncjs \ | |
--repo=cncjs \ | |
--tag="${GITHUB_REF_NAME}-latest" \ | |
--release-name="${GITHUB_REF_NAME}" \ | |
--body="${GIT_COMMIT_LOG}" \ | |
releases/macos/*; | |
fi | |
#- name: Upload release assets | |
# uses: actions/github-script@v6 | |
# with: | |
# github-token: ${{ secrets.GITHUB_TOKEN }} | |
# script: | | |
# // https://github.com/actions/upload-release-asset/issues/47#issuecomment-659071145 | |
# console.log('environment:', process.versions); | |
- name: Release | |
uses: softprops/action-gh-release@v1 | |
if: startsWith(github.ref, 'refs/tags/') | |
with: | |
files: | | |
releases/macos/* | |
build-windows: | |
# https://github.com/actions/runner-images?tab=readme-ov-file#available-images | |
runs-on: windows-latest | |
strategy: | |
matrix: | |
node-version: [18.x] | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
steps: | |
- name: Prepare VC++ Runtime | |
run: choco install -y vcredist2017 | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Setup Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.node-version }} | |
- name: Environment variables | |
run: | | |
# https://docs.github.com/en/actions/learn-github-actions/variables#default-environment-variables | |
echo "• GITHUB_REF_NAME=$GITHUB_REF_NAME" | |
echo "• GITHUB_REF_TYPE=$GITHUB_REF_TYPE" # `branch` or `tag` | |
echo "• GITHUB_RUN_NUMBER=$GITHUB_RUN_NUMBER" | |
echo "• GITHUB_SHA=$GITHUB_SHA" | |
echo "• RUNNER_ARCH=$RUNNER_ARCH" | |
echo "• RUNNER_NAME=$RUNNER_NAME" | |
echo "• RUNNER_OS=$RUNNER_OS" | |
echo "• RUNNER_TEMP=$RUNNER_TEMP" | |
echo "• RUNNER_TOOL_CACHE=$RUNNER_TOOL_CACHE" | |
- name: Install Yarn package manager | |
run: npm install -g yarn | |
- name: Install necessary dependencies and perform initial checks | |
run: | | |
yarn up | |
yarn install | |
yarn lint | |
yarn test | |
- name: Run "build" script | |
if: github.ref_type == 'tag' | |
run: yarn run build | |
- name: Run "build-latest" script | |
if: github.ref_type == 'branch' | |
run: yarn run build-latest | |
- name: Build Windows binaries | |
run: yarn run build:windows | |
- name: Prepare release assets | |
shell: bash | |
run: | | |
GIT_COMMIT_LOG=`git log -1 --format='%ci %H %s'` | |
PRODUCT_NAME=CNCjs | |
PACKAGE_NAME=`node -e "console.log(require('./src/package.json').name)"` | |
PACKAGE_VERSION=`node -e "console.log(require('./src/package.json').version)"` | |
mkdir -p releases/windows | |
cp -af "output/${PRODUCT_NAME} Setup ${PACKAGE_VERSION}.exe" "releases/windows/${PACKAGE_NAME}-${PACKAGE_VERSION}-windows-x64.exe" | |
ls -al output releases/windows | |
if [[ "$GITHUB_REF_TYPE" == "branch" && "$GITHUB_REF_NAME" == "master" ]]; then | |
yarn github-release delete \ | |
--owner=cncjs \ | |
--repo=cncjs \ | |
--tag="${GITHUB_REF_NAME}-latest" \ | |
--release-name="${GITHUB_REF_NAME}" \ | |
"*-windows*"; | |
yarn github-release upload \ | |
--owner=cncjs \ | |
--repo=cncjs \ | |
--tag="${GITHUB_REF_NAME}-latest" \ | |
--release-name="${GITHUB_REF_NAME}" \ | |
--body="${GIT_COMMIT_LOG}" \ | |
releases/windows/*; | |
fi | |
#- name: Upload release assets | |
# uses: actions/github-script@v6 | |
# with: | |
# github-token: ${{ secrets.GITHUB_TOKEN }} | |
# script: | | |
# // https://github.com/actions/upload-release-asset/issues/47#issuecomment-659071145 | |
# console.log('environment:', process.versions); | |
- name: Release | |
uses: softprops/action-gh-release@v1 | |
if: startsWith(github.ref, 'refs/tags/') | |
with: | |
files: | | |
releases/windows/* |