Lint, Build, Test #5
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
# 1) Checkoput, install Node.js, Turborepo CLI, deps and Lint | |
# 2a) Build | |
# 2b) Test | |
name: Push to any - 3 Jobs | |
run-name: Lint, Build, Test | |
on: | |
# push: | |
# branches-ignore: | |
# - main | |
workflow_dispatch: | |
# env: | |
# To use Remote Caching, uncomment the next lines and follow the steps below. | |
jobs: | |
checkout_install_lint: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/[email protected] | |
with: | |
fetch-depth: 2 | |
- name: Install Node.js v20.10 | |
uses: actions/[email protected] | |
with: | |
node-version: '20.10' | |
- name: Get node version | |
id: node | |
run: | | |
echo "::set-output name=version::$(node -v)" | |
- name: Get node_modules cache | |
uses: actions/[email protected] | |
# id: node_modules | |
with: | |
path: | | |
**/node_modules | |
# Adding node version as cache key | |
key: ${{ runner.os }}-node_modules-${{ hashFiles('**/bun.lockb') }}-${{ steps.node.outputs.version }} | |
- name: Install Bun | |
run: npm i -g bun && bun --version | |
- name: Install dependencies | |
run: bun i | |
- name: Lint | |
run: bun lint | |
build: | |
runs-on: ubuntu-latest | |
needs: checkout_install_lint | |
steps: | |
- name: Checkout code | |
uses: actions/[email protected] | |
with: | |
fetch-depth: 2 | |
- name: Install Node.js v20.10 | |
uses: actions/[email protected] | |
with: | |
node-version: '20.10' | |
- name: Get node_modules cache | |
uses: actions/[email protected] | |
# id: node_modules | |
with: | |
path: | | |
**/node_modules | |
# Adding node version as cache key | |
key: ${{ runner.os }}-node_modules-${{ hashFiles('**/yarn.lock') }}-${{ steps.node.outputs.version }} | |
- name: Build | |
run: | | |
bun build | |
# test: | |
# runs-on: ubuntu-latest | |
# needs: checkout_install_lint | |
# steps: | |
# - name: Checkout code | |
# uses: actions/[email protected] | |
# with: | |
# fetch-depth: 2 | |
# - name: Install Node.js v20.10 | |
# uses: actions/[email protected] | |
# with: | |
# node-version: '20.10' | |
# - name: Get node_modules cache | |
# uses: actions/[email protected] | |
# # id: node_modules | |
# with: | |
# path: | | |
# **/node_modules | |
# # Adding node version as cache key | |
# key: ${{ runner.os }}-node_modules-${{ hashFiles('**/yarn.lock') }}-${{ steps.node.outputs.version }} | |
# - name: Test | |
# run: | | |
# yarn test |