Skip to content

v4.5.1

v4.5.1 #56

Workflow file for this run

# This is a basic workflow to help you get started with Actions
name: Release
# Controls when the workflow will run
on:
# Triggers the workflow on push or pull request events but only for the "master" branch
push:
branches: ["master"]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
concurrency:
cancel-in-progress: true
group: ${{ github.workflow }}
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
prepare-posix:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: lts/*
- run: echo "PACKAGE_JSON_PATH=${GITHUB_WORKSPACE}/package.json" >> $GITHUB_ENV
- name: Cache MicroPad Core
uses: actions/cache@v3
id: core-cache
with:
key: prepare-cache-core-${{ hashFiles(env.PACKAGE_JSON_PATH) }}
path: core
- name: Download MicroPad Core
run: yarn update-core
- name: Print built contents
run: ls $GITHUB_WORKSPACE/core
package-linux:
needs: [prepare-posix]
runs-on: ubuntu-latest
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: lts/*
# Caching
- run: |
echo "YARN_LOCK_PATH=${GITHUB_WORKSPACE}/yarn.lock" >> $GITHUB_ENV
echo "PACKAGE_JSON_PATH=${GITHUB_WORKSPACE}/package.json" >> $GITHUB_ENV
- name: Cache node_modules
uses: actions/cache@v3
with:
key: ${{ runner.os }}-prepare-cache-node-${{ hashFiles(env.YARN_LOCK_PATH) }}
path: node_modules
- name: Cache MicroPad Core
id: core-cache
uses: actions/cache@v3
with:
key: prepare-cache-core-${{ hashFiles(env.PACKAGE_JSON_PATH) }}
path: core
- name: Ensure core has downloaded
if: steps.core-cache.outputs.cache-hit != 'true'
run: exit 1
# Deps
- name: Install Node deps
run: yarn install --immutable
- name: Install build deps
run: sudo apt-get update && sudo apt-get install -y libarchive-tools rpm
- name: Package & Publish (if draft release exists)
run: yarn dist
- name: Publish to Snap Store
env:
SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAPCRAFT_TOKEN }}
run: |
sudo snap install snapcraft --classic
snapcraft push "dist/micropad_$(npm pkg get version | sed 's/"//g')_amd64.snap" --release candidate
package-macos:
needs: [prepare-posix]
runs-on: macos-latest
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: lts/*
# Caching
- run: |
echo "YARN_LOCK_PATH=${GITHUB_WORKSPACE}/yarn.lock" >> $GITHUB_ENV
echo "PACKAGE_JSON_PATH=${GITHUB_WORKSPACE}/package.json" >> $GITHUB_ENV
- name: Cache node_modules
uses: actions/cache@v3
with:
key: ${{ runner.os }}-prepare-cache-node-${{ hashFiles(env.YARN_LOCK_PATH) }}
path: node_modules
- name: Cache MicroPad Core
id: core-cache
uses: actions/cache@v3
with:
key: prepare-cache-core-${{ hashFiles(env.PACKAGE_JSON_PATH) }}
path: core
- name: Ensure core has downloaded
if: steps.core-cache.outputs.cache-hit != 'true'
run: exit 1
- name: Install Node deps
run: yarn install --immutable
- name: Package & Publish (if draft release exists)
run: yarn dist
package-windows:
runs-on: windows-latest
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: lts/*
# Caching
- run: |
echo "YARN_LOCK_PATH=$env:GITHUB_WORKSPACE\yarn.lock" >> $env:GITHUB_ENV
echo "PACKAGE_JSON_PATH=$env:GITHUB_WORKSPACE\package.json" >> $env:GITHUB_ENV
echo "DOWNLOAD_URL=https://github.com/MicroPad/MicroPad-Core/releases/download/v$(npm run --silent windows:version)/micropad.tar.xz" >> $env:GITHUB_ENV
- name: Cache node_modules
uses: actions/cache@v3
with:
key: ${{ runner.os }}-prepare-cache-node-${{ hashFiles(env.YARN_LOCK_PATH) }}
path: node_modules
- name: Download core
uses: suisei-cn/[email protected]
with:
url: ${{ env.DOWNLOAD_URL }}
- name: Extract core
shell: pwsh
run: |
mkdir tmp
Move-Item -Path micropad.tar.xz -Destination tmp
cd tmp
&'C:\Program Files\7-Zip\7z.exe' e micropad.tar.xz -y; 7z x micropad.tar -y
rm build/dist/*.map
cp -r build ../core
cd ..
- name: Install Node deps
run: yarn install --immutable
- name: Package & Publish (if draft release exists)
run: |
yarn build
yarn electron-builder