Skip to content

Commit 3eb2f8d

Browse files
committedSep 17, 2023
Update: add git workflow for release
1 parent 943af07 commit 3eb2f8d

File tree

4 files changed

+80
-1
lines changed

4 files changed

+80
-1
lines changed
 
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# Taken mostly from https://gist.github.com/belgattitude/042f9caf10d029badbde6cf9d43e400a
2+
3+
name: Yarn Install (with Cache)
4+
description: Runs yarn install with the node_modules linker and with the cache enabled
5+
6+
runs:
7+
using: composite
8+
steps:
9+
- name: Expose Yarn Cache Directory
10+
id: yarn-config
11+
shell: bash
12+
run: |
13+
echo "CACHE_FOLDER=$(yarn config get cacheFolder)" >> $GITHUB_OUTPUT
14+
15+
- name: Restore Yarn Cache
16+
uses: actions/cache@v3
17+
id: yarn-download-cache
18+
with:
19+
path: ${{ steps.yarn-config.outputs.CACHE_FOLDER }}
20+
key: yarn-download-cache-${{ hashFiles('yarn.lock') }}
21+
restore-keys: |
22+
yarn-download-cache-
23+
24+
- name: Restore Yarn Install State
25+
id: yarn-install-state-cache
26+
uses: actions/cache@v3
27+
with:
28+
path: .yarn/ci-cache/
29+
key: ${{ runner.os }}-yarn-install-state-cache-${{ hashFiles('yarn.lock', '.yarnrc.yml') }}
30+
31+
- name: Install Dependencies
32+
shell: bash
33+
run: |
34+
yarn install --immutable --inline-builds
35+
env:
36+
# CI optimizations. Overrides yarnrc.yml options (or their defaults) in the CI action.
37+
YARN_ENABLE_GLOBAL_CACHE: 'false' # Use local cache folder to keep downloaded archives
38+
YARN_NM_MODE: 'hardlinks-local' # Hardlinks-(local|global) reduces io / node_modules size
39+
YARN_INSTALL_STATE_PATH: .yarn/ci-cache/install-state.gz # Very small speedup when lock does not change

‎.github/workflows/release.yml

+38
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
name: Release
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
jobs:
8+
check-build-release:
9+
name: Check, Build, and Release
10+
runs-on: ubuntu-latest
11+
12+
steps:
13+
- uses: actions/checkout@v3
14+
with:
15+
persist-credentials: false
16+
fetch-depth: 0
17+
18+
- uses: actions/setup-node@v3.4.1
19+
with:
20+
node-version-file: '.nvmrc'
21+
22+
- name: Install Dependencies (with Cache)
23+
uses: ./.github/actions/yarn-install-wcache
24+
25+
- name: Build
26+
run: yarn nx run workspace:packages:build
27+
28+
# - name: Check Types (TypeScript)
29+
# run: yarn nx run workspace:packages:check-types
30+
31+
# - name: Formatting Check
32+
# run: yarn nx run workspace:packages:check-formatting
33+
34+
# - name: Linting Check
35+
# run: yarn nx run workspace:packages:lint
36+
37+
- name: Release
38+
run: yarn nx run workspace:version

‎.nvmrc

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
v18

‎package.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@
1515
"web:publish": "cd packages/react-formz-web && npm publish --access public",
1616
"native:publish": "cd packages/react-formz-native && npm publish --access public",
1717
"native:build": "yarn workspace @zerry/react-formz-native build",
18-
"build": "nx run workspace:packages:build"
18+
"build": "nx run workspace:packages:build",
19+
"version": "nx run workspace:version"
1920
},
2021
"devDependencies": {
2122
"@nrwl/jest": "^16.8.1",

0 commit comments

Comments
 (0)