Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Automate test & release via GitHub Actions #89

Merged
merged 1 commit into from
May 28, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 49 additions & 0 deletions .github/workflows/deploy-ALPHA.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
---
#
# Documentation:
# https://help.github.com/en/articles/workflow-syntax-for-github-actions
#

#######################################
# Start the job on all push to master #
#######################################
name: 'Build & Deploy - Alpha'
on:
push:
branches:
- alpha

permissions: read-all

concurrency:
group: ${{ github.ref_name }}-${{ github.workflow }}
cancel-in-progress: true

###############
# Set the Job #
###############
jobs:

# Deploy to NPM
deploy_to_npm:
name: Deploy to NPM (beta)
runs-on: ubuntu-latest
permissions: read-all
environment:
name: alpha
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v3.8.1
with:
node-version: "18.x"
registry-url: "https://registry.npmjs.org"
scope: rubenhalman
- run: npm ci
- run: |
git config --global user.name nvuillam
git config --global user.email nicolas.vuillamy@gmail.com
- run: ALPHAID=$(date '+%Y%m%d%H%M') && npm version prerelease --preid="alpha$ALPHAID"
shell: bash
- run: npm publish --tag alpha
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
50 changes: 50 additions & 0 deletions .github/workflows/deploy-BETA.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
---
#
# Documentation:
# https://help.github.com/en/articles/workflow-syntax-for-github-actions
#

#######################################
# Start the job on all push to master #
#######################################
name: 'Build & Deploy - Beta'
on:
push:
branches:
- main
- master

permissions: read-all

concurrency:
group: ${{ github.ref_name }}-${{ github.workflow }}
cancel-in-progress: true

###############
# Set the Job #
###############
jobs:

# Deploy to NPM
deploy_to_npm:
name: Deploy to NPM (beta)
runs-on: ubuntu-latest
permissions: read-all
environment:
name: beta
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v3.8.1
with:
node-version: "18.x"
registry-url: "https://registry.npmjs.org"
scope: rubenhalman
- run: npm ci
- run: |
git config --global user.name nvuillam
git config --global user.email nicolas.vuillamy@gmail.com
- run: BETAID=$(date '+%Y%m%d%H%M') && npm version prerelease --preid="beta$BETAID"
shell: bash
- run: npm publish --tag beta
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
46 changes: 46 additions & 0 deletions .github/workflows/deploy-RELEASE.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
---
#
# Documentation:
# https://help.github.com/en/articles/workflow-syntax-for-github-actions
#

#######################################
# Start the job on all push to master #
#######################################
name: 'Build & Deploy - RELEASE'
on:
release:
# Want to run the automation when a release is created
types: ['created']

permissions: read-all

concurrency:
group: ${{ github.ref_name }}-${{ github.workflow }}
cancel-in-progress: true

###############
# Set the Job #
###############
jobs:
deploy_to_npm:
name: Deploy to NPM (release)
runs-on: ubuntu-latest
permissions: read-all
environment:
name: release
steps:
- uses: actions/checkout@v4
# Setup .npmrc file to publish to npm
- uses: actions/setup-node@v3.8.1
with:
node-version: "18.x"
registry-url: "https://registry.npmjs.org"
scope: rubenhalman
- run: npm ci
- run: |
git config --global user.name nvuillam
git config --global user.email nicolas.vuillamy@gmail.com
- run: npm publish
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
26 changes: 26 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: Test

on: [push, pull_request]

permissions: read-all

concurrency:
group: ${{ github.ref_name }}-${{ github.workflow }}
cancel-in-progress: true

jobs:
test:
name: Test
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- name: Checkout Code
uses: actions/checkout@v3
- name: Install node
uses: actions/setup-node@v3
with:
node-version: 18
- name: Install dependencies and link
run: npm ci && npm link
- name: Run tests
run: npm run test
17 changes: 17 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Changelog

## beta

_can be used with `lightning-flow-scanner-core@beta`_

- Automate Releases via GitHub Actions
- From `master` branch: **beta**
- From `alpha` branch: **alpha**
- When a GitHub release is created: Git tag selected for the release.
- Run tests during Pull Request checks

## [3.16.0] 2024-05-12

- Consistent Parsing Across Platforms: We've unified parsing modules across platforms, ensuring consistent parsing of flows. This enhancement improves compatibility and developer workflows.
- Improved Developer Experience: Say goodbye to xml2js! We've directly integrated xmlbuilder2 into the core module, enabling direct manipulation of Flow XML files. Utilize xmlbuilder2's convert function for seamless XML-to-JavaScript object transformation, simplifying parsing within the core module.
- Robust Error Handling: Experience smoother development processes with our robust error handling. We've implemented resilient mechanisms for graceful handling of parsing errors.
Loading