Skip to content

Commit 8d27fc6

Browse files
committed
chore(ci): implement CI/CD improvements and Go module releases
- Update .changeset/config.json to use 'develop' as base branch - Add new GitHub Actions for setup and workflow optimization - Implement Go module release process - Refactor existing workflows to use new setup actions - Update package.json scripts for better release management
1 parent d50614b commit 8d27fc6

File tree

14 files changed

+238
-76
lines changed

14 files changed

+238
-76
lines changed

.changeset/config.json

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,11 @@
55
"fixed": [],
66
"linked": [],
77
"access": "public",
8-
"baseBranch": "master",
8+
"baseBranch": "develop",
99
"updateInternalDependencies": "patch",
10-
"ignore": []
10+
"ignore": [],
11+
"privatePackages": {
12+
"tag": true,
13+
"version": true
14+
}
1115
}

.github/actions/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Copied and modified from https://github.com/SiaFoundation/web/commit/3d2a152dea9d322dce9206063df74a17e5c45f82
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
name: Setup all
2+
3+
description: Setup all
4+
5+
inputs:
6+
node_version:
7+
description: Node.js version
8+
required: false
9+
default: '20.10.0'
10+
go_version:
11+
description: Go version
12+
required: false
13+
default: '1.23.0'
14+
15+
runs:
16+
using: composite
17+
steps:
18+
- name: Setup Git
19+
uses: ./.github/actions/setup-git
20+
- name: Setup JS
21+
uses: ./.github/actions/setup-js
22+
with:
23+
node_version: ${{ inputs.node_version }}
24+
- name: Setup Go
25+
uses: ./.github/actions/setup-go
26+
with:
27+
go_version: ${{ inputs.go_version }}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
name: Setup Git
2+
3+
description: Setup Git
4+
5+
runs:
6+
using: composite
7+
steps:
8+
- name: git user config
9+
shell: bash
10+
run: |
11+
git config user.name "${GITHUB_ACTOR}"
12+
git config user.email "${GITHUB_ACTOR}@users.noreply.github.com"
13+
- name: Configure git # required for golangci-lint on Windows
14+
shell: bash
15+
run: git config --global core.autocrlf false
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
name: Setup Go
2+
3+
description: Setup Go environment and dependencies
4+
5+
inputs:
6+
go_version:
7+
description: Go version
8+
required: false
9+
default: '1.23.0'
10+
11+
runs:
12+
using: composite
13+
steps:
14+
- uses: actions/setup-go@v4
15+
with:
16+
go-version: ${{ inputs.go_version }}
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
name: Setup JS
2+
3+
description: Setup JS environment and dependencies
4+
5+
inputs:
6+
node_version:
7+
description: Node.js version
8+
required: false
9+
default: '20.10.0'
10+
11+
runs:
12+
using: composite
13+
steps:
14+
- name: Setup Node.js
15+
uses: actions/setup-node@v4
16+
with:
17+
node-version: ${{ inputs.node_version }}
18+
registry-url: https://registry.npmjs.org
19+
- uses: pnpm/action-setup@v3
20+
name: Install pnpm
21+
with:
22+
run_install: false
23+
version: 9.11.0
24+
- name: Get pnpm store directory
25+
shell: bash
26+
run: |
27+
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
28+
- uses: actions/cache@v3
29+
name: Setup pnpm cache
30+
with:
31+
path: ${{ env.STORE_PATH }}
32+
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
33+
restore-keys: |
34+
${{ runner.os }}-pnpm-store-
35+
- name: Install dependencies
36+
run: pnpm install
37+
shell: bash

.github/workflows/build.yml

Lines changed: 5 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -12,31 +12,14 @@ jobs:
1212
name: Build
1313
runs-on: ubuntu-latest
1414
steps:
15-
- name: Checkout Repo
15+
- name: Checkout all commits
1616
uses: actions/checkout@v4
1717
with:
1818
fetch-depth: 0
19-
- name: Setup Node.js 20.x
20-
uses: actions/setup-node@v4
19+
- name: Setup
20+
uses: ./.github/actions/setup-all
2121
with:
22-
node-version: 20.x
23-
- uses: pnpm/action-setup@v3
24-
name: Install pnpm
25-
with:
26-
run_install: false
27-
version: 9.11.0
28-
- name: Get pnpm store directory
29-
shell: bash
30-
run: |
31-
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
32-
- uses: actions/cache@v3
33-
name: Setup pnpm cache
34-
with:
35-
path: ${{ env.STORE_PATH }}
36-
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
37-
restore-keys: |
38-
${{ runner.os }}-pnpm-store-
39-
- name: Install dependencies
40-
run: pnpm install
22+
node_version: 20.10.0
23+
go_version: 1.23.0
4124
- name: Build
4225
run: pnpm build

.github/workflows/deploy-docs.lumeweb.com.yml

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -27,18 +27,11 @@ jobs:
2727
steps:
2828
- name: Checkout Repo
2929
uses: actions/checkout@v4
30-
- name: Setup PNPM
31-
uses: pnpm/action-setup@v3
32-
- name: Setup Node.js 20.x
33-
uses: actions/setup-node@v4
30+
- name: Setup
31+
uses: ./.github/actions/setup-all
3432
with:
35-
node-version: 20.x
36-
cache: 'pnpm'
37-
- name: Install Dependencies
38-
uses: pnpm/action-setup@v3
39-
with:
40-
run_install: true
41-
version: 9.11.0
33+
node_version: 20.10.0
34+
go_version: 1.23.0
4235
- name: Build
4336
run: pnpm build:docs.lumeweb.com
4437
- name: Publish to Cloudflare Pages

.github/workflows/deploy-lumeweb.com.yml

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -27,18 +27,11 @@ jobs:
2727
steps:
2828
- name: Checkout Repo
2929
uses: actions/checkout@v4
30-
- name: Setup PNPM
31-
uses: pnpm/action-setup@v3
32-
- name: Setup Node.js 20.x
33-
uses: actions/setup-node@v4
30+
- name: Setup
31+
uses: ./.github/actions/setup-all
3432
with:
35-
node-version: 20.x
36-
cache: 'pnpm'
37-
- name: Install Dependencies
38-
uses: pnpm/action-setup@v3
39-
with:
40-
run_install: true
41-
version: 9.11.0
33+
node_version: 20.10.0
34+
go_version: 1.23.0
4235
- name: Build
4336
run: pnpm build:lumeweb.com
4437
- name: Publish to Cloudflare Pages

.github/workflows/deploy-portal-dashboard.yml

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -27,26 +27,19 @@ jobs:
2727
steps:
2828
- name: Checkout Repo
2929
uses: actions/checkout@v4
30-
- name: Setup PNPM
31-
uses: pnpm/action-setup@v3
32-
- name: Setup Node.js 20.x
33-
uses: actions/setup-node@v4
30+
- name: Setup
31+
uses: ./.github/actions/setup-all
3432
with:
35-
node-version: 20.x
36-
cache: 'pnpm'
37-
- name: Install Dependencies
38-
uses: pnpm/action-setup@v3
39-
with:
40-
run_install: true
41-
version: 9.11.0
33+
node_version: 20.10.0
34+
go_version: 1.23.0
4235
- name: Make envfile
4336
uses: SpicyPizza/create-envfile@v2.0
4437
with:
4538
envkey_VITE_PORTAL_DOMAIN: ${{ vars.TESTING_PORTAL_DOMAIN }}
4639
envkey_NODE_ENV: development
4740
directory: apps/portal-dashboard
4841
- name: Build
49-
run: pnpm build-dev:portal-dashboard
42+
run: pnpm build:portal-dashboard
5043
- name: Publish to Cloudflare Pages
5144
id: deploy_cf
5245
uses: cloudflare/pages-action@v1

0 commit comments

Comments
 (0)