Skip to content

Commit

Permalink
ci: add Github Actions configs
Browse files Browse the repository at this point in the history
  • Loading branch information
demiazz committed Oct 13, 2024
1 parent 203b0e1 commit 7029c7d
Show file tree
Hide file tree
Showing 4 changed files with 106 additions and 0 deletions.
21 changes: 21 additions & 0 deletions .github/composite-actions/install-node/action.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: 'Install Node.js'
description: 'Installs Node.js, pnpm and dependencies'

runs:
using: composite

steps:
- name: Install pnpm
uses: pnpm/action-setup@v3
with:
run_install: false

- name: Install Node.js
uses: actions/setup-node@v4
with:
cache: pnpm
node-version-file: .tool-versions

- name: Install dependencies
shell: bash
run: pnpm install
14 changes: 14 additions & 0 deletions .github/composite-actions/quality/action.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
name: 'Check source code quality'
description: 'Runs build, linters and tests'

runs:
using: composite

steps:
- name: Install packages
shell: bash
run: pnpm install

- name: Build
shell: bash
run: pnpm build
27 changes: 27 additions & 0 deletions .github/workflows/quality.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: Quality

on:
pull_request:
branches:
- main

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}

jobs:
quality:
name: Quality

runs-on: ubuntu-latest

steps:
- name: Checkout the repository
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Install Node.js
uses: ./.github/composite-actions/install-node

- name: Check quality
uses: ./.github/composite-actions/quality
44 changes: 44 additions & 0 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: Release

on:
push:
branches:
- main

permissions:
actions: write
contents: write
pull-requests: write

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}

jobs:
release:
if: github.repository == 'ReTable/eslint-config'

name: Release

runs-on: ubuntu-latest

steps:
- name: Checkout the repository
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Install Node.js
uses: ./.github/composite-actions/install-node

- name: Check quality
uses: ./.github/composite-actions/quality

- name: Create Release Pull Request
id: changesets
uses: changesets/action@v1
with:
publish: pnpm release
commit: 'ci(changesets): release new versions'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}

0 comments on commit 7029c7d

Please sign in to comment.