Skip to content

Merge branch 'main' of https://github.com/stormstack/stormstack #3

Merge branch 'main' of https://github.com/stormstack/stormstack

Merge branch 'main' of https://github.com/stormstack/stormstack #3

Workflow file for this run

name: "CI/CD"
on:
workflow_dispatch:
inputs:
tag:
description: override release tag
required: false
push:
branches:
- "main"
- "alpha"
- "beta"
env:
CI: true
NX_DAEMON: false
NX_VERBOSE_LOGGING: true
NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_CLOUD_ACCESS_TOKEN }}
NX_CLOUD_AUTH_TOKEN: ${{ secrets.NX_CLOUD_AUTH_TOKEN }}
GITHUB_ACTOR: "🤖 Storm Bot"
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
jobs:
build-and-release:
if: github.repository == 'stormstack/stormstack' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/alpha' || github.ref == 'refs/heads/beta')
name: "Build & Release"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- name: configure git
run: |
git config user.name "${GITHUB_ACTOR}"
git config user.email "${GITHUB_ACTOR}@users.noreply.github.com"
- name: Setup pnpm
uses: pnpm/action-setup@v2.2.4
with:
version: 8
- uses: actions/setup-node@v3
with:
registry-url: https://registry.npmjs.org/
node-version-file: .github/.nvmrc
cache: pnpm
cache-dependency-path: pnpm-lock.yaml
- name: Install Dependencies
run: pnpm i
- name: Get appropriate base and head commits for `nx affected` commands
uses: nrwl/nx-set-shas@v3
with:
main-branch-name: "main"
- name: Set appropriate base and head commits for `nx affected` commands
run: |
echo "BASE: ${{ env.NX_BASE }}"
echo "HEAD: ${{ env.NX_HEAD }}"
- name: Prepare for build
run: pnpm build:tools-ci
#- name: Run Linters
# run: pnpm nx affected -t lint --parallel=3 --base=${{ env.NX_BASE }} --head=${{ env.NX_HEAD }}
- name: Run Formatters
run: pnpm nx format
# - run: npx nx affected -t lint --parallel=3
# - run: npx nx affected -t test --parallel=3 --configuration=ci --base=${{ github.event.before }}
- name: Build repository packages
run: pnpm nx affected -t build --parallel=3 --exclude="core-server-cloudflare,worker-*" --base=${{ env.NX_BASE }} --head=${{ env.NX_HEAD }}
# run: pnpm nx affected -t build --parallel=3 --base=${{ env.NX_BASE }} --head=${{ env.NX_HEAD }}
#- name: Run Tests
# uses: nick-fields/retry@v2.8.3
# with:
# command: npx nx affected -t test --parallel=3 --configuration=ci --base=${{ github.event.before }}
# timeout_minutes: 10
# max_attempts: 3
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
- name: Release Library Version Updates
run: npx nx affected -t semantic-release --parallel=3 --base=${{ env.NX_BASE }} --head=${{ env.NX_HEAD }}
#- name: Release Repository Version Updates
# run: pnpm nx run-many --target=semantic-release --parallel=false
- name: Create Pull Request
uses: repo-sync/pull-request@v2
with:
destination_branch: main
pr_title: "chore(repo): Github CI/CD automated updates"
pr_body: "This changeset is the result of updates made in the repository's files via the CI/CD pipeline automatically. The changes include linting, formatting, and version updates."
github_token: ${{ secrets.GITHUB_TOKEN }}
# - name: Publish
# run: |
# git config --global user.name 'Pat Sullivan'
# git config --global user.email 'sullivanpj@users.noreply.github.com'
# npm config set '//registry.npmjs.org/:_authToken' "${NPM_TOKEN}"
# npm run cipublish
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
# NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
# TAG: ${{ inputs.tag }}
#- name: Release Library Version Updates
# run: npx nx affected -t semantic-release --parallel=3 --base=${{ env.NX_BASE }} --head=${{ env.NX_HEAD }}
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
#- name: Release Repository Version Updates
# run: npm run semantic-release
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# - name: Build Latest Documentation
# run: npx nx run docs:build