Skip to content

Commit

Permalink
feat: initial version
Browse files Browse the repository at this point in the history
  • Loading branch information
ReenigneArcher committed Aug 17, 2024
1 parent 831324c commit 632fc8d
Show file tree
Hide file tree
Showing 15 changed files with 1,216 additions and 2 deletions.
110 changes: 110 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
---
# This workflow will run tests using node and then publish a package to GitHub Packages on push events to master.
# For more information see: https://docs.github.com/en/actions/publishing-packages/publishing-nodejs-packages

name: CI

on:
pull_request:
branches: [master]
types: [opened, synchronize, reopened]
push:
branches: [master]

jobs:
setup_release:
name: Setup Release
outputs:
publish_release: ${{ steps.setup_release.outputs.publish_release }}
release_body: ${{ steps.setup_release.outputs.release_body }}
release_commit: ${{ steps.setup_release.outputs.release_commit }}
release_generate_release_notes: ${{ steps.setup_release.outputs.release_generate_release_notes }}
release_tag: ${{ steps.setup_release.outputs.release_tag }}
release_version: ${{ steps.setup_release.outputs.release_version }}
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Release
id: setup_release
uses: LizardByte/[email protected]
with:
github_token: ${{ secrets.GITHUB_TOKEN }}

build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup node
uses: actions/setup-node@v4
with:
node-version: latest

- name: Install dependencies
run: npm install

- name: Test
id: test
env:
FORCE_COLOR: true
run: npm test

- name: Upload test results to Codecov
# any except canceled or skipped
if: >-
always() &&
(steps.test.outcome == 'success' || steps.test.outcome == 'failure') &&
startsWith(github.repository, 'LizardByte/')
uses: codecov/test-results-action@v1
with:
fail_ci_if_error: true
files: ./junit.xml,!./cache
token: ${{ secrets.CODECOV_TOKEN }}
verbose: true

- name: Upload coverage
# any except canceled or skipped
if: >-
always() &&
(steps.test.outcome == 'success' || steps.test.outcome == 'failure') &&
startsWith(github.repository, 'LizardByte/')
uses: codecov/codecov-action@v4
with:
disable_search: true
fail_ci_if_error: true
files: ./coverage/coverage-final.json
token: ${{ secrets.CODECOV_TOKEN }}
verbose: true

publish-gpr:
if: ${{ needs.setup_release.outputs.publish_release == 'true' }}
needs:
- setup_release
- build
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup node
uses: actions/setup-node@v4
with:
node-version: latest
registry-url: https://npm.pkg.github.com/

- name: Update package.json
run: npm version ${{ needs.setup_release.outputs.release_version }}

- name: Install dependencies
run: npm install

- name: Publish
run: npm publish
env:
NODE_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}}
10 changes: 10 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Ignore JetBrains IDE files
.idea/

# Ignore node_modules
node_modules/
package-lock.json

# Ignore test coverage
junit.xml
coverage/
Loading

0 comments on commit 632fc8d

Please sign in to comment.