Skip to content

Merge pull request #4098 from KBVE/alpha #373

Merge pull request #4098 from KBVE/alpha

Merge pull request #4098 from KBVE/alpha #373

Workflow file for this run

name: CI - Beta
on:
push:
branches:
- 'beta*'
jobs:
handle:
name: 'Beta to Main'
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Auto-Pull
id: open-pr
uses: diillson/[email protected]
with:
destination_branch: 'main'
pr_title: 'Preparing Release Branch'
pr_body: |
*An automated PR for Main Release*
This PR is for the main branch
pr_label: 'auto-pr'
- name: output-url
run: echo ${{steps.open-pr.outputs.pr_url}}
- name: output-number
run: echo ${{steps.open-pr.outputs.pr_number}}
- name: output-created
run: echo ${{steps.open-pr.outputs.pr_created}}
- name: output-has-changed-files
run: echo ${{steps.open-pr.outputs.has_changed_files}}
alter:
name: 'Beta Deployment Checks'
runs-on: ubuntu-latest
if: github.repository == 'kbve/kbve'
outputs:
rustwasmembed: ${{ steps.delta.outputs.rustwasmembed_any_changed }}
kbve: ${{ steps.delta.outputs.kbve_any_changed }}
rustkbve: ${{ steps.delta.outputs.rustkbve_any_changed }}
jedi: ${{ steps.delta.outputs.jedi_any_changed }}
steps:
- name: Checkout the repository using git
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: File Changes
id: delta
uses: tj-actions/changed-files@v39
with:
files_yaml: |
rustwasmembed:
- 'apps/rust_wasm_embed/src/**'
kbve:
- 'apps/kbve/kbve.com/**'
jedi:
- 'packages/jedi/src/**'
rustkbve:
- 'packages/kbve/src/**'
deploy:
needs: alter
name: 'Processing Embed Builds and Pipeline'
runs-on: ubuntu-latest
steps:
- name: Checkout the repository using git
uses: actions/checkout@v4
- name: Setup Node v20
uses: actions/setup-node@v4
with:
node-version: 20
- name: Setup pnpm
uses: pnpm/action-setup@v3
with:
version: 9
run_install: false
- name: Get pnpm Store
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
- name: Setup pnpm Cache
uses: actions/cache@v4
with:
path: ${{ env.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
- name: Install pnpm dependencies
run: pnpm install
rust_wasm_embed:
needs: ['alter', 'deploy']
name: 'Building and pushing updated Rust WASM Embed'
if: needs.alter.outputs.rustwasmembed == 'true'
runs-on: ubuntu-latest
steps:
- name: Rust WASM TrunkSetup
uses: ./.github/actions/kbve-shell
with:
flag: '-nx rust_wasm_embed:trunksetup'
create_pull_request: false
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Rust WASM Embed Trunk Release
uses: ./.github/actions/kbve-shell
with:
flag: '-nx rust_wasm_embed:trunkrelease'
create_pull_request: false
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Rust WASM Embed Pipeline
uses: ./.github/actions/kbve-shell
with:
flag: '-nx rust_wasm_embed:pipe'
create_pull_request: true
github_token: ${{ secrets.GITHUB_TOKEN }}
pull_request_title: 'rust-wasm-herbmail-dist-pipeline'
pull_request_body: 'Rust WASM Embed Distribution for Herbmail.com'
kbve_website_e2e:
needs: ['alter', 'deploy']
name: 'Performing kbve.com e2e'
if: needs.alter.outputs.kbve == 'true'
runs-on: ubuntu-latest
steps:
- name: Checkout the repository using git
uses: actions/checkout@v4
- name: Setup Node v20
uses: actions/setup-node@v4
with:
node-version: 20
- name: Setup pnpm
uses: pnpm/action-setup@v3
with:
version: 9
run_install: false
- name: Install pnpm dependencies
run: pnpm install
- name: Build KBVE.com Website
uses: ./.github/actions/kbve-shell
with:
flag: '-nx kbve.com:build'
create_pull_request: false
github_token: ${{ secrets.GITHUB_TOKEN }}
jedi_package_e2e:
needs: ['alter', 'deploy']
name: 'Performing Jedi package e2e'
if: needs.alter.outputs.jedi == 'true'
runs-on: ubuntu-latest
steps:
- name: Checkout the repository using git
uses: actions/checkout@v4
- name: Setup Node v20
uses: actions/setup-node@v4
with:
node-version: 20
- name: Setup pnpm
uses: pnpm/action-setup@v3
with:
version: 9
run_install: false
- name: Get pnpm Store
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
- name: Setup pnpm Cache
uses: actions/cache@v4
with:
path: ${{ env.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
- name: Install pnpm dependencies
run: pnpm install
- name: Jedi Package Dry Run
uses: ./.github/actions/kbve-shell
with:
flag: '-nx jedi:dry'
create_pull_request: false
github_token: ${{ secrets.GITHUB_TOKEN }}
kbve_rust_package_e2e:
needs: ['alter', 'deploy']
name: 'Performing KBVE Package e2e'
if: needs.alter.outputs.rustkbve == 'true'
runs-on: ubuntu-latest
steps:
- name: Checkout the repository using git
uses: actions/checkout@v4
- name: Setup Node v20
uses: actions/setup-node@v4
with:
node-version: 20
- name: Setup pnpm
uses: pnpm/action-setup@v3
with:
version: 9
run_install: false
- name: Get pnpm Store
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
- name: Setup pnpm Cache
uses: actions/cache@v4
with:
path: ${{ env.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
- name: Install pnpm dependencies
run: pnpm install
- name: KBVE Package Dry Run
uses: ./.github/actions/kbve-shell
with:
flag: '-nx kbve:dry'
create_pull_request: false
github_token: ${{ secrets.GITHUB_TOKEN }}